リソースベースのポリシーの考慮事項 - Amazon DynamoDB

リソースベースのポリシーの考慮事項

DynamoDB リソースに対してリソースベースのポリシーを定義する際には、以下の点を考慮してください。

一般的な考慮事項

  • リソースベースのポリシードキュメントでサポートされる最大サイズは 20 KB です。DynamoDB では、この上限に照らしてポリシーのサイズを計算する際に空白はカウントされません。

  • 特定のリソースのポリシーの更新が 2 回目以降の場合、同じリソースに対するそのポリシーの前回の更新が正常に終わってから 15 秒間は更新できません。

  • 現時点では、リソースベースのポリシーは既存のストリームにのみアタッチできます。作成中のストリームにポリシーをアタッチすることはできません。

グローバルテーブルに関する考慮事項

  • リソースベースのポリシーは、グローバルテーブルバージョン 2017.11.29 (レガシー) のレプリカではサポートされていません。

  • リソースベースのポリシー内で、グローバルテーブルのデータをレプリケートするアクションが DynamoDB のサービスにリンクされたロール (SLR) に対して拒否されている場合、レプリカの追加または削除はエラーで失敗します。

  • AWS::DynamoDB::GlobalTable リソースでは、スタックの更新を行うリージョン以外のリージョンでは、スタックの更新時にレプリカの作成と、そのレプリカへのリソースベースのポリシーの追加を同時に行うことはできません。

クロスアカウントに関する考慮事項

  • リソースベースのポリシーを使用したクロスアカウントアクセスでは、AWS マネージドキーで暗号化したテーブルはサポートされません。AWS KMS のマネージドポリシーへのクロスアカウントアクセスは許可できないからです。

AWS CloudFormation に関する考慮事項

  • リソースベースのポリシーはドリフト検出には対応していません。AWS CloudFormation スタックテンプレートの外部でリソースベースのポリシーを更新した場合は、CloudFormation スタックに変更内容を反映させる必要があります。

  • リソースベースのポリシーは、アウトオブバンドの変更に対応していません。CloudFormation テンプレートの外部でポリシーを追加、更新、または削除しても、テンプレート内のポリシーに変更がない限り、変更は上書きされません。

    例えば、テンプレートに含まれているリソースベースのポリシーを、後からテンプレートの外部で更新したとします。テンプレート内のポリシーを変更しない限り、DynamoDB 内の更新済みポリシーはテンプレート内のポリシーと同期されません。

    逆に、テンプレートにリソースベースのポリシーは含まれていないが、テンプレートの外部でポリシーを追加したとします。このポリシーは、テンプレートに追加しない限りは、DynamoDB から削除されることはありません。テンプレートにポリシーを追加してスタックを更新すると、DynamoDB の既存のポリシーが、テンプレートで定義されているポリシーと一致するように更新されます。