

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

# Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM
<a name="UsingWithRDS.IAMDBAuth.IAMPolicy"></a>

Untuk memungkinkan pengguna atau peran terhubung ke klaster DB, Anda harus membuat kebijakan IAM. Setelah itu, lampirkan kebijakan tersebut ke set izin atau peran.

**catatan**  
Untuk mempelajari selengkapnya tentang kebijakan IAM, lihat [Manajemen identitas dan akses untuk Amazon Aurora](UsingWithRDS.IAM.md).

Contoh kebijakan berikut memungkinkan pengguna terhubung ke klaster DB menggunakan autentikasi basis data IAM.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "rds-db:connect"
            ],
            "Resource": [
                "arn:aws:rds-db:us-east-2:111122223333:dbuser:cluster-ABCDEFGHIJKL01234/db_user"
            ]
        }
    ]
}
```

------

**penting**  
Pengguna dengan izin administrator dapat mengakses klaster DB tanpa izin eksplisit dalam kebijakan IAM. Jika Anda ingin membatasi akses administrator ke klaster DB, Anda dapat membuat peran IAM yang dengan izin istimewa yang sesuai dan menetapkannya ke administrator.

**catatan**  
Jangan samakan awalan `rds-db:` dengan awalan operasi API RDS lain yang diawali dengan `rds:`. Anda menggunakan awalan `rds-db:` dan tindakan `rds-db:connect` hanya untuk autentikasi basis data IAM. Hal ini tidak berlaku dalam konteks lainnya. 

Contoh kebijakan ini mencakup satu pernyataan dengan elemen berikut:
+ `Effect` – Tentukan `Allow` untuk memberikan akses ke klaster DB. Jika Anda tidak secara eksplisit mengizinkan akses, maka akses ditolak secara default.
+ `Action` – Tentukan `rds-db:connect` untuk mengizinkan koneksi ke klaster DB.
+ `Resource` – Tentukan Amazon Resource Name (ARN) yang menjelaskan satu akun basis data dalam satu klaster DB. Format ARN adalah sebagai berikut.

  ```
  arn:aws:rds-db:region:account-id:dbuser:DbClusterResourceId/db-user-name
  ```

  Dalam format ini, ganti hal berikut:
  + `region`adalah AWS Region untuk cluster DB. Dalam contoh kebijakan, AWS Wilayah adalah`us-east-2`.
  + `account-id`adalah nomor AWS akun untuk cluster DB. Dalam contoh kebijakan, nomor akun adalah `1234567890`. Pengguna harus berada di akun yang sama dengan akun untuk klaster DB.

    Untuk melakukan akses lintas akun, buat peran IAM dengan kebijakan yang ditunjukkan di atas di akun untuk klaster DB dan izinkan akun Anda yang lain untuk mengambil peran tersebut. 
  + `DbClusterResourceId` adalah pengidentifikasi untuk klaster DB. Pengenal ini unik untuk AWS Wilayah dan tidak pernah berubah. Dalam contoh kebijakan, pengidentifikasi adalah `cluster-ABCDEFGHIJKL01234`.

    Untuk menemukan ID sumber daya cluster DB di Amazon Aurora Amazon, pilih cluster instans untuk melihat detailnya. Konsol Manajemen AWS Kemudian, pilih tab **Konfigurasi**. **ID Sumber Daya** ditampilkan di bagian **Konfigurasi**.

    Atau, Anda dapat menggunakan AWS CLI perintah untuk mencantumkan pengenal dan sumber daya IDs untuk semua cluster DB Anda di AWS Wilayah saat ini, seperti yang ditunjukkan berikut.

    ```
    aws rds describe-db-clusters --query "DBClusters[*].[DBClusterIdentifier,DbClusterResourceId]"
    ```
**catatan**  
Jika Anda terhubung ke basis data melalui Proksi RDS, tentukan ID sumber daya proksi, seperti `prx-ABCDEFGHIJKL01234`. Untuk informasi tentang menggunakan autentikasi basis data IAM dengan Proksi RDS, lihat [Menghubungkan ke database menggunakan otentikasi IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).
  + `db-user-name` adalah nama akun basis data untuk dikaitkan dengan autentikasi IAM. Dalam contoh kebijakan, akun basis data adalah `db_user`.

Anda dapat membangun yang lain ARNs untuk mendukung berbagai pola akses. Kebijakan berikut memungkinkan akses ke dua akun basis data yang berbeda dalam klaster DB.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
             "rds-db:connect"
         ],
         "Resource": [
             "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/jane_doe",
             "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/mary_roe"
         ]
      }
   ]
}
```

------

Kebijakan berikut menggunakan karakter “\$1” untuk mencocokkan semua cluster DB dan akun database untuk AWS akun dan AWS Wilayah tertentu. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "rds-db:connect"
            ],
            "Resource": [
                "arn:aws:rds-db:us-east-2:111122223333:dbuser:*/*"
            ]
        }
    ]
}
```

------

Kebijakan berikut cocok dengan semua cluster DB untuk AWS akun dan AWS Wilayah tertentu. Namun, kebijakan ini hanya memberikan akses ke klaster DB yang memiliki akun basis data `jane_doe`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Action": [
             "rds-db:connect"
         ],
         "Resource": [
             "arn:aws:rds-db:us-east-2:123456789012:dbuser:*/jane_doe"
         ]
      }
   ]
}
```

------

Pengguna atau peran hanya memiliki akses ke basis data yang aksesnya dimiliki oleh pengguna basis data tersebut. Misalnya, anggaplah klaster DB Anda memiliki basis data bernama *dev*, dan basis data lain bernama *uji*. Jika pengguna basis data `jane_doe` hanya memiliki akses ke *dev*, setiap pengguna atau peran yang mengakses klaster DB tersebut dengan pengguna `jane_doe` juga hanya akan memiliki akses ke *dev*. Pembatasan akses ini juga berlaku untuk objek basis data lain, seperti tabel, tampilan, dan sebagainya.

Administrator harus membuat kebijakan IAM yang memberikan izin pada entitas untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke set izin atau peran yang memerlukan izin tersebut. Untuk contoh kebijakan, lihat [Contoh kebijakan berbasis identitas untuk Amazon Aurora](security_iam_id-based-policy-examples.md).

## Melampirkan kebijakan IAM ke set izin atau peran
<a name="UsingWithRDS.IAMDBAuth.IAMPolicy.Attaching"></a>

Setelah membuat kebijakan IAM untuk memungkinkan autentikasi basis data, Anda perlu melampirkan kebijakan tersebut ke set izin atau peran. Untuk tutorial tentang topik ini, lihat [Buat dan lampirkan kebijakan yang dikelola pelanggan pertama Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html) dalam *Panduan Pengguna IAM*.

Saat mengikuti tutorial ini, Anda dapat menggunakan salah satu contoh kebijakan yang ditunjukkan dalam bagian ini sebagai titik awal dan menyesuaikannya dengan kebutuhan Anda. Di akhir tutorial, Anda akan memiliki set izin dengan kebijakan terlampir yang dapat menggunakan tindakan `rds-db:connect`.

**catatan**  
Anda dapat memetakan beberapa set izin atau peran ke akun pengguna basis data yang sama. Misalnya, anggaplah kebijakan IAM Anda telah menentukan ARN sumber daya berikut.  

```
arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe
```
Jika Anda melampirkan kebijakan ke *Jane*, *Bob*, dan *Diego*, maka masing-masing pengguna tersebut dapat terhubung ke instans DB yang telah ditentukan menggunakan akun basis data `jane_doe`.