Perché ricevo l'errore "Access Denied" quando utilizzo l'autenticazione IAM per provare a connettermi ad Amazon RDS per MySQL?
Desidero utilizzare l'autenticazione AWS Identity and Access Management (AWS IAM) per connettermi alla mia istanza Amazon Relational Database Service (Amazon RDS) per MySQL. Tuttavia, ricevo un errore"Access Denied".
Breve descrizione
I messaggi di errore possono essere causati da autorizzazioni insufficienti per il ruolo IAM, autenticazione IAM disattivata, configurazioni errate dell'utente del database o un errore nella stringa di connessione. Il messaggio di errore che ricevi potrebbe essere simile al seguente:
"ERROR 1045 (28000): Access denied for user 'root'@'10.0.4.253' (using password: YES)"
Utilizza il runbook AWSSupport-TroubleshootRDSIAMAuthentication per verificare automaticamente la configurazione richiesta per l'autenticazione IAM con un'istanza Amazon RDS, quindi utilizza le risoluzioni per risolvere l'errore.
Risoluzione
Autorizzazioni insufficienti per il ruolo IAM
Per utilizzare Autenticazione database IAM per connetterti all'istanza Amazon RDS per MySQL, devi avere accesso all'azione rds-db:connect. Per ulteriori informazioni, consulta Creazione e utilizzo di una policy IAM per l'accesso al database IAM.
Se utilizzi policy di controllo dei servizi (SCP), assicurati che la policy consenta le connessioni all'istanza database. Per ulteriori informazioni, consulta Creazione di policy dell'organizzazione con AWS Organizations.
Attiva l'autenticazione IAM
Per impostazione predefinita, l'autenticazione IAM è disattivata per le istanze database. Per attivare l'autenticazione IAM, completa i seguenti passaggi:
- Apri la console Amazon RDS.
- Seleziona l'istanza.
- Scegli Modifica.
- Per Autenticazione database, scegli Password.
- Utilizza l'autenticazione database IAM.
- Per aggiornare le impostazioni di configurazione, scegli Continua.
- Per modificare l'istanza, scegli Applica.
Nota: se scegli Applica immediatamente quando aggiorni le impostazioni di configurazione del cluster, tutte le modifiche in sospeso vengono applicate immediatamente anziché durante una finestra di manutenzione. Questa azione potrebbe causare un'interruzione prolungata dell'istanza Amazon RDS per MySQL. Per ulteriori informazioni, consulta Utilizzo dell'impostazione Pianifica le modifiche.
Utente del database non configurato correttamente
AWSAuthenticationPlugin gestisce l'autenticazione IAM per l'istanza Amazon RDS per MySQL. Per verificare che il plugin si connetta al ruolo IAM, esegui questo comando:
select user,plugin,host from mysql.user where user like '%db-user-name%';
Nota: sostituisci db-user-name con il nome utente del tuo database.
Esempio di output:
+------+-------------------------+------+| user | plugin | host | +------+-------------------------+------+ | root | AWSAuthenticationPlugin | % | +------+-------------------------+------+ 1 row in set (0.00 sec)
Se il ruolo IAM utilizza un host specifico, devi usare quel nome host. Inoltre, assicurati di avere le autorizzazioni per accedere al database specificato.
Per visualizzare le autorizzazioni concesse a un utente, utilizza il seguente comando:
show grants for user;
Nota: sostituisci user con il nome utente.
Per concedere privilegi a un altro utente, utilizza questo comando:
grant select on mydb.mytable to user;
Nota: sostituisci mydb con il nome della tua istanza database, mytable con il nome della tua tabella e user con il tuo nome utente.
Per ulteriori informazioni, consulta GRANT statement (Istruzione GRANT) sul sito web MySQL.
Stringa di connessione errata
Per connetterti al database Amazon RDS per MySQL, utilizza l'opzione --enable-cleartext-plugin nella stringa di connessione. La sintassi --enable-cleartext-plugin funge da token di autenticazione e devi utilizzarla per la connessione al database e quando configuri l'utente del database.
Esempio di stringa di connessione:
$ mysql -h <endpoint> -P 3306 --enable-cleartext-plugin --user=RDSConnect --password=$
Informazioni correlate
- Lingua
- Italiano
Video correlati

