View a markdown version of this page

Menggunakan ABAC dengan tabel dan indeks DynamoDB - Amazon DynamoDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan ABAC dengan tabel dan indeks DynamoDB

Langkah-langkah berikut menunjukkan cara mengatur izin menggunakan ABAC. Dalam skenario contoh ini, Anda akan menambahkan tag ke tabel DynamoDB dan membuat peran IAM dengan kebijakan yang menyertakan kondisi berbasis tag. Kemudian, Anda akan menguji izin yang diizinkan pada tabel DynamoDB dengan mencocokkan kondisi tag.

Langkah 1: Tambahkan tag ke tabel DynamoDB

Anda dapat menambahkan tag ke tabel DynamoDB baru atau yang sudah ada menggunakan Konsol Manajemen AWS, AWS API, AWS Command Line Interface (AWS CLI), AWS SDK, atau. AWS CloudFormation Misalnya, perintah tag-resource CLI berikut menambahkan tag ke tabel bernama. MusicTable

aws dynamodb tag-resource —resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicTable —tags Key=environment,Value=staging

Langkah 2: Buat peran IAM dengan kebijakan termasuk kondisi berbasis tag

Buat kebijakan IAM menggunakan kunci ResourceTag/tag-key kondisi aws: untuk membandingkan pasangan nilai kunci tag yang ditentukan dalam kebijakan IAM dengan pasangan kunci-nilai yang dilampirkan ke tabel. Kebijakan contoh berikut memungkinkan pengguna untuk menempatkan atau memperbarui item dalam tabel jika tabel ini berisi pasangan nilai kunci tag:. "environment": "staging" Jika tabel tidak memiliki pasangan nilai kunci tag yang ditentukan, tindakan ini ditolak.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:PutItem", "dynamodb:UpdateItem" ], "Resource": "arn:aws:dynamodb:*:*:table/*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "staging" } } } ] }

Langkah 3: Uji izin yang diizinkan

  1. Lampirkan kebijakan IAM ke pengguna pengujian atau peran di Anda Akun AWS. Pastikan bahwa prinsipal IAM yang Anda gunakan belum memiliki akses ke tabel DynamoDB melalui kebijakan yang berbeda.

  2. Pastikan tabel DynamoDB Anda berisi kunci "environment" tag dengan nilai. "staging"

  3. Lakukan dynamodb:UpdateItem tindakan dynamodb:PutItem dan pada tabel yang ditandai. Tindakan ini akan berhasil jika pasangan nilai kunci "environment": "staging" tag ada.

    Jika Anda melakukan tindakan ini pada tabel yang tidak memiliki pasangan "environment": "staging" kunci nilai tag, permintaan Anda akan gagal dengan. AccessDeniedException

Anda juga dapat meninjau kasus penggunaan sampel lain yang dijelaskan di bagian berikut untuk menerapkan ABAC dan melakukan lebih banyak pengujian.