DynamoDB 리소스 기반 정책 고려 사항
DynamoDB 리소스의 리소스 기반 정책을 정의할 때는 다음 사항을 고려해야 합니다.
일반적인 고려 사항
-
리소스 기반 정책 문서에 지원되는 최대 크기는 20KB입니다. DynamoDB는 이 한도를 기준으로 정책의 크기를 계산할 때 공백을 계산합니다.
-
주어진 리소스에 대한 정책의 후속 업데이트는 동일한 리소스에 대한 정책이 성공적으로 업데이트된 후 15초 동안 차단됩니다.
-
현재는 기존 스트림에만 리소스 기반 정책을 연결할 수 있습니다. 스트림을 생성하는 동안에는 정책을 스트림에 연결할 수 없습니다.
글로벌 테이블 고려 사항
-
리소스 기반 정책은 글로벌 테이블 버전 2017.11.29(레거시) 복제본에 지원되지 않습니다.
-
리소스 기반 정책 내에서 글로벌 테이블의 데이터를 복제하기 위한 DynamoDB 서비스 연결 역할(SLR)에 대한 작업이 거부되면 복제본 추가 또는 삭제가 실패하고 오류가 발생합니다.
-
AWS::DynamoDB::GlobalTable 리소스는 스택 업데이트를 배포하는 리전 이외의 리전에서 동일한 스택 업데이트에서 복제본을 생성하고 해당 복제본에 리소스 기반 정책을 추가하는 것을 지원하지 않습니다.
크로스 계정 고려 사항
-
리소스 기반 정책을 사용하는 크로스 계정 액세스는 AWS 관리형 KMS 정책에 크로스 계정 액세스 권한을 부여할 수 없기 때문에 AWS 관리형 키를 사용한 암호화된 테이블을 지원하지 않습니다.
AWS CloudFormation 고려 사항
-
리소스 기반 정책은 드리프트 감지를 지원하지 않습니다. AWS CloudFormation 스택 템플릿 외부에서 리소스 기반 정책을 업데이트하는 경우 CloudFormation 스택에 변경 사항을 업데이트해야 합니다.
-
리소스 기반 정책은 대역 외 변경을 지원하지 않습니다. CloudFormation 템플릿 외부에서 정책을 추가, 업데이트 또는 삭제하는 경우 템플릿 내에 정책이 변경되지 않으면 변경 내용을 덮어쓰지 않습니다.
예를 들어 템플릿에 리소스 기반 정책이 포함되어 있으며 나중에 템플릿 외부에서 업데이트한다고 가정해 보겠습니다. 템플릿 내에서 정책을 변경하지 않으면 DynamoDB의 업데이트된 정책이 템플릿 내의 정책과 동기화되지 않습니다.
반대로 템플릿에 리소스 기반 정책이 포함되어 있지 않지만 템플릿 외부에서 정책을 추가한다고 가정해 보겠습니다. 이 정책은 템플릿에 추가하지 않는 한 DynamoDB에서 제거되지 않습니다. 템플릿에 정책을 추가하고 스택을 업데이트하면 DynamoDB의 기존 정책이 템플릿에 정의된 것과 일치하도록 업데이트됩니다.