Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan IAM dengan tabel global
penting
Dokumentasi ini ditujukan untuk versi 2017.11.29 (Lama) tabel global, yang tidak boleh digunakan untuk tabel global baru. Pelanggan harus menggunakan Tabel Global versi 2019.11.21 (Saat Ini) jika memungkinkan, karena memberikan fleksibilitas yang lebih besar, efisiensi yang lebih tinggi, dan mengkonsumsi kapasitas tulis yang lebih sedikit daripada 2017.11.29 (Legacy).
Untuk menentukan versi mana yang sedang Anda gunakan, lihat Menentukan versi tabel global DynamoDB yang Anda gunakan. Untuk memperbarui tabel global yang ada dari versi 2017.11.29 (Lama) ke versi 2019.11.21 (Terbaru), lihat Meningkatkan tabel global.
Ketika Anda membuat tabel global untuk pertama kalinya, Amazon DynamoDB otomatis membuat peran tertaut layanan AWS Identity and Access Management (IAM) untuk Anda. Peran ini bernama AWSServiceRoleForDynamoDBReplication
Untuk informasi selengkapnya tentang peran tertaut layanan, lihat Menggunakan peran tertaut layanan di Panduan Pengguna IAM.
Untuk membuat dan memelihara tabel global di DynamoDB, Anda harus memiliki izin dynamodb:CreateGlobalTable
untuk mengakses berikut ini:
-
Tabel replika yang ingin Anda tambahkan.
-
Setiap replika yang ada yang sudah menjadi bagian dari tabel global.
-
Tabel global itu sendiri.
Untuk memperbarui pengaturan (UpdateGlobalTableSettings
) tabel global di DynamoDB, Anda harus memiliki izin dynamodb:UpdateGlobalTable
, dynamodb:DescribeLimits
, application-autoscaling:DeleteScalingPolicy
, dan application-autoscaling:DeregisterScalableTarget
.
Izin application-autoscaling:DeleteScalingPolicy
dan application-autoscaling:DeregisterScalableTarget
diperlukan saat memperbarui kebijakan penskalaan yang ada. Hal ini agar layanan tabel global dapat menghapus kebijakan penskalaan lama sebelum melampirkan kebijakan baru ke tabel atau indeks sekunder.
Jika menggunakan kebijakan IAM untuk mengelola akses ke satu tabel replika, Anda harus menerapkan kebijakan yang identik pada semua replika lain dalam tabel global. Praktik ini membantu Anda mempertahankan model izin yang konsisten di semua tabel replika.
Dengan menggunakan kebijakan IAM yang identik pada semua replika dalam tabel global, Anda juga dapat menghindari pemberian akses baca dan tulis yang tidak diinginkan ke data tabel global Anda. Misalnya, pertimbangkan pengguna yang hanya memiliki akses ke satu replika dalam tabel global. Jika pengguna tersebut dapat menulis ke replika ini, DynamoDB menyebarkan aktivitas tulis ini ke semua tabel replika lainnya. Akibatnya, pengguna tersebut (secara tidak langsung) dapat menulis ke semua replika lain dalam tabel global. Skenario ini dapat dihindari dengan menggunakan kebijakan IAM yang konsisten pada semua tabel replika.
Contoh: Izinkan CreateGlobalTable tindakan
Sebelum dapat menambahkan replika ke tabel global, Anda harus memiliki izin dynamodb:CreateGlobalTable
untuk tabel global dan untuk masing-masing tabel replikanya.
Kebijakan IAM berikut memberikan izin untuk memungkinkan tindakan CreateGlobalTable
pada semua tabel.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:CreateGlobalTable"], "Resource": "*" } ] }
Contoh: Izinkan UpdateGlobalTable,, application-autoscaling: DescribeLimits, dan application-autoscaling: actions DeleteScalingPolicy DeregisterScalableTarget
Untuk memperbarui pengaturan (UpdateGlobalTableSettings
) tabel global di DynamoDB, Anda harus memiliki izin dynamodb:UpdateGlobalTable
, dynamodb:DescribeLimits
, application-autoscaling:DeleteScalingPolicy
, dan application-autoscaling:DeregisterScalableTarget
.
Kebijakan IAM berikut memberikan izin untuk memungkinkan tindakan UpdateGlobalTableSettings
pada semua tabel.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:UpdateGlobalTable", "dynamodb:DescribeLimits", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeregisterScalableTarget" ], "Resource": "*" } ] }
Contoh: Izinkan CreateGlobalTable tindakan untuk nama tabel global tertentu dengan replika yang diizinkan di wilayah tertentu saja
Kebijakan IAM berikut memberikan izin untuk memungkinkan tindakan CreateGlobalTable
membuat tabel global bernama Customers
dengan replika di dua Wilayah.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:CreateGlobalTable", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Customers", "arn:aws:dynamodb:us-east-1:123456789012:table/Customers", "arn:aws:dynamodb:us-west-1:123456789012:table/Customers" ] } ] }