Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
DynamoDB tabel global keamanan
Replika tabel global adalah tabel DynamoDB, sehingga Anda menggunakan metode yang sama untuk mengontrol akses ke replika yang Anda lakukan untuk tabel wilayah tunggal, AWS termasuk kebijakan identitas Identity and Access Management (IAM) and Access Management (IAM) dan kebijakan berbasis sumber daya.
Bagaimana tabel global menggunakan AWS IAM
Peran terkait layanan replikasi
Saat Anda membuat tabel global untuk pertama kalinya, Amazon DynamoDB secara otomatis membuat AWS peran terkait layanan (SLR) Identity and Access Management (IAM) and Access Management (IAM). SLR diberi nama AWSServiceRoleForDynamoDBReplication
Saat menerapkan kebijakan berbasis sumber daya ke replika, pastikan Anda tidak menolak izin apa pun yang ditentukan dalam AWSServiceRoleForDynamoDBReplication
kebijakan kepada prinsipal SLR, karena ini akan mengganggu replikasi. Jika Anda menolak izin SLR yang diperlukan, replikasi ke dan dari replika yang terpengaruh akan berhenti, dan status tabel replika akan berubah menjadi. REPLICATION_NOT_AUTHORIZED
-
Jika replika dalam tabel global yang dikonfigurasi untuk konsistensi akhir Multi-wilayah (MREC) tetap dalam
REPLICATION_NOT_AUTHORIZED
status selama lebih dari 20 jam, replika akan dikonversi secara ireversibel ke tabel DynamoDB wilayah tunggal. -
Replika tabel global yang dikonfigurasi untuk Multi-region strong consistency (MRSC) mengembalikan sebuah
AccessDeniedException
for write dan operasi baca yang sangat konsisten. Jika replika dalam tabel global MRSC tetap dalamREPLICATION_NOT_AUTHORIZED
status selama lebih dari tujuh hari, replika menjadi tidak dapat diakses secara permanen, dan operasi tulis dan baca yang sangat konsisten akan terus gagal dengan kesalahan. Beberapa operasi manajemen seperti penghapusan replika akan berhasil.
Peran terkait layanan penskalaan otomatis
Saat mengonfigurasi tabel global untuk mode kapasitas yang disediakan, Anda juga harus mengonfigurasi penskalaan otomatis untuk tabel global. DynamoDB auto scaling menggunakan Application AWS
Auto Scaling Service untuk secara dinamis menyesuaikan kapasitas throughput yang disediakan pada replika tabel global Anda. Layanan Application Auto Scaling membuat peran terkait layanan (SLR) bernama AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
untuk mengelola kapasitas tabel yang disediakan dan membuat alarm. CloudWatch Saat menerapkan kebijakan berbasis sumber daya ke replika, pastikan Anda tidak menolak izin apa pun yang ditentukan dalam kebijakan kepada prinsipal AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
Application Auto Scaling Service SLR, karena ini akan mengganggu fungsionalitas penskalaan otomatis.
Untuk informasi selengkapnya tentang peran tertaut layanan, lihat Menggunakan peran tertaut layanan di Panduan Pengguna IAM.
Izin yang diperlukan untuk tabel global
Untuk membuat replika, Anda harus memiliki izin berikut di atas meja atau replika yang Anda tambahkan replika baru:
-
dynamodb:UpdateTable
Untuk membuat replika, Anda harus memiliki izin berikut di setiap Wilayah tempat replika baru akan dibuat:
-
dynamodb:CreateTable
-
dynamodb:CreateTableReplica
Untuk membuat saksi, Anda harus memiliki izin berikut di Wilayah tempat saksi baru akan dibuat:
-
dynamodb:CreateGlobalTableWitness
Untuk menghapus replika, Anda harus memiliki izin berikut pada replika:
-
dynamodb:DeleteTable
-
dynamodb:DeleteTableReplica
Untuk menghapus saksi, Anda harus memiliki izin berikut pada saksi:
-
dynamodb:DeleteGlobalTableWitness
Untuk memperbarui kebijakan penskalaan otomatis replika dengan UpdateTableReplicaAutoScaling
API, Anda harus memiliki izin berikut di semua Wilayah yang berisi replika:
-
application-autoscaling:DeleteScalingPolicy
-
application-autoscaling:DeleteScheduledAction
-
application-autoscaling:DeregisterScalableTarget
-
application-autoscaling:DescribeScalableTargets
-
application-autoscaling:DescribeScalingActivities
-
application-autoscaling:DescribeScalingPolicies
-
application-autoscaling:DescribeScheduledActions
-
application-autoscaling:PutScalingPolicy
-
application-autoscaling:PutScheduledAction
-
application-autoscaling:RegisterScalableTarget
Untuk memperbarui pengaturan Time to Live dengan UpdateTimeToLive
API, Anda harus memiliki izin berikut pada semua replika:
-
dynamodb:UpdateTimeToLive
Contoh kebijakan IAM
Contoh: Mengelola tabel global
Kebijakan IAM berikut memberikan izin untuk membuat dan menghapus replika tabel global dan saksi untuk tabel “pengguna” di tiga Wilayah:
Contoh: Kecualikan izin SLR yang diperlukan dari kebijakan penolakan wildcard
Kebijakan IAM dengan kondisi berikut tidak memengaruhi izin yang diperlukan ke SLR replikasi DynamoDB dan SLR Auto Scaling. AWS Kondisi ini dapat ditambahkan ke kebijakan yang membatasi secara luas untuk menghindari gangguan replikasi atau penskalaan otomatis secara tidak sengaja:
"Condition": { "StringNotEquals": { "aws:PrincipalArn": [ "arn:aws:iam::
YOUR_ACCOUNT_ID
:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication
", "arn:aws:iam::YOUR_ACCOUNT_ID
:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
" ] } }
Bagaimana tabel global menggunakan AWS KMS
Seperti semua tabel DynamoDB, replika tabel global selalu mengenkripsi data saat istirahat menggunakan kunci enkripsi yang disimpan AWS di Key Management Service ().AWS KMS
Semua replika dalam tabel global harus dikonfigurasi dengan jenis kunci KMS yang sama (kunci AWS milik, kunci AWS terkelola, atau kunci yang dikelola Pelanggan).
penting
DynamoDB memerlukan akses ke kunci enkripsi replika untuk menghapus replika. Jika Anda ingin menonaktifkan atau menghapus kunci terkelola pelanggan yang digunakan untuk mengenkripsi replika karena Anda menghapus replika, Anda harus terlebih dahulu menghapus replika, menunggu status tabel pada salah satu replika yang tersisa untuk berubahACTIVE
, lalu menonaktifkan atau menghapus kunci.
Untuk tabel global yang dikonfigurasi untuk konsistensi akhir Multi-wilayah (MREC), jika Anda menonaktifkan atau mencabut akses DynamoDB ke kunci terkelola pelanggan yang digunakan untuk mengenkripsi replika, replikasi ke dan dari replika akan berhenti dan status replika akan berubah menjadi. INACCESSIBLE_ENCRYPTION_CREDENTIALS
Jika replika dalam tabel global MREC tetap dalam INACCESSIBLE_ENCRYPTION_CREDENTIALS
status selama lebih dari 20 jam, replika dikonversi secara ireversibel ke tabel DynamoDB wilayah tunggal.
Untuk tabel global yang dikonfigurasi untuk konsistensi kuat Multi-wilayah (MRSC), jika Anda menonaktifkan atau mencabut akses DynamoDB ke kunci terkelola pelanggan yang digunakan untuk mengenkripsi replika, replikasi ke dan dari replika akan berhenti, upaya untuk melakukan penulisan atau pembacaan yang sangat konsisten ke replika akan mengembalikan kesalahan, dan status replika akan berubah menjadi. INACCESSIBLE_ENCRYPTION_CREDENTIALS
Jika replika dalam tabel global MRSC tetap dalam INACCESSIBLE_ENCRYPTION_CREDENTIALS
status selama lebih dari tujuh hari, tergantung pada izin tertentu yang dicabut, replika akan diarsipkan atau menjadi tidak dapat diakses secara permanen.