Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh kebijakan berbasis sumber daya DynamoDB
Bila Anda menentukan ARN di Resource bidang kebijakan berbasis sumber daya, kebijakan akan berlaku hanya jika ARN yang ditentukan cocok dengan ARN sumber daya DynamoDB yang dilampirkan.
catatan
Ingatlah untuk mengganti italicized teks dengan informasi spesifik sumber daya Anda.
Resource-based kebijakan untuk sebuah tabel
Kebijakan berbasis sumber daya berikut yang dilampirkan ke tabel DynamoDB bernamaMusicCollection, memberikan pengguna IAM John dan Jane izin untuk melakukan GetItem dan BatchGetItem melakukan tindakan pada sumber daya. MusicCollection
Resource-based kebijakan untuk aliran
Kebijakan berbasis sumber daya berikut yang dilampirkan ke aliran DynamoDB bernama 2024-02-12T18:57:26.492 memberikan pengguna IAM John dan Jane izin untuk melakukan GetRecords, GetShardIterator, dan tindakan DescribeStream API pada sumber daya. 2024-02-12T18:57:26.492
Resource-based kebijakan untuk akses untuk melakukan semua tindakan pada sumber daya tertentu
Untuk mengizinkan pengguna melakukan semua tindakan pada tabel dan semua indeks terkait dengan tabel, Anda dapat menggunakan wildcard (*) untuk mewakili tindakan dan sumber daya yang terkait dengan tabel. Menggunakan karakter wild card untuk sumber daya, akan memungkinkan pengguna mengakses tabel DynamoDB dan semua indeks terkait, termasuk yang belum dibuat. Misalnya, kebijakan berikut akan memberi pengguna John izin untuk melakukan tindakan apa pun pada MusicCollection tabel dan semua indeksnya, termasuk indeks apa pun yang akan dibuat di masa mendatang.
Resource-based kebijakan untuk akses lintas akun
Anda dapat menentukan izin untuk identitas IAM lintas akun untuk mengakses sumber daya DynamoDB. Misalnya, Anda mungkin memerlukan pengguna dari akun tepercaya untuk mendapatkan akses untuk membaca konten tabel Anda, dengan syarat bahwa mereka hanya mengakses item tertentu dan atribut tertentu dalam item tersebut. Kebijakan berikut memungkinkan akses ke pengguna John dari Akun AWS ID tepercaya 111111111111 untuk mengakses data dari tabel di akun 123456789012 dengan menggunakan GetItem API. Kebijakan ini memastikan bahwa pengguna hanya dapat mengakses item dengan kunci utama Jane dan bahwa pengguna hanya dapat mengambil atribut Artist danSongTitle, tetapi tidak ada atribut lainnya.
penting
Jika Anda tidak menentukan SPECIFIC_ATTRIBUTES kondisi, Anda akan melihat semua atribut untuk item yang dikembalikan.
Selain kebijakan berbasis sumber daya sebelumnya, kebijakan berbasis identitas yang dilampirkan ke pengguna John juga perlu mengizinkan tindakan GetItem API agar akses lintas akun berfungsi. Berikut ini adalah contoh kebijakan berbasis identitas yang harus Anda lampirkan ke pengguna. John
Pengguna John dapat membuat GetItem permintaan dengan menentukan tabel ARN dalam table-name parameter untuk mengakses tabel MusicCollection di akun123456789012.
aws dynamodb get-item \ --table-name arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --key '{"Artist": {"S": "Jane"}' \ --projection-expression 'Artist, SongTitle' \ --return-consumed-capacity TOTAL
Resource-based kebijakan dengan kondisi alamat IP
Anda dapat menerapkan kondisi untuk membatasi alamat IP sumber, awan pribadi virtual (VPC), dan titik akhir VPC (VPCE). Anda dapat menentukan izin berdasarkan alamat sumber permintaan asal. Misalnya, Anda mungkin ingin mengizinkan pengguna mengakses sumber daya DynamoDB hanya jika mereka diakses dari sumber IP tertentu, seperti titik akhir VPN perusahaan. Tentukan alamat IP ini dalam Condition pernyataan.
Contoh berikut memungkinkan pengguna John mengakses sumber daya DynamoDB apa pun ketika IP sumber adalah 54.240.143.0/24 dan. 2001:DB8:1234:5678::/64
Anda juga dapat menolak semua akses ke sumber daya DynamoDB kecuali jika sumbernya adalah titik akhir VPC tertentu, misalnya. vpce-1a2b3c4d
penting
Kebijakan berbasis sumber daya yang hanya berisi Deny pernyataan dengan menolak akses "Principal": "*" ke setiap prinsipal, termasuk kemampuan Anda sendiri untuk memperbarui atau menghapus kebijakan nanti. Jika Anda melampirkan kebijakan yang akan mengunci Anda dengan cara ini, DynamoDB menolaknya dengan kesalahan berikut: Kebijakan sumber daya baru tidak akan mengizinkan Anda memperbarui kebijakan sumber daya di masa mendatang. Menambahkan Allow pernyataan terpisah tidak menyelesaikan ini, karena eksplisit Deny selalu menggantikan anAllow. Untuk menolak akses ke semua orang kecuali titik akhir VPC tertentu sambil mempertahankan kemampuan untuk mengelola kebijakan, bebaskan prinsipal pengelola dari Deny pernyataan dengan menambahkan ArnNotEquals kondisi aktifaws:PrincipalArn, seperti yang ditunjukkan pada contoh berikut.
penting
Bila Anda menggunakan DAX dengan tabel DynamoDB yang memiliki kebijakan IP-based sumber daya di IPv6-only lingkungan, Anda harus mengonfigurasi aturan akses tambahan. Jika kebijakan sumber daya membatasi akses ke ruang alamat IPv4 0.0.0.0/0 pada tabel, Anda harus mengizinkan akses untuk peran IAM yang terkait dengan cluster DAX Anda. Tambahkan ArnNotEquals kondisi ke kebijakan Anda untuk memastikan DAX mempertahankan akses ke tabel DynamoDB Anda. Untuk informasi lebih lanjut lihat, DAX dan IP v6.
Resource-based kebijakan menggunakan peran IAM
Anda juga dapat menentukan peran layanan IAM dalam kebijakan berbasis sumber daya. Entitas IAM yang mengambil peran ini dibatasi oleh tindakan yang diizinkan yang ditentukan untuk peran dan untuk kumpulan sumber daya tertentu dalam kebijakan berbasis sumber daya.
Contoh berikut memungkinkan entitas IAM untuk melakukan semua tindakan DynamoDB pada sumber daya MusicCollection dan MusicCollection DynamoDB.