Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS::DynamoDB::Table ResourcePolicy
Membuat atau memperbarui dokumen kebijakan berbasis sumber daya yang berisi izin untuk DynamoDB sumber daya, seperti tabel, indeksnya, dan aliran. Kebijakan berbasis sumber daya memungkinkan Anda menentukan izin akses dengan menentukan siapa yang memiliki akses ke setiap sumber daya, dan tindakan yang diizinkan untuk dilakukan pada setiap sumber daya.
Dalam CloudFormation templat, Anda dapat memberikan kebijakan dalam JSON atau YAML format karena CloudFormation mengonversi YAML ke JSON sebelum mengirimkannya. DynamoDBUntuk informasi selengkapnya tentang kebijakan berbasis sumber daya, lihat Menggunakan kebijakan berbasis sumber daya untuk dan contoh kebijakan berbasis sumber daya. DynamoDB
Saat menentukan kebijakan berbasis sumber daya di CloudFormation templat Anda, pertimbangan berikut berlaku:
-
Ukuran maksimum yang didukung untuk dokumen kebijakan berbasis sumber daya dalam JSON format adalah 20 KB. DynamoDB menghitung spasi putih saat menghitung ukuran kebijakan terhadap batas ini.
-
Kebijakan berbasis sumber daya tidak mendukung deteksi drift. Jika Anda memperbarui kebijakan di luar template CloudFormation tumpukan, Anda harus memperbarui CloudFormation tumpukan dengan perubahan.
-
Kebijakan berbasis sumber daya tidak mendukung perubahan. out-of-band Jika Anda menambahkan, memperbarui, atau menghapus kebijakan di luar CloudFormation templat, perubahan tidak akan ditimpa jika tidak ada perubahan pada kebijakan di dalam templat.
Misalnya, katakan bahwa template Anda berisi kebijakan berbasis sumber daya, yang kemudian Anda perbarui di luar templat. Jika Anda tidak membuat perubahan apa pun pada kebijakan di templat, kebijakan yang diperbarui tidak DynamoDB akan disinkronkan dengan kebijakan di templat.
Sebaliknya, katakan bahwa template Anda tidak berisi kebijakan berbasis sumber daya, tetapi Anda menambahkan kebijakan di luar templat. Kebijakan ini tidak akan dihapus DynamoDB selama Anda tidak menambahkannya ke template. Saat Anda menambahkan kebijakan ke templat dan memperbarui tumpukan, kebijakan yang ada DynamoDB akan diperbarui agar sesuai dengan yang ditentukan dalam templat.
Untuk daftar lengkap semua pertimbangan, lihat Pertimbangan kebijakan berbasis sumber daya.
Sintaks
Untuk mendeklarasikan entitas ini di AWS CloudFormation template Anda, gunakan sintaks berikut:
JSON
{ "PolicyDocument" :
Json
}
YAML
PolicyDocument:
Json
Properti
PolicyDocument
-
Dokumen kebijakan berbasis sumber daya yang berisi izin untuk ditambahkan ke DynamoDB tabel, indeks, atau keduanya yang ditentukan. Dalam CloudFormation templat, Anda dapat memberikan kebijakan dalam JSON atau YAML format karena CloudFormation mengonversi YAML ke JSON sebelum mengirimkannya. DynamoDBUntuk informasi selengkapnya tentang kebijakan berbasis sumber daya, lihat Menggunakan kebijakan berbasis sumber daya untuk dan contoh kebijakan berbasis sumber daya. DynamoDB
Wajib: Ya
Jenis: Json
Pembaruan membutuhkan: Tidak ada gangguan
Contoh
Melampirkan kebijakan berbasis sumber daya ke tabel dan alirannya DynamoDB
CloudFormation Template berikut membuat tabel bernama MusicCollectionTable
dan melampirkan kebijakan berbasis sumber daya ke tabel ini. Kebijakan ini memungkinkan pengguna foobar
untuk melakukan GetItemoperasi di atas meja. Selain itu, template berikut memungkinkan aliran dan kemudian melampirkan kebijakan berbasis sumber daya ke aliran. Kebijakan berbasis sumber daya untuk aliran memungkinkan pengguna foobar
untuk melakukan GetRecords, GetShardIterator, dan DescribeStreamoperasi di aliran.
penting
Jika Anda mengaktifkan aliran dalam CloudFormation templat dan juga menentukan kebijakan untuk aliran, kebijakan akan dilampirkan ke aliran hanya setelah aliran diaktifkan, tetapi sebelum pembaruan tumpukan selesai.
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": "*" } ] } } } } } }