View a markdown version of this page

Contoh 1: Izinkan akses baca aliran menggunakan aws: ResourceTag - Amazon DynamoDB

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

  1. 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
  2. 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
  3. 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 GetRecords operasi DescribeStream dan ketika tag streaming cocok dengan kunci “Tim” dan nilai “Analytics” yang ditentukan dalam kebijakan.

  4. Asumsikan peran dengan kebijakan yang dijelaskan pada Langkah 3.

  5. Gunakan perintah describe-stream AWS 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 DescribeStream indakan mengembalikan AccessDeniedException karena tidak ada kebijakan yang mengizinkan tindakan tanpa kondisi tag yang cocok.

Dengan Streams ABAC

Jika Streams ABAC diaktifkan untuk Anda Akun AWS, DescribeStream tindakan berhasil diselesaikan. Ini karena kebijakan sebaris mengizinkan tindakan saat kondisi tag dalam kebijakan IAM dan aliran cocok.