DynamoDB용 PartiQL을 사용하는 IAM 보안 정책 - Amazon DynamoDB

DynamoDB용 PartiQL을 사용하는 IAM 보안 정책

다음 권한이 필요합니다.

  • DynamoDB용 PartiQL을 사용하여 항목을 읽으려면 테이블 또는 인덱스에 대한 dynamodb:PartiQLSelect 권한이 있어야 합니다.

  • DynamoDB용 PartiQL을 사용하여 항목을 삽입하려면 테이블 또는 인덱스에 대한 dynamodb:PartiQLInsert 권한이 있어야 합니다.

  • DynamoDB용 PartiQL을 사용하여 항목을 업데이트하려면 테이블 또는 인덱스에 대한 dynamodb:PartiQLUpdate 권한이 있어야 합니다.

  • DynamoDB용 PartiQL을 사용하여 항목을 삭제하려면 테이블 또는 인덱스에 대한 dynamodb:PartiQLDelete 권한이 있어야 합니다.

예: 테이블에서 모든 DynamoDB용 PartiQL 문(Select/Insert/Update/Delete) 허용

다음 IAM 정책은 테이블에서 모든 DynamoDB용 PartiQL 문을 실행할 수 있는 권한을 부여합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

예: 테이블에서 DynamoDB용 PartiQL select 문 허용

다음 IAM 정책은 특정 테이블에서 select 문을 실행할 수 있는 권한을 부여합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

예: 테이블에서 DynamoDB용 PartiQL insert 문 허용

다음 IAM 정책은 특정 인덱스에서 insert 문을 실행할 수 있는 권한을 부여합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music/index/index1" ] } ] }

예: 테이블에서 DynamoDB용 PartiQL 트랜잭션 문만 허용

다음 IAM 정책은 특정 테이블에서 트래잭션 문만 실행할 수 있는 권한을 부여합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ], "Condition":{ "StringEquals":{ "dynamodb:EnclosingOperation":[ "ExecuteTransaction" ] } } } ] }

예: 테이블에서 DynamoDB용 PartiQL 비트랜잭션 읽기 및 쓰기는 허용하고 PartiQL 트랜잭션 읽기 및 쓰기는 차단

다음 IAM 정책은 DynamoDB용 PartiQL 비트랜잭션 읽기 및 쓰기를 실행할 권한은 부여하고 DynamoDB용 PartiQL 트랜잭션 읽기 및 쓰기는 차단합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ], "Condition":{ "StringEquals":{ "dynamodb:EnclosingOperation":[ "ExecuteTransaction" ] } } }, { "Effect":"Allow", "Action":[ "dynamodb:PartiQLInsert", "dynamodb:PartiQLUpdate", "dynamodb:PartiQLDelete", "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/Music" ] } ] }

예: DynamoDB용 PartiQL에서 select 문은 허용하고 전체 테이블 스캔 문은 거부

다음 IAM 정책은 특정 테이블에서 select 문을 실행할 수 있는 권한은 부여하고 전체 테이블이 스캔되는 select 문은 차단합니다.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList" ], "Condition":{ "Bool":{ "dynamodb:FullTableScan":[ "true" ] } } }, { "Effect":"Allow", "Action":[ "dynamodb:PartiQLSelect" ], "Resource":[ "arn:aws:dynamodb:us-west-2:123456789012:table/WatchList" ] } ] }