

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

# Contoh Kebijakan: Menggunakan kunci kondisi
<a name="UsingWithRDS.IAM.Conditions.Examples"></a>

Berikut ini adalah contoh cara menggunakan kunci kondisi dalam kebijakan izin IAM Amazon RDS. 

## Contoh 1: Memberikan izin untuk membuat instans DB yang menggunakan mesin DB spesifik dan tidak berupa Multi-AZ
<a name="w2aac58c48c33c21b5"></a>

Kebijakan berikut menggunakan kunci kondisi RDS dan memungkinkan pengguna membuat instans DB yang menggunakan mesin basis data MySQL saja dan tidak menggunakan MultiAZ. Elemen `Condition` menunjukkan persyaratan bahwa mesin basis data adalah MySQL. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "AllowMySQLCreate",
         "Effect": "Allow",
         "Action": "rds:CreateDBInstance",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "rds:DatabaseEngine": "mysql"
            },
            "Bool": {
               "rds:MultiAz": false
            }
         }
      }
   ]
}
```

------

## Contoh 2: Secara eksplisit menolak izin untuk membuat instans DB untuk kelas instans DB tertentu dan membuat instans DB yang menggunakan IOPS yang Tersedia
<a name="w2aac58c48c33c21b7"></a>

Kebijakan berikut secara eksplisit menolak izin untuk membuat instans DB yang menggunakan kelas instans DB `r3.8xlarge` dan `m4.10xlarge`, yang merupakan kelas instans DB terbesar dan termahal. Kebijakan ini juga mencegah pengguna membuat instans DB yang menggunakan IOPS yang Tersedia, yang menimbulkan biaya tambahan. 

Izin yang secara tegas menolak lebih diprioritaskan daripada izin lain yang diberikan. Ini memastikan bahwa identitas tidak akan secara kebetulan mendapatkan izin yang tidak pernah ingin Anda berikan.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "DenyLargeCreate",
         "Effect": "Deny",
         "Action": "rds:CreateDBInstance",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "rds:DatabaseClass": [
                  "db.r3.8xlarge",
                  "db.m4.10xlarge"
               ]
            }
         }
      },
      {
         "Sid": "DenyPIOPSCreate",
         "Effect": "Deny",
         "Action": "rds:CreateDBInstance",
         "Resource": "*",
         "Condition": {
            "NumericNotEquals": {
               "rds:Piops": "0"
            }
         }
      }
   ]
}
```

------

## Contoh 3: Membatasi kumpulan kunci dan nilai tag yang dapat digunakan untuk menandai sumber daya
<a name="w2aac58c48c33c21b9"></a>

Kebijakan berikut menggunakan kunci kondisi RDS dan memungkinkan penambahan tag dengan kunci `stage` untuk ditambahkan ke sumber daya dengan nilai `test`, `qa`, dan `production`.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowTagEdits",
      "Effect": "Allow",
      "Action": [
        "rds:AddTagsToResource",
        "rds:RemoveTagsFromResource"
      ],
      "Resource": "arn:aws:rds:us-east-1:123456789012:db:db-123456",
      "Condition": {
        "StringEquals": {
          "rds:req-tag/stage": [
            "test",
            "qa",
            "production"
          ]
        }
      }
    }
  ]
}
```

------