Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh 1: Izinkan akses baca aliran menggunakan aws: ResourceTag
Menggunakan kunci aws:ResourceTag/tag-key kondisi, Anda dapat membandingkan pasangan kunci-nilai tag yang ditentukan dalam kebijakan IAM dengan pasangan kunci-nilai yang dilampirkan ke aliran DynamoDB. Misalnya, Anda dapat mengizinkan GetRecords operasi streaming jika kondisi tag cocok.
Menggunakan AWS CLI
-
Buat tabel dengan aliran diaktifkan dan tambahkan tag.
aws dynamodb create-table \ --table-name myMusicTable \ --attribute-definitions AttributeName=id,AttributeType=S \ --key-schema AttributeName=id,KeyType=HASH \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --stream-specification StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES \ --region us-east-1 -
Tambahkan tag ke streaming. Pertama, dapatkan aliran ARN dari deskripsi tabel.
STREAM_ARN=$(aws dynamodb describe-table \ --table-name myMusicTable \ --query "Table.LatestStreamArn" \ --output text \ --region us-east-1) aws dynamodb tag-resource \ --resource-arn $STREAM_ARN \ --tags Key=Team,Value=Analytics \ --region us-east-1 -
Buat kebijakan sebaris dan tambahkan ke peran, seperti yang ditunjukkan pada contoh berikut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeStream", "dynamodb:GetRecords" ], "Resource": "arn:aws:dynamodb:*:*:table/*/stream/*", "Condition": { "StringEquals": { "aws:ResourceTag/Team": "Analytics" } } } ] }Kebijakan ini memungkinkan
GetRecordsoperasiDescribeStreamdan ketika tag streaming cocok dengan kunci “Tim” dan nilai “Analytics” yang ditentukan dalam kebijakan. -
Asumsikan peran dengan kebijakan yang dijelaskan pada Langkah 3.
-
Gunakan perintah
describe-streamAWS CLI pada streaming.aws dynamodb describe-stream \ --stream-arn $STREAM_ARN \ --region us-east-1
Perilaku dengan dan tanpa Streams ABAC
- Tanpa Streaming ABAC
-
Jika Streams ABAC tidak diaktifkan untuk Anda Akun AWS, kondisi tag dalam kebijakan IAM dan aliran DynamoDB tidak cocok. T
DescribeStreamindakan mengembalikanAccessDeniedExceptionkarena tidak ada kebijakan yang mengizinkan tindakan tanpa kondisi tag yang cocok. - Dengan Streams ABAC
-
Jika Streams ABAC diaktifkan untuk Anda Akun AWS,
DescribeStreamtindakan berhasil diselesaikan. Ini karena kebijakan sebaris mengizinkan tindakan saat kondisi tag dalam kebijakan IAM dan aliran cocok.