AWS Lambda: Lambda 함수가 Amazon DynamoDB 테이블에 접근하게 허용하기

AWS Lambda: Lambda 함수가 Amazon DynamoDB 테이블에 접근하게 허용하기

이 예시는 특정 Amazon DynamoDB 테이블에 읽기 및 쓰기 액세스를 허용하는 자격 증명 기반 정책을 만드는 방법을 보여드려요. 이 정책은 CloudWatch Logs에 로그 파일을 쓰는 것도 허용해요.

출처: 문서

본문

예시 정책에서 이탤릭체로 표시된 자리표시자 텍스트를 본인 정보로 바꾼 뒤, create a policy 또는 edit a policy의 지침을 따라 적용하면 돼요.

이 정책을 사용하려면 Lambda 서비스 역할에 정책을 연결하세요. 서비스 역할(service role)은 서비스가 사용자를 대신해 작업을 수행하도록 계정에 만드는 역할이에요. 그 서비스 역할의 신뢰 정책에 AWS Lambda를 프린시펄로 포함해야 해요. 이 정책을 사용하는 방법에 대한 상세 내용은 AWS Security Blog의 How to Create an AWS IAM Policy to Grant AWS Lambda Access to an Amazon DynamoDB Table 문서를 참고하세요.

{
    "Version":"2012-10-17",
    "Statement": [
        {
            "Sid": "ReadWriteTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGetItem",
                "dynamodb:GetItem",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWriteItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem"
            ],
            "Resource": "arn:aws:dynamodb:*:*:table/SampleTable"
        },
        {
            "Sid": "GetStreamRecords",
            "Effect": "Allow",
            "Action": "dynamodb:GetRecords",
            "Resource": "arn:aws:dynamodb:*:*:table/SampleTable/stream/* "
        },
        {
            "Sid": "WriteLogStreamsAndGroups",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreateLogGroup",
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "*"
        }
    ]
}

더 알아보기 (Learn more)