

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

# Pemecahan masalah untuk otentikasi IAM DB
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting"></a>

Berikut ini, Anda dapat menemukan ide pemecahan masalah untuk beberapa masalah otentikasi IAM DB umum dan informasi tentang CloudWatch log dan metrik untuk otentikasi IAM DB.

## Mengekspor log kesalahan otentikasi IAM DB ke Log CloudWatch
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting.ErrorLogs"></a>

Log kesalahan otentikasi IAM DB disimpan di host database, dan Anda dapat mengekspor log ini ke akun CloudWatch Log Anda. Gunakan log dan metode remediasi di halaman ini untuk memecahkan masalah autentikasi IAM DB.

Anda dapat mengaktifkan ekspor log ke CloudWatch Log dari konsol AWS CLI, dan RDS API. Untuk petunjuk konsol, lihat[Menerbitkan log database ke Amazon CloudWatch Logs](USER_LogAccess.Procedural.UploadtoCloudWatch.md).

Untuk mengekspor log kesalahan autentikasi IAM DB Anda ke CloudWatch Log saat membuat dari AWS CLI, gunakan perintah berikut:

```
aws rds create-db-instance --db-instance-identifier {{mydbinstance}} \
--region {{us-east-1}} \
--db-instance-class {{db.t3.large}} \
--allocated-storage {{50}} \
--engine {{postgres}} \
--engine-version {{16}} \
--port {{5432}} \
--master-username {{master}} \
--master-user-password {{password}} \
--publicly-accessible \
--enable-iam-database-authentication \
--enable-cloudwatch-logs-exports=iam-db-auth-error
```

Untuk mengekspor log kesalahan autentikasi IAM DB Anda ke CloudWatch Log saat memodifikasi dari AWS CLI, gunakan perintah berikut:

```
aws rds modify-db-instance --db-instance-identifier {{mydbinstance}} \
--region {{us-east-1}} \
--cloudwatch-logs-export-configuration '{"EnableLogTypes":["iam-db-auth-error"]}'
```

Untuk memverifikasi apakah Anda mengekspor log otentikasi IAM DB ke CloudWatch Log, periksa apakah `EnabledCloudwatchLogsExports` parameter diatur ke `iam-db-auth-error` dalam output untuk perintah tersebut. `describe-db-instances`

```
aws rds describe-db-instances --region us-east-1 --db-instance-identifier {{mydbinstance}}
            ...
            
             "EnabledCloudwatchLogsExports": [
                "iam-db-auth-error"
            ],
            ...
```

## Metrik otentikasi CloudWatch IAM DB
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting.CWMetrics"></a>

Amazon RDS Aurora memberikan metrik waktu nyaris nyata tentang autentikasi IAM DB ke akun Amazon Anda. CloudWatch Tabel berikut mencantumkan metrik autentikasi IAM DB yang tersedia menggunakan: CloudWatch


| Metrik | Deskripsi | 
| --- | --- | 
| `IamDbAuthConnectionRequests` | Jumlah total permintaan koneksi yang dibuat dengan otentikasi IAM DB. | 
| `IamDbAuthConnectionSuccess` | Jumlah total permintaan otentikasi IAM DB yang berhasil. | 
| `IamDbAuthConnectionFailure` | Jumlah total permintaan otentikasi IAM DB yang gagal. | 
| `IamDbAuthConnectionFailureInvalidToken` | Jumlah total permintaan otentikasi IAM DB yang gagal karena token tidak valid. | 
| `IamDbAuthConnectionFailureInsufficientPermissions` | Jumlah total permintaan otentikasi IAM DB yang gagal karena kebijakan atau izin yang salah. | 
| `IamDbAuthConnectionFailureThrottling` | Jumlah total permintaan otentikasi IAM DB yang gagal karena pelambatan otentikasi IAM DB. | 
| `IamDbAuthConnectionFailureServerError` | Jumlah total permintaan otentikasi IAM DB yang gagal karena kesalahan server internal dalam fitur otentikasi IAM DB. | 

## Masalah dan solusi umum
<a name="UsingWithRDS.IAMDBAuth.Troubleshooting.IssuesSolutions"></a>

 Anda mungkin mengalami masalah berikut saat menggunakan keaslian IAM DB. Gunakan langkah-langkah remediasi dalam tabel untuk menyelesaikan masalah:


| Kesalahan | Metrik | Penyebab | Solusi | 
| --- | --- | --- | --- | 
| `[ERROR] Failed to authenticate the connection request for user {{db_user}} because the provided token is malformed or otherwise invalid. (Status Code: 400, Error Code: InvalidToken)` | `IamDbAuthConnectionFailure`<br />`IamDbAuthConnectionFailureInvalidToken` | Token autentiasi IAM DB dalam permintaan koneksi bukan token Sigv4a yang valid, atau tidak diformat dengan benar. | Periksa strategi pembuatan token Anda di aplikasi Anda. Dalam beberapa kasus, pastikan Anda meneruskan token dengan format yang valid. Memangkas token (atau pemformatan string yang salah) akan membuat token tidak valid.  | 
| `[ERROR] Failed to authenticate the connection request for user {{db_user}} because the token age is longer than 15 minutes. (Status Code: 400, Error Code:ExpiredToken)` | `IamDbAuthConnectionFailure`<br />`IamDbAuthConnectionFailureInvalidToken` | Token otentikasi IAM DB telah kedaluwarsa. Token hanya berlaku selama 15 menit. | Periksa logika penggunaan kembali token caching and/or token Anda di aplikasi Anda. Anda tidak boleh menggunakan kembali token yang lebih tua dari 15 menit. | 
| `[ERROR] Failed to authorize the connection request for user {{db_user}} because the IAM policy assumed by the caller 'arn:aws:sts::123456789012:assumed-role/ <RoleName>/ <RoleSession>' is not authorized to perform `rds-db:connect` on the DB instance. (Status Code: 403, Error Code:NotAuthorized)` | `IamDbAuthConnectionFailure`<br />`IamDbAuthConnectionFailureInsufficientPermissions` | Kesalahan ini mungkin terjadi karena alasan berikut:[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Troubleshooting.html) | Verifikasi bahwa and/or kebijakan peran IAM yang Anda asumsikan dalam aplikasi Anda. Pastikan Anda mengasumsikan kebijakan yang sama untuk menghasilkan token untuk terhubung ke DB.  | 
| `[ERROR] Failed to authorize the connection request for user {{db_user}} due to IAM DB authentication throttling. (Status Code: 429, Error Code: ThrottlingException)` | `IamDbAuthConnectionFailure`<br />`IamDbAuthConnectionFailureThrottling` | Anda membuat terlalu banyak permintaan koneksi ke DB Anda dalam waktu singkat. Batas pelambatan otentikasi IAM DB adalah 200 koneksi per detik. | Kurangi tingkat membangun koneksi baru dengan otentikasi IAM. Pertimbangkan untuk menerapkan penyatuan koneksi menggunakan RDS Proxy untuk menggunakan kembali koneksi yang sudah ada di aplikasi Anda. | 
| `[ERROR] Failed to authorize the connection request for user {{db_user}} due to an internal IAM DB authentication error. (Status Code: 500, Error Code: InternalError)` | `IamDbAuthConnectionFailure`<br />`IamDbAuthConnectionFailureThrottling` | Ada kesalahan internal saat mengotorisasi koneksi DB dengan otentikasi IAM DB. | Jangkau https://aws.amazon.com/premiumsupport/ untuk menyelidiki masalah ini. | 