Pemecahan masalah untuk otentikasi IAM DB - Amazon Aurora

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

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

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, lihatMenerbitkan log database ke Amazon CloudWatch Logs.

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

aws rds create-db-cluster --db-cluster-identifier mydbinstance \ --region us-east-1 \ --engine postgres \ --engine-version 16 \ --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 cluster DB dari AWS CLI, gunakan perintah berikut:

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

Untuk memverifikasi apakah cluster DB 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-cluster --region us-east-1 --db-cluster-identifier mydbcluster ... "EnabledCloudwatchLogsExports": [ "iam-db-auth-error" ], ...

Metrik otentikasi CloudWatch IAM DB

Amazon 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

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

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

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

IamDbAuthConnectionFailureInsufficientPermissions

Kesalahan ini mungkin terjadi karena alasan berikut:

  • Kebijakan IAM yang diasumsikan oleh aplikasi tidak mengotorisasi tindakan tersebut. rds-db:connect

  • Anda berasumsi salah role/policy db_user untuk terhubung ke database.

  • Anda mengasumsikan kebijakan yang benar untukdb_user, tetapi Anda tidak terhubung ke database yang benar.

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

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

IamDbAuthConnectionFailureThrottling

Ada kesalahan internal saat mengotorisasi koneksi DB dengan otentikasi IAM DB.

Jangkau https://aws.amazon.com/premiumsupport/ untuk menyelidiki masalah ini.