Risoluzione dei problemi relativi all’autenticazione database IAM - 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 relativi all’autenticazione database IAM

Di seguito, è possibile trovare idee per la risoluzione dei problemi comuni relativi all’autenticazione database IAM e informazioni sui log e sulle metriche di CloudWatch relativi all’autenticazione database IAM.

Esportazione di log degli errori di autenticazione database IAM su CloudWatch Logs

I log degli errori di autenticazione database IAM sono archiviati sull’host del database e li puoi esportare nel tuo account CloudWatch Logs. Utilizza i log e i metodi di correzione in questa pagina per risolvere i problemi relativi all’autenticazione database IAM.

È possibile abilitare le esportazioni dei log verso CloudWatch Logs dalla console, dalla AWS CLI e dall’API RDS. Per istruzioni relative alla console, consulta Pubblicazione di log di database su Amazon CloudWatch Logs.

Per esportare i log degli errori di autenticazione database IAM in CloudWatch Logs durante la modifica di un cluster di database dalla 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 database IAM in CloudWatch Logs durante la modifica di un cluster di database dalla 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 di database sta esportando i log di autenticazione database IAM su CloudWatch Logs, controlla se il parametro EnabledCloudwatchLogsExports è impostato a 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 CloudWatch relative all’autenticazione database IAM

Amazon Aurora fornisce metriche quasi in tempo reale sull’autenticazione database IAM al tuo account Amazon CloudWatch. Nella tabella seguente sono elencati le metriche di autenticazione database IAM e le dimensioni disponibili con CloudWatch:

Parametro Descrizione

IamDbAuthConnectionRequests

Numero totale di richieste di connessione effettuate con l’autenticazione database IAM.

IamDbAuthConnectionSuccess

Numero totale di richieste di autenticazione database IAM riuscite.

IamDbAuthConnectionFailure

Numero totale di richieste di autenticazione database IAM non riuscite.

IamDbAuthConnectionFailureInvalidToken

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

IamDbAuthConnectionFailureInsufficientPermissions

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

IamDbAuthConnectionFailureThrottling

Numero totale di richieste di autenticazione database IAM non riuscite a causa della limitazione (della larghezza di banda della rete) per l’autenticazione database IAM.

IamDbAuthConnectionFailureServerError

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

Problemi e soluzioni comuni

È possibile che si verifichino i seguenti problemi durante l’utilizzo dell’autenticazione database IAM. Utilizza i passaggi di correzione indicati nella tabella per risolvere i problemi:

Errore Metrica/metriche 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 database IAM 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. La troncatura 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 database IAM è scaduto. I token sono validi solo per 15 minuti.

Controlla la logica di memorizzazione nella cache dei token e/o di riutilizzo dei token nell’applicazione. Non 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’operazione rds-db:connect.

  • Stai assumendo il ruolo/la policy errati per la connessione di db_user al database.

  • Stai assumendo la policy corretta per db_user, ma non ti stai connettendo al database corretto.

Verifica il ruolo e/o la policy IAM che stai assumendo nella tua applicazione. Assicurati di assumere la stessa policy per generare il token utilizzata per la connessione al database.

[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 database in un breve lasso di tempo. La limitazione (della larghezza di banda della rete) per l’autenticazione database IAM è 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 Server proxy per RDS 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 database con l’autenticazione database IAM.

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