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": "*"
}
]
}