AWS::DynamoDB::GlobalTable ResourcePolicy - AWS CloudFormation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS::DynamoDB::GlobalTable 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 template, Anda dapat memberikan kebijakan dalam format JSON atau YAMAL karena CloudFormation mengonversi YAMB ke JSON sebelum mengirimkannya ke. 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 format JSON 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.

  • Dalam kebijakan berbasis sumber daya, jika tindakan untuk peran DynamoDB terkait layanan (SLR) untuk mereplikasi data untuk tabel global ditolak, menambahkan atau menghapus replika akan gagal dengan kesalahan.

  • GlobalTableSumber daya AWS: :DynamoDB:: tidak mendukung pembuatan replika dalam pembaruan tumpukan yang sama di Wilayah selain Wilayah tempat Anda menerapkan pembaruan tumpukan.

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 tertentu, indeksnya, dan aliran. Dalam CloudFormation template, Anda dapat memberikan kebijakan dalam format JSON atau YAMAL karena CloudFormation mengonversi YAMB ke JSON sebelum mengirimkannya ke. 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-contoh

Melampirkan kebijakan berbasis sumber daya ke DynamoDB tabel yang dibuat menggunakan sumber daya. AWS::DynamoDB::GlobalTable

CloudFormation Template berikut membuat tabel dengan sumber daya AWS: :DynamoDB:: dan melampirkan kebijakan berbasis GlobalTable sumber daya ke tabel dan alirannya. 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": { "GlobalMusicCollection": { "Type": "AWS::DynamoDB::GlobalTable", "Properties": { "TableName": "MusicCollection", "AttributeDefinitions": [{ "AttributeName": "Artist", "AttributeType": "S" }], "KeySchema": [{ "AttributeName": "Artist", "KeyType": "HASH" }], "BillingMode": "PAY_PER_REQUEST", "StreamSpecification": { "StreamViewType": "NEW_AND_OLD_IMAGES" }, "Replicas": [ { "Region": "us-east-1", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/foobar" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" }] } }, "ReplicaStreamSpecification": { "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": "*" }] } } } } ] } } } }