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 Identity and Access Management termasuk kebijakan identitas (IAM) dan kebijakan berbasis sumber daya.
Topik ini mencakup cara mengamankan tabel global DynamoDB menggunakan izin AWS Key Management Service IAM dan enkripsi ().AWS KMS Anda mempelajari tentang peran terkait layanan (SLR) yang memungkinkan replikasi lintas wilayah dan auto-scaling, izin IAM yang diperlukan untuk membuat, memperbarui, dan menghapus tabel global, dan perbedaan antara tabel konsistensi akhir Multi-wilayah (MREC) dan Multi-region strong consistency (MRSC). Anda juga mempelajari kunci AWS KMS enkripsi untuk mengelola replikasi lintas wilayah dengan aman.
Peran terkait layanan untuk tabel global
Tabel global DynamoDB mengandalkan peran terkait layanan SLRs () untuk mengelola replikasi lintas wilayah dan kemampuan auto-scaling.
Anda hanya perlu mengatur peran ini sekali per AWS akun. Setelah dibuat, peran yang sama melayani semua tabel global di akun Anda. Untuk informasi selengkapnya tentang peran tertaut layanan, lihat Menggunakan peran tertaut layanan di Panduan Pengguna IAM.
Peran terkait layanan replikasi
Amazon DynamoDB secara otomatis membuat AWSServiceRoleForDynamoDBReplication peran terkait layanan (SLR) saat Anda membuat tabel global pertama Anda. Peran ini mengelola replikasi lintas wilayah untuk Anda.
Saat menerapkan kebijakan berbasis sumber daya ke replika, pastikan Anda tidak menolak izin apa pun yang ditentukan dalam prinsip SLR, karena AWSServiceRoleForDynamoDBReplicationPolicy 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
-
Untuk tabel global Multi-region eventual consistency (MREC), jika replika tetap dalam
REPLICATION_NOT_AUTHORIZEDstatus selama lebih dari 20 jam, replika dikonversi secara ireversibel ke tabel DynamoDB wilayah Tunggal. -
Untuk tabel global Multi-region strong consistency (MRSC), penolakan izin yang diperlukan menghasilkan operasi penulisan dan
AccessDeniedExceptionpembacaan yang sangat konsisten. Jika replika tetap dalamREPLICATION_NOT_AUTHORIZEDstatus 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, penskalaan otomatis harus dikonfigurasi untuk tabel global. DynamoDB auto scaling menggunakan layanan Application AWS Auto Scaling 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 Peran terkait layanan ini secara otomatis dibuat di AWS akun Anda saat pertama kali mengonfigurasi penskalaan otomatis untuk tabel DynamoDB. Ini memungkinkan Application Auto Scaling 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 prinsip Application AWSApplicationAutoscalingDynamoDBTablePolicyAuto Scaling SLR, karena ini akan mengganggu fungsionalitas penskalaan otomatis.
Contoh kebijakan IAM untuk peran terkait layanan
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.
Contoh berikut menunjukkan cara mengecualikan prinsipal peran terkait layanan dari pernyataan penolakan:
"Condition": { "StringNotEquals": { "aws:PrincipalArn": [ "arn:aws::iam::111122223333:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication", "arn:aws::iam::111122223333:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable" ] } }
Bagaimana tabel global menggunakan AWS IAM
Bagian berikut menjelaskan izin yang diperlukan untuk operasi tabel global yang berbeda dan memberikan contoh kebijakan untuk membantu Anda mengonfigurasi akses yang sesuai untuk pengguna dan aplikasi Anda.
catatan
Semua izin yang dijelaskan harus diterapkan ke ARN sumber daya tabel tertentu di Wilayah yang terpengaruh. Sumber daya tabel ARN mengikuti formatarn:aws:dynamodb:region:account-id:table/table-name, di mana Anda perlu menentukan nilai Region, ID akun, dan nama tabel yang sebenarnya.
Topik
Membuat tabel global dan menambahkan replika
Tabel global DynamoDB mendukung dua mode konsistensi: Multi-region endal consistency (MREC) dan Multi-region strong consistency (MRSC). Tabel global MREC dapat memiliki beberapa replika di sejumlah Wilayah dan memberikan konsistensi akhirnya. Tabel global MRSC membutuhkan tepat tiga Wilayah (tiga replika atau dua replika dan satu saksi) dan memberikan konsistensi yang kuat dengan tujuan titik pemulihan nol (RPO).
Izin yang diperlukan untuk membuat tabel global bergantung pada apakah Anda membuat tabel global dengan atau tanpa saksi.
Izin untuk membuat tabel global
Izin berikut diperlukan baik untuk pembuatan tabel global awal dan untuk menambahkan replika nanti. Izin ini berlaku untuk tabel global Multi-Region Entrual Consistency (MREC) dan Multi-Region Strong Consistency (MRSC).
-
Tabel global memerlukan replikasi lintas wilayah, yang dikelola DynamoDB melalui peran terkait layanan (SLR). AWSServiceRoleForDynamoDBReplication Izin berikut memungkinkan DynamoDB untuk membuat peran ini secara otomatis saat Anda membuat tabel global untuk pertama kalinya:
-
iam:CreateServiceLinkedRole
-
-
Untuk membuat tabel global atau menambahkan replika menggunakan
UpdateTableAPI, Anda harus memiliki izin berikut pada sumber daya tabel sumber:-
dynamodb:UpdateTable
-
-
Anda harus memiliki izin berikut pada sumber daya tabel di Wilayah untuk replika yang akan ditambahkan:
-
dynamodb:CreateTable -
dynamodb:CreateTableReplica -
dynamodb:Query -
dynamodb:Scan -
dynamodb:UpdateItem -
dynamodb:PutItem -
dynamodb:GetItem -
dynamodb:DeleteItem -
dynamodb:BatchWriteItem
-
Izin tambahan untuk tabel global MRSC menggunakan saksi
Saat membuat tabel global Konsistensi Kuat Multi-Wilayah (MRSC) dengan Wilayah saksi, Anda harus memiliki izin berikut pada sumber daya tabel di semua Wilayah yang berpartisipasi (termasuk Wilayah replika dan Wilayah saksi):
-
dynamodb:CreateGlobalTableWitness
Contoh kebijakan IAM untuk membuat tabel global
Kebijakan berbasis identitas berikut memungkinkan Anda membuat tabel global MREC atau MRSC bernama “pengguna” di tiga Wilayah, termasuk membuat peran terkait layanan replikasi DynamoDB yang diperlukan.
Kebijakan berbasis identitas berikut memungkinkan Anda membuat replika tabel global DynamoDB di seluruh Wilayah tertentu menggunakan RequestedRegion kunci kondisi aws:, termasuk membuat peran terkait layanan replikasi DynamoDB yang diperlukan.
Kebijakan berbasis identitas berikut memungkinkan Anda membuat tabel global DynamoDB MRSC bernama “users” dengan replika di us-east-1 dan us-east-2 dan saksi di us-west-2, termasuk membuat peran terkait layanan replikasi DynamoDB yang diperlukan.
Kebijakan berbasis identitas ini memungkinkan Anda membuat tabel global MRSC dengan replika yang dibatasi untuk Wilayah tertentu menggunakan kunci RequestedRegion kondisi aws: dan pembuatan saksi tak terbatas di semua Wilayah, termasuk membuat peran terkait layanan replikasi DynamoDB yang diperlukan.
Memperbarui tabel global
Untuk mengubah setelan replika untuk tabel global yang ada menggunakan UpdateTableAPI, Anda memerlukan izin berikut pada sumber daya tabel di Wilayah tempat Anda melakukan panggilan API:
-
dynamodb:UpdateTable
Anda juga dapat memperbarui konfigurasi tabel global lainnya, seperti kebijakan penskalaan otomatis dan pengaturan Time to Live. Izin berikut diperlukan untuk operasi pembaruan tambahan ini:
-
Untuk memperbarui kebijakan penskalaan otomatis replika dengan
UpdateTableReplicaAutoScalingAPI, Anda harus memiliki izin berikut pada sumber daya tabel 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 Waktu ke Langsung dengan
UpdateTimeToLiveAPI, Anda harus memiliki izin berikut pada sumber daya tabel di semua Wilayah yang berisi replika:-
dynamodb:UpdateTimeToLive
Perhatikan bahwa Time to Live (TTL) hanya didukung untuk tabel global yang dikonfigurasi dengan Multi-Region Eventual Consistency (MREC). Untuk informasi selengkapnya tentang cara kerja tabel global dengan TTL, lihat Cara kerja tabel global DynamoDB.
-
Menghapus tabel global dan menghapus replika
Untuk menghapus tabel global, Anda harus menghapus semua replika. Izin yang diperlukan untuk operasi ini berbeda tergantung pada apakah Anda menghapus tabel global dengan atau tanpa Wilayah saksi.
Izin untuk menghapus tabel global dan menghapus replika
Izin berikut diperlukan baik untuk menghapus replika individual dan untuk menghapus tabel global sepenuhnya. Menghapus konfigurasi tabel global hanya menghapus hubungan replikasi antara tabel di Wilayah yang berbeda. Itu tidak menghapus tabel DynamoDB yang mendasari di Wilayah terakhir yang tersisa. Tabel di Wilayah terakhir terus ada sebagai tabel DynamoDB standar dengan data dan pengaturan yang sama. Izin ini berlaku untuk tabel global Multi-Region Entrual Consistency (MREC) dan Multi-Region Strong Consistency (MRSC).
-
Untuk menghapus replika dari tabel global menggunakan
UpdateTableAPI, Anda memerlukan izin berikut pada sumber daya tabel di Wilayah tempat Anda melakukan panggilan API:-
dynamodb:UpdateTable
-
-
Anda memerlukan izin berikut pada sumber daya tabel di setiap Wilayah tempat Anda menghapus replika:
-
dynamodb:DeleteTable -
dynamodb:DeleteTableReplica
-
Izin tambahan untuk tabel global MRSC menggunakan saksi
Untuk menghapus tabel global Multi-region strong consistency (MRSC) dengan saksi, Anda harus memiliki izin berikut pada sumber daya tabel di semua Wilayah yang berpartisipasi (termasuk Wilayah replika dan Wilayah saksi):
-
dynamodb:DeleteGlobalTableWitness
Contoh kebijakan IAM untuk menghapus replika tabel global
Kebijakan berbasis identitas ini memungkinkan Anda menghapus tabel global DynamoDB bernama “pengguna” dan replika di tiga Wilayah:
Kebijakan berbasis identitas ini memungkinkan Anda untuk menghapus replika dan saksi tabel global MRSC bernama “pengguna”:
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.