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à.
Creazione e utilizzo di una policy IAM per l'accesso al database IAM
Per permettere a un utente o un ruolo di connettersi al cluster database, devi creare una policy IAM. Dopo questa operazione, collega la policy a un set di autorizzazioni o un ruolo.
Nota
Per ulteriori informazioni sulle policy IAM, consulta Gestione delle identità e degli accessi per Amazon Aurora.
La policy nell'esempio seguente permette a un utente di connettersi a un cluster database tramite l'autenticazione database IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:cluster-ABCDEFGHIJKL01234/db_user" ] } ] }
Importante
Un utente con le autorizzazioni di amministratore può accedere ai cluster database senza una policy IAM esplicita. Se vuoi limitare l'accesso come amministratore a cluster di , puoi creare un ruolo IAM con le autorizzazioni appropriate, con privilegi minori e assegnarlo all'amministratore.
Nota
Non confondere il prefisso rds-db:
con altri prefissi di operazione API RDS che iniziano con rds:
. Utilizzi il prefisso rds-db:
e l'operazione rds-db:connect
solo per l'autenticazione database IAM. Non sono validi in altri contesti.
La policy di esempio include una singola istruzione con i seguenti elementi:
-
Effect
– SpecificaAllow
per concedere l'accesso al cluster database. Se non si concede esplicitamente l'accesso, questo viene rifiutato per impostazione predefinita. -
Action
– Specificards-db:connect
per consentire le connessioni al cluster database. -
Resource
– Specifica un Amazon Resource Name (ARN) che descrive un account database in un cluster database. Di seguito è riportato il formato ARN.arn:aws:rds-db:
region
:account-id
:dbuser:DbClusterResourceId
/db-user-name
In questo formato, sostituisci quanto segue:
-
è la regione AWS per il cluster di database. Nella policy di esempio, la regione AWS èregion
us-east-2
. -
è il numero di account AWS per il cluster di database. Nella policy di esempio, il numero di account èaccount-id
1234567890
. L'utente deve essere nello stesso account dell'account del cluster di database.Per eseguire l'accesso multi-account, crea un ruolo IAM con la policy mostrata in precedenza nell'account per il cluster di database e consenti all'altro account di assumere il ruolo.
-
è l'identificatore del cluster database. L'identificatore è univoco per una regione AWS e non cambia mai. Nella policy di esempio, l'identificatore èDbClusterResourceId
cluster-ABCDEFGHIJKL01234
.Per trovare l'ID risorsa di un cluster di database nella AWS Management Console per Amazon Aurora, scegli il cluster database per visualizzarne i dettagli. Quindi seleziona la scheda Configuration (Configurazione). Resource ID (ID risorsa) è visualizzato nella sezione Configuration (Configurazione).
In alternativa, puoi utilizzare il comando AWS CLI per elencare gli identificatori e gli ID della risorsa per tutte i cluster di database nella regione AWS corrente, come riportato di seguito.
aws rds describe-db-clusters --query "DBClusters[*].[DBClusterIdentifier,DbClusterResourceId]"
Nota
Se si sta effettuando la connessione a un database tramite proxy RDS, specificare l'ID risorsa proxy, ad esempio
prx-ABCDEFGHIJKL01234
. Per informazioni sull'utilizzo dell'autenticazione del database IAM con proxy RDS, vedere Connessione a un proxy mediante autenticazione IAM. -
è il nome dell'account database da associare all'autenticazione IAM. Nella policy di esempio, l'account database èdb-user-name
db_user
.
-
Puoi creare altri nomi ARN per supportare i vari modelli di accesso. La policy seguente permette l'accesso a due diversi account database in un cluster database.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/jane_doe", "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/mary_roe" ] } ] }
La policy seguente usa il carattere "*" per trovare le corrispondenze di tutti i cluster DB e di tutti gli account database per un account AWS e una regione AWS specifici.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:*/*" ] } ] }
La policy seguente ricerca la corrispondenza di tutti i cluster di database per un account AWS e una regione AWS specifici. Tuttavia, la policy concede l'accesso solo a cluster database che hanno un account database jane_doe
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:*/jane_doe" ] } ] }
L'utente o il ruolo ha accesso solo a quei database ai quali l'utente ha accesso. Supponiamo, ad esempio, che il cluster database abbia un database denominato dev e un altro database denominato test. Se l'utente del database jane_doe
ha accesso solo a dev, anche qualsiasi utente o ruolo che accede al cluster database con l'utente jane_doe
ha accesso solo a dev. Questa restrizione dell'accesso è anche valida per altri oggetti database, come tabelle, visualizzazioni e così via.
Un amministratore deve creare policy IAM che concedono alle entità l'autorizzazione per eseguire operazioni API specifiche sulle risorse specificate di cui hanno bisogno. L'amministratore deve quindi collegare queste policy ai set di autorizzazioni o ai ruoli che richiedono tali autorizzazioni. Per esempi di policy, consulta .
Collegamento di una policy IAM a un set di autorizzazioni o un ruolo
Dopo aver creato una policy IAM per consentire l'autenticazione del database, devi collegare la policy a un set di autorizzazioni o un ruolo. Per un tutorial su questo argomento, consulta Creare e collegare la tua prima policy gestita dal cliente nella Guida per l'utente IAM.
Durante il tutorial, puoi utilizzare uno degli esempi di policy indicati in questa sezione come punto di partenza e personalizzarli in base alle tue esigenze. Al termine del tutorial, avrai un set di autorizzazioni con una policy collegata che può utilizzare l'operazione rds-db:connect
.
Nota
Puoi mappare più set di autorizzazioni o ruoli allo stesso account utente del database. Ad esempio, supponiamo che la policy IAM abbia specificato la seguente risorsa ARN.
arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe
Se colleghi la policy agli utenti Jane, Bob e Diego, ciascuno di quegli utenti potrà connettersi al cluster di database specificato utilizzando l'account di database jane_doe
.