翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS::DynamoDB::Table ResourcePolicy
テーブル、インデックス、ストリームなどのリソースのアクセス許可を含む DynamoDB リソースベースのポリシードキュメントを作成または更新します。リソースベースのポリシーでは、各リソースにアクセスできるユーザーと、各リソースで実行できるアクションを指定することで、アクセス許可を定義できます。
テンプレートでは CloudFormation 、ポリシーを JSON または YAML 形式で指定できます。 は YAML を に送信する前に JSON CloudFormation に変換します DynamoDB。リソースベースのポリシーの詳細については、「 のリソースベースのポリシーの使用 DynamoDB」および「リソースベースのポリシーの例」を参照してください。
CloudFormation テンプレートでリソースベースのポリシーを定義する際には、次の考慮事項が適用されます。
-
JSON 形式のリソースベースのポリシードキュメントでサポートされる最大サイズは、この制限に対するポリシーのサイズを計算するときに 20 KB. DynamoDB counts 空白です。
-
リソースベースのポリシーは、ドリフト検出 をサポートしていません。 CloudFormation スタックテンプレートの外部でポリシーを更新する場合は、変更を加えて CloudFormation スタックを更新する必要があります。
-
リソースベースのポリシーは out-of-band 変更をサポートしていません。 CloudFormation テンプレート外のポリシーを追加、更新、または削除しても、テンプレート内のポリシーに変更がない場合、変更は上書きされません。
例えば、テンプレートにリソースベースのポリシーが含まれているとします。このポリシーは、後でテンプレートの外部で更新します。テンプレート内のポリシーを変更しない場合、 で更新されたポリシーはテンプレート内のポリシーと同期 DynamoDB されません。
逆に、テンプレートにリソースベースのポリシーが含まれていないが、テンプレートの外部にポリシーを追加するとします。このポリシーは、テンプレートに追加 DynamoDB しない限り、 から削除されません。テンプレートにポリシーを追加してスタックを更新すると、 の既存のポリシー DynamoDB がテンプレートで定義されているポリシーと一致するように更新されます。
すべての考慮事項の完全なリストについては、「リソースベースのポリシーに関する考慮事項」を参照してください。
Syntax
AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。
JSON
{ "PolicyDocument" :
Json
}
YAML
PolicyDocument:
Json
プロパティ
PolicyDocument
-
指定された DynamoDB テーブル、インデックス、またはその両方に追加するアクセス許可を含むリソースベースのポリシードキュメント。テンプレートでは CloudFormation 、ポリシーを JSON または YAML 形式で指定できます。 は YAML を に送信する前に JSON CloudFormation に変換します DynamoDB。リソースベースのポリシーの詳細については、「 のリソースベースのポリシーの使用 DynamoDB」および「リソースベースのポリシーの例」を参照してください。
必須: はい
型: Json
アップデートに関する要件: 中断はありません
例
リソースベースのポリシーを DynamoDB テーブルとそのストリームにアタッチする
次の CloudFormation テンプレートは、 という名前のテーブルMusicCollectionTable
を作成し、このテーブルにリソースベースのポリシーをアタッチします。このポリシーにより、ユーザーはテーブルに対して GetItemオペレーションfoobar
を実行できます。さらに、次のテンプレートはストリームを有効にし、リソースベースのポリシーをストリームにアタッチします。ストリームのリソースベースのポリシーにより、ユーザーはストリームに対して GetRecords、GetShardIterator、および DescribeStreamオペレーションfoobar
を実行できます。
重要
CloudFormation テンプレート内でストリームを有効にし、ストリームのポリシーも定義する場合、ポリシーはストリームが有効になった後、スタックの更新が完了する前にのみストリームにアタッチされます。
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MusicCollectionTable": { "Type": "AWS::DynamoDB::Table", "Properties": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" } ], "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" } ], "BillingMode": "PROVISIONED", "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "StreamSpecification": { "StreamViewType": "OLD_IMAGE", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": "arn:aws:iam::111122223333:user/foobar" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" } ] } } }, "TableName": "MusicCollection", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/foobar" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" } ] } } } } } }