

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
<a name="using-iam-condition-keys"></a>

`Condition`Elemen (atau `Condition` blok) menentukan kondisi di mana pernyataan kebijakan berlaku. Anda membuat ekspresi bersyarat menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

## Kunci kondisi yang tersedia untuk Amazon Aurora DSQL
<a name="using-iam-condition-keys-available"></a>

Amazon Aurora DSQL mendukung kunci kondisi khusus layanan,, dan. `dsql:WitnessRegion` `dsql:FisActionId` `dsql:FisTargetArns` Anda juga dapat menggunakan tombol kondisi AWS global seperti`aws:RequestTag`,`aws:ResourceTag`, dan`aws: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](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonauroradsql.html#amazonauroradsql-policy-keys) di Referensi Otorisasi Layanan.*

## Contoh: Batasi Wilayah saksi untuk klaster Multi-wilayah
<a name="using-iam-condition-keys-create-cluster"></a>

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:CreateCluster`dan`dsql:PutWitnessRegion`). Pernyataan kedua memberikan `dsql:PutMultiRegionProperties` dan `dsql:AddPeerCluster` tanpa syarat, karena kunci `dsql:WitnessRegion` kondisi hanya berlaku untuk `dsql:CreateCluster` dan`dsql:PutWitnessRegion`.

## Contoh: Memerlukan tag saat membuat cluster
<a name="using-iam-condition-keys-tag-on-create"></a>

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/Environment`Kondisi ini mengharuskan `Environment` tag memiliki salah satu nilai yang diizinkan. `aws:TagKeys`Kondisi dengan operator `ForAllValues` set memastikan bahwa permintaan hanya menyertakan kunci `Environment` dan `Owner` tag.

## Contoh: Batasi injeksi kesalahan ke cluster tertentu
<a name="using-iam-condition-keys-fis"></a>

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:FisActionId`Kondisi ini membatasi tindakan injeksi kesalahan yang dapat Anda lakukan. `dsql:FisTargetArns`Kondisi 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.