

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

# Mengkonfigurasi otentikasi IAM untuk RDS Proxy
<a name="rds-proxy-iam-setup"></a>

Untuk menyiapkan autentikasi AWS Identity and Access Management (IAM) untuk Proxy RDS di Amazon RDS, buat dan konfigurasikan kebijakan IAM yang memberikan izin yang diperlukan. 

Topik ini menyediakan langkah-langkah untuk mengonfigurasi autentikasi IAM untuk RDS Proxy, termasuk membuat kebijakan IAM yang diperlukan dan melampirkannya ke peran IAM. 

**Tip**  
Prosedur ini hanya diperlukan jika Anda ingin membuat peran IAM Anda sendiri. Jika tidak, RDS dapat secara otomatis membuat peran yang diperlukan saat Anda mengatur proxy, sehingga Anda dapat melewati langkah-langkah ini.

## Prasyarat
<a name="rds-proxy-iam-setup-prereqs"></a>

Sebelum Anda mengatur autentikasi IAM untuk RDS Proxy, pastikan Anda memiliki yang berikut:
+ **AWS Secrets Manager**— Setidaknya satu rahasia tersimpan yang berisi kredensi database. Untuk instruksi untuk membuat rahasia, lihat[Menyiapkan kredensil database untuk RDS Proxy](rds-proxy-secrets-arns.md).

  Ini tidak diperlukan jika Anda menggunakan otentikasi end-to-end IAM.
+ **Izin IAM — Peran** IAM atau pengguna dengan izin untuk membuat dan mengelola kebijakan, peran, dan rahasia IAM. AWS Secrets Manager

## Membuat kebijakan IAM untuk autentikasi end-to-end IAM
<a name="rds-proxy-iam-setup-e2e-steps"></a>

Saat menggunakan autentikasi end-to-end IAM, RDS Proxy terhubung ke database Anda menggunakan autentikasi IAM alih-alih mengambil kredensi dari Secrets Manager. Ini memerlukan konfigurasi peran IAM Anda dengan `rds-db:connect` izin untuk akun database yang ingin Anda gunakan dengan proxy.

Untuk mengautentikasi Proxy RDS Anda ke database menggunakan IAM, buat peran IAM dengan kebijakan yang memberikan izin koneksi database yang diperlukan.

### Konsol
<a name="rds-proxy-iam-e2e-console"></a>

**Untuk membuat peran untuk otentikasi end-to-end IAM dengan proxy Anda**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Buat kebijakan izin untuk peran tersebut. Untuk langkah umum, lihat [Membuat kebijakan IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).

   Tempelkan kebijakan ini ke editor JSON dan buat perubahan berikut:
   + Ganti ID akun Anda sendiri.
   + Gantikan `us-east-2` dengan tempat proxy harus berada.
   + Gantikan sumber daya database IDs dan nama pengguna dengan yang ingin Anda gunakan. Format ID sumber daya berbeda antara instance RDS dan. Aurora clusters

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

1. Buat peran dan lampirkan kebijakan izin padanya. Untuk langkah umum, lihat [Membuat peran untuk mendelegasikan izin ke layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). AWS 

   Untuk **jenis entitas Tepercaya**, pilih **AWS layanan**. Di bawah **Kasus penggunaan**, pilih **RDS** dan pilih **RDS - Tambahkan Peran ke Database** untuk kasus penggunaan.

1. Untuk **kebijakan Izin**, pilih kebijakan yang Anda buat.

1. Untuk **Pilih entitas tepercaya**, masukkan kebijakan kepercayaan berikut untuk peran tersebut:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "rds.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

### AWS CLI
<a name="rds-proxy-iam-e2e-cli"></a>

Untuk membuat peran menggunakan AWS CLI, kirim permintaan berikut:

```
aws iam create-role \
  --role-name my_e2e_iam_role_name \

  --assume-role-policy-document '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'
```

Kemudian, lampirkan kebijakan ke peran:

```
aws iam put-role-policy \
  --role-name my_e2e_iam_role_name \
  --policy-name e2e_iam_db_connect_policy \
  --policy-document '{

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

Dengan peran IAM dan izin yang dikonfigurasi untuk autentikasi end-to-end IAM, Anda sekarang dapat membuat proxy dengan set to. `DefaultAuthScheme` `IAM_AUTH` Proxy ini langsung mengautentikasi ke database menggunakan IAM tanpa memerlukan rahasia Secrets Manager. Untuk petunjuk, lihat [Membuat proxy untuk Amazon RDS ](rds-proxy-creating.md).

Saat menggunakan autentikasi end-to-end IAM, pastikan bahwa pengguna database Anda dikonfigurasi untuk autentikasi IAM seperti yang dijelaskan dalam. [Membuat akun basis data menggunakan autentikasi IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

## Membuat kebijakan IAM untuk akses Secrets Manager
<a name="rds-proxy-iam-setup-steps"></a>

Untuk mengizinkan RDS Proxy mengambil kredenal database dari Secrets Manager, buat peran IAM dengan kebijakan yang memberikan izin yang diperlukan.

## Konsol
<a name="rds-proxy-iam-console"></a>

**Untuk membuat peran untuk mengakses rahasia Anda untuk digunakan dengan proxy Anda**

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Buat kebijakan izin untuk peran tersebut. Untuk langkah umum, lihat [Membuat kebijakan IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).

   Tempelkan kebijakan ini ke editor JSON dan buat perubahan berikut:
   + Ganti ID akun Anda sendiri.
   + Gantikan `us-east-2` dengan Wilayah tempat proxy akan berada.
   + Ganti nama rahasia dengan yang Anda buat. Untuk informasi selengkapnya, lihat [Menentukan kunci KMS dalam pernyataan kebijakan IAM](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html).
   + Ganti ID kunci KMS dengan yang Anda gunakan untuk mengenkripsi rahasia Secrets Manager, baik kunci default atau kunci Anda sendiri.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": [
                   "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_1",
                   "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_2"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "kms:Decrypt",
               "Resource": "arn:aws:kms:us-east-2:111122223333:key/key_id",
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Buat peran dan lampirkan kebijakan izin padanya. Untuk langkah umum, lihat [Membuat peran untuk mendelegasikan izin ke layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). AWS 

   Untuk **jenis entitas Tepercaya**, pilih **AWS layanan**. Di bawah **Kasus penggunaan**, pilih **RDS** dan pilih **RDS - Tambahkan Peran ke Database** untuk kasus penggunaan.

1. Untuk **kebijakan Izin**, pilih kebijakan yang Anda buat.

1. Untuk **Pilih entitas tepercaya**, masukkan kebijakan kepercayaan berikut untuk peran tersebut:

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "rds.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

## AWS CLI
<a name="rds-proxy-iam-cli"></a>

Untuk membuat peran menggunakan AWS CLI, kirim permintaan berikut:

```
aws iam create-role \
  --role-name my_role_name \
  --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'
```

Kemudian, lampirkan kebijakan ke peran:

```
aws iam put-role-policy \
  --role-name my_role_name \
  --policy-name secret_reader_policy \
  --policy-document '{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "secretsmanager:GetSecretValue",
            "Resource": [
                "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1",
                "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com"
                }
            }
        }
    ]
}'
```

Dengan peran dan izin IAM yang dikonfigurasi, Anda sekarang dapat membuat proxy dan mengaitkannya dengan peran ini. Hal ini memungkinkan proxy untuk mengambil kredensi database dengan aman dari AWS Secrets Manager dan mengaktifkan autentikasi IAM untuk aplikasi Anda. Untuk petunjuk, lihat [Membuat proxy untuk Amazon RDS ](rds-proxy-creating.md).