Risoluzione dei problemi per l'autenticazione IAM DB - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi per l'autenticazione IAM DB

Di seguito, puoi trovare idee per la risoluzione di alcuni problemi comuni di autenticazione IAM DB e informazioni su CloudWatch log e metriche per l'autenticazione IAM DB.

Esportazione dei log degli errori di autenticazione IAM DB in Logs CloudWatch

I log degli errori di autenticazione IAM DB sono archiviati sull'host del database e puoi esportare questi log nell'account Logs. CloudWatch Utilizza i log e i metodi di correzione in questa pagina per risolvere i problemi di autenticazione IAM DB.

Puoi abilitare le esportazioni dei log in CloudWatch Logs dalla console e dall'API RDS. AWS CLI Per le istruzioni sulla console, consulta. Pubblicazione dei log del database su Amazon CloudWatch Logs

Per esportare i log degli errori di autenticazione IAM DB in CloudWatch Logs durante la creazione di un cluster DB da AWS CLI, usa il seguente comando:

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

Per esportare i log degli errori di autenticazione IAM DB in CloudWatch Logs quando modifichi un cluster DB di da AWS CLI, usa il seguente comando:

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

Per verificare se il cluster DB dell'istanza DB sta esportando i log di autenticazione IAM DB in CloudWatch Logs, controlla se il EnabledCloudwatchLogsExports parametro è impostato su iam-db-auth-error nell'output del comando. describe-db-instances

aws rds describe-db-cluster --region us-east-1 --db-cluster-identifier mydbcluster ... "EnabledCloudwatchLogsExports": [ "iam-db-auth-error" ], ...

Metriche di autenticazione IAM DB CloudWatch

Amazon Aurora fornisce parametri quasi in tempo reale sull'autenticazione IAM DB al tuo account Amazon. CloudWatch La tabella seguente elenca i parametri di autenticazione IAM DB disponibili utilizzando: CloudWatch

Parametro Descrizione

IamDbAuthConnectionRequests

Numero totale di richieste di connessione effettuate con l'autenticazione IAM DB.

IamDbAuthConnectionSuccess

Numero totale di richieste di autenticazione IAM DB riuscite.

IamDbAuthConnectionFailure

Numero totale di richieste di autenticazione IAM DB non riuscite.

IamDbAuthConnectionFailureInvalidToken

Numero totale di richieste di autenticazione IAM DB non riuscite a causa di un token non valido.

IamDbAuthConnectionFailureInsufficientPermissions

Numero totale di richieste di autenticazione IAM DB non riuscite a causa di policy o autorizzazioni errate.

IamDbAuthConnectionFailureThrottling

Numero totale di richieste di autenticazione IAM DB non riuscite a causa della limitazione dell'autenticazione IAM DB.

IamDbAuthConnectionFailureServerError

Numero totale di richieste di autenticazione IAM DB non riuscite a causa di un errore interno del server nella funzionalità di autenticazione IAM DB.

Problemi e soluzioni comuni

È possibile riscontrare i seguenti problemi quando si utilizza l'autenticazione IAM DB. Utilizza i passaggi di riparazione indicati nella tabella per risolvere i problemi:

Errore Metrica/e Causa Soluzione

[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

Il token di autenticazione IAM DB nella richiesta di connessione non è un token SigV4A valido o non è formattato correttamente.

Controlla la tua strategia di generazione di token nella tua applicazione. In alcuni casi, assicurati di passare il token con una formattazione valida. Il tronco del token (o la formattazione errata della stringa) renderà il token non valido.

[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

Il token di autenticazione IAM DB è scaduto. I token sono validi solo per 15 minuti.

Controlla la logica di riutilizzo dei token di memorizzazione nella cache dei and/or token nell'applicazione. Non dovresti riutilizzare token più vecchi di 15 minuti.

[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

Questo errore potrebbe essere dovuto ai seguenti fattori:

  • La policy IAM assunta dall'applicazione non autorizza l'azione. rds-db:connect

  • Stai assumendo che la modalità di connessione role/policy db_user al database sia errata.

  • Stai assumendo la politica corretta perdb_user, ma non ti stai connettendo al database corretto.

Verifica che la and/or policy del ruolo IAM che stai adottando nella tua applicazione. Assicurati di assumere la stessa politica per generare il token utilizzata per la connessione al 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

Stai effettuando troppe richieste di connessione al tuo DB in un breve lasso di tempo. Il limite di limitazione dell'autenticazione IAM DB è di 200 connessioni al secondo.

Riduci la velocità di creazione di nuove connessioni con l'autenticazione IAM. Prendi in considerazione l'implementazione del pool di connessioni utilizzando RDS Proxy per riutilizzare le connessioni stabilite nell'applicazione.

[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

Si è verificato un errore interno durante l'autorizzazione della connessione DB con l'autenticazione IAM DB.

Contattateci per https://aws.amazon.com/premiumsupport/ indagare sul problema.