Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan kontrol akses berbasis atribut dengan DynamoDB
Attribute-based kontrol akses (ABAC) adalah strategi otorisasi yang menentukan izin akses berdasarkan kondisi tag dalam kebijakan berbasis identitas Anda atau kebijakan lainnya, seperti AWS kebijakan berbasis sumber daya dan kebijakan IAM organisasi. Anda dapat melampirkan tag ke tabel DynamoDB, yang kemudian dievaluasi terhadap kondisi berbasis tag. Indeks yang terkait dengan tabel mewarisi tanda yang Anda tambahkan ke tabel. Anda dapat menambahkan hingga 50 tag untuk setiap tabel DynamoDB. Ukuran maksimum yang didukung untuk semua tag dalam tabel adalah 10 KB. Untuk informasi selengkapnya tentang menandai sumber daya DynamoDB dan pembatasan penandaan, lihat Menandai sumber daya di Dynamo DB dan. Pembatasan penandaan di DynamoDB
Untuk informasi selengkapnya tentang menggunakan tag untuk mengontrol akses ke AWS sumber daya, lihat topik berikut di Panduan Pengguna IAM:
Dengan ABAC, Anda dapat menerapkan tingkat akses yang berbeda-beda untuk tim dan aplikasi Anda guna melakukan tindakan pada tabel DynamoDB menggunakan lebih sedikit kebijakan. Anda dapat menentukan tag dalam elemen https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html kondisi kebijakan IAM untuk mengontrol akses ke tabel atau indeks DynamoDB Anda. Kondisi ini menentukan tingkat akses yang dimiliki prinsipal IAM, pengguna, atau peran ke tabel dan indeks DynamoDB. Ketika prinsipal IAM membuat permintaan akses ke DynamoDB, tag sumber daya dan identitas dievaluasi terhadap kondisi tag dalam kebijakan IAM. Setelah itu, kebijakan menjadi efektif hanya jika kondisi tag terpenuhi. Ini memungkinkan Anda untuk membuat kebijakan IAM yang secara efektif mengatakan salah satu dari berikut ini:
-
Izinkan pengguna untuk mengelola hanya sumber daya yang memiliki tag dengan kunci
Xdan nilaiY. -
Tolak akses ke semua pengguna ke sumber daya yang ditandai dengan kunci
X.
Misalnya, Anda dapat membuat kebijakan yang memungkinkan pengguna memperbarui tabel hanya jika tabel tersebut memiliki tag key-value pair:. "environment": "staging" Anda dapat menggunakan kunci ResourceTag kondisi aws: untuk mengizinkan atau menolak akses ke tabel berdasarkan tag yang dilampirkan ke tabel tersebut.
Anda dapat menyertakan kondisi berbasis atribut saat membuat kebijakan atau yang lebih baru menggunakan Konsol Manajemen AWS, AWS API, AWS Command Line Interface (AWS CLI), AWS SDK, atau AWS CloudFormation.
Contoh berikut memungkinkan UpdateItem tindakan pada tabel bernama MusicTable jika menyertakan kunci tag dengan nama environment dan nilaiproduction.
Topik
Mengapa saya harus menggunakan ABAC?
-
Manajemen kebijakan yang lebih sederhana: Anda menggunakan lebih sedikit kebijakan karena Anda tidak perlu membuat kebijakan yang berbeda untuk menentukan tingkat akses untuk setiap prinsipal IAM.
-
Kontrol akses yang dapat dis kalakan: Penskalaan kontrol akses lebih mudah dengan ABAC karena Anda tidak perlu memperbarui kebijakan saat membuat sumber daya DynamoDB baru. Anda dapat menggunakan tag untuk mengotorisasi akses ke prinsipal IAM yang berisi tag yang cocok dengan tag sumber daya. Anda dapat memasukkan prinsipal IAM atau sumber daya DynamoDB baru dan menerapkan tag yang sesuai untuk secara otomatis memberikan izin yang diperlukan tanpa harus membuat perubahan kebijakan apa pun.
-
Fine-grained manajemen izin: Ini adalah praktik terbaik untuk memberikan hak istimewa paling sedikit saat Anda membuat kebijakan. Menggunakan ABAC, Anda dapat membuat tag untuk prinsipal IAM, dan menggunakannya untuk memberikan akses ke tindakan dan sumber daya tertentu yang cocok dengan tag pada prinsipal IAM.
-
Penyelarasan dengan direktori perusahaan: Anda dapat memetakan tag dengan atribut karyawan yang ada dari direktori perusahaan Anda untuk menyelaraskan kebijakan kontrol akses Anda dengan struktur organisasi Anda.
Kunci kondisi untuk mengimplementasikan ABAC dengan DynamoDB
Anda dapat menggunakan kunci kondisi berikut dalam AWS kebijakan Anda untuk mengontrol tingkat akses ke tabel dan indeks DynamoDB Anda:
-
aws: ResourceTag/tag-key: Mengontrol akses berdasarkan apakah pasangan kunci-nilai tag pada tabel atau indeks DynamoDB cocok dengan kunci tag dan nilai dalam kebijakan. Kunci kondisi ini relevan untuk semua API yang beroperasi pada tabel atau indeks yang ada.
dynamodb:ResourceTagKondisi dievaluasi seolah-olah Anda tidak melampirkan tag apa pun ke sumber daya. -
aws: RequestTag/tag-key: Memungkinkan membandingkan pasangan nilai kunci tag yang diteruskan dalam permintaan dengan pasangan tag yang Anda tentukan dalam kebijakan. Kunci kondisi ini relevan dengan API yang berisi tag sebagai bagian dari payload permintaan. API ini termasuk CreateTable dan TagResource.
-
aws: TagKeys: Membandingkan kunci tag dalam permintaan dengan kunci yang Anda tentukan dalam kebijakan. Kunci kondisi ini relevan dengan API yang berisi tag sebagai bagian dari payload permintaan. API ini termasuk
CreateTable,TagResource, danUntagResource.
Pertimbangan untuk menggunakan ABAC dengan DynamoDB
Saat Anda menggunakan ABAC dengan tabel atau indeks DynamoDB, pertimbangan berikut berlaku:
-
Penandaan dan ABAC tidak didukung untuk Streams DynamoDB.
-
Penandaan dan ABAC tidak didukung untuk cadangan DynamoDB. Untuk menggunakan ABAC dengan cadangan, kami sarankan Anda menggunakannya AWS Backup.
-
Tag tidak dipertahankan dalam tabel yang dipulihkan. Anda perlu menambahkan tag ke tabel yang dipulihkan sebelum dapat menggunakan kondisi berbasis tag dalam kebijakan Anda.