View a markdown version of this page

Menggunakan kunci kondisi IAM dengan Amazon Aurora DSQL - Amazon Aurora DSQL

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

Menggunakan kunci kondisi IAM dengan Amazon Aurora DSQL

ConditionElemen (atau Condition blok) menentukan kondisi di mana pernyataan kebijakan berlaku. Anda membuat ekspresi bersyarat menggunakan operator kondisi seperti StringEquals atau StringLike untuk mencocokkan kunci dalam kebijakan terhadap nilai dalam permintaan. Kunci kondisi berbeda dari pelingkupan ARN sumber daya, yang membatasi tindakan ke sumber daya tertentu menggunakan elemen. Resource

Amazon Aurora DSQL mendukung kunci kondisi khusus layanan dan kunci kondisi global. AWS Anda dapat menggunakan kunci ini untuk memperbaiki kondisi di mana pernyataan kebijakan IAM Anda berlaku. Untuk informasi selengkapnya tentang kunci kondisi AWS AWS global, lihat kunci konteks kondisi global di Panduan Pengguna IAM.

Kunci kondisi yang tersedia untuk Amazon Aurora DSQL

Amazon Aurora DSQL mendukung kunci kondisi khusus layanan,, dan. dsql:WitnessRegion dsql:FisActionId dsql:FisTargetArns Anda juga dapat menggunakan tombol kondisi AWS global sepertiaws:RequestTag,aws:ResourceTag, danaws:TagKeys. Untuk daftar lengkap tindakan Amazon Aurora DSQL, kunci kondisi, dan sumber daya yang dapat Anda tentukan dalam kebijakan, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon Aurora DSQL di Referensi Otorisasi Layanan.

Contoh: Batasi Wilayah saksi untuk klaster Multi-wilayah

Kebijakan berikut menggunakan kunci dsql:WitnessRegion kondisi untuk membatasi pembuatan klaster Multi-wilayah untuk kasus-kasus di mana Wilayah saksi adalah US West (Oregon). Tanpa kondisi ini, Anda dapat menentukan Wilayah mana pun sebagai Wilayah saksi.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCreateWithSpecificWitness", "Effect": "Allow", "Action": [ "dsql:CreateCluster", "dsql:PutWitnessRegion" ], "Resource": "arn:aws:dsql:*:123456789012:cluster/*", "Condition": { "StringEquals": { "dsql:WitnessRegion": "us-west-2" } } }, { "Sid": "AllowMultiRegionSetup", "Effect": "Allow", "Action": [ "dsql:PutMultiRegionProperties", "dsql:AddPeerCluster" ], "Resource": "arn:aws:dsql:*:123456789012:cluster/*" } ] }

Pernyataan pertama menerapkan dsql:WitnessRegion kondisi untuk tindakan yang mendukungnya (dsql:CreateClusterdandsql:PutWitnessRegion). Pernyataan kedua memberikan dsql:PutMultiRegionProperties dan dsql:AddPeerCluster tanpa syarat, karena kunci dsql:WitnessRegion kondisi hanya berlaku untuk dsql:CreateCluster dandsql:PutWitnessRegion.

Contoh: Memerlukan tag saat membuat cluster

Kebijakan berikut menggunakan kunci aws:RequestTag dan aws:TagKeys kondisi untuk mewajibkan Environment tag saat Anda membuat kluster.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCreateWithRequiredTag", "Effect": "Allow", "Action": "dsql:CreateCluster", "Resource": "arn:aws:dsql:*:123456789012:cluster/*", "Condition": { "StringEquals": { "aws:RequestTag/Environment": [ "production", "staging", "development" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "Environment", "Owner" ] } } } ] }

Kebijakan ini menggunakan dua kunci kondisi secara bersamaan. aws:RequestTag/EnvironmentKondisi ini mengharuskan Environment tag memiliki salah satu nilai yang diizinkan. aws:TagKeysKondisi dengan operator ForAllValues set memastikan bahwa permintaan hanya menyertakan kunci Environment dan Owner tag.

Contoh: Batasi injeksi kesalahan ke cluster tertentu

Kebijakan berikut menggunakan kunci dsql:FisActionId dan dsql:FisTargetArns kondisi untuk membatasi injeksi AWS FIS kesalahan ke tindakan tertentu dan klaster target.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowSpecificFaultInjection", "Effect": "Allow", "Action": "dsql:InjectError", "Resource": "*", "Condition": { "StringEquals": { "dsql:FisActionId": "aws:dsql:cluster-connection-failure" }, "ForAllValues:ArnLike": { "dsql:FisTargetArns": "arn:aws:dsql:us-east-1:123456789012:cluster/*" } } } ] }

dsql:FisActionIdKondisi ini membatasi tindakan injeksi kesalahan yang dapat Anda lakukan. dsql:FisTargetArnsKondisi ini menggunakan operator ForAllValues set dan ArnLike operator. Bersama-sama, mereka memastikan bahwa setiap ARN cluster dalam permintaan cocok dengan pola yang diizinkan. Ini memblokir permintaan apa pun yang menyertakan ARN cluster di luar cakupan yang dimaksud.