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 all'istanza 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 RDS.
La policy nell'esempio seguente permette a un utente di connettersi a un'istanza 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:db-ABCDEFGHIJKL01234/db_user" ] } ] }
Importante
Un utente con le autorizzazioni di amministratore può accedere alle istanze database senza una policy IAM esplicita. Se vuoi limitare l'accesso come amministratore a di istanze, 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 all'istanza database. Se non si concede esplicitamente l'accesso, questo viene rifiutato per impostazione predefinita. -
Action
– Specificards-db:connect
per consentire le connessioni al dell'istanza database. -
Resource
– Specifica un Amazon Resource Name (ARN) che descrive un account database in un'istanza database. Di seguito è riportato il formato ARN.arn:aws:rds-db:
region
:account-id
:dbuser:DbiResourceId
/db-user-name
In questo formato, sostituisci quanto segue:
-
è la AWS regione per il di istanze DB. Nella politica di esempio, la AWS regione èregion
us-east-2
. -
è il numero di AWS account per il di istanze DB. Nella policy di esempio, il numero di account èaccount-id
1234567890
. L'utente deve essere nello stesso account dell'account dell'istanza database.Per eseguire l'accesso multi-account, crea un ruolo IAM con la policy mostrata in precedenza nell'account per l'istanza database e consenti all'altro account di assumere il ruolo.
-
è l'identificatore del dell'istanza database. Questo identificatore è unico per una AWS regione e non cambia mai. Nella policy di esempio, l'identificatore èDbiResourceId
db-ABCDEFGHIJKL01234
.Per trovare un ID di risorsa del di istanze DB in Amazon RDS Aurora, scegli il cluster di DB per visualizzarne i dettagli. Quindi seleziona la scheda Configuration (Configurazione). Resource ID (ID risorsa) è visualizzato nella sezione Configuration (Configurazione).
In alternativa, puoi utilizzare il AWS CLI comando per elencare gli identificatori e le risorse IDs per tutto il di istanze DB nella AWS regione corrente, come illustrato di seguito.
aws rds describe-db-instances --query "DBInstances[*].[DBInstanceIdentifier,DbiResourceId]"
Se utilizzi Amazon Aurora, specifica
DbClusterResourceId
anzichéDbiResourceId
. Per ulteriori informazioni, consulta Creazione e utilizzo di una policy IAM per l'accesso al database IAM nella Guida per l'utente di Amazon Aurora.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
.
-
È possibile crearne altri ARNs per supportare vari modelli di accesso. La policy seguente permette l'accesso a due diversi account database in un dell'istanza database.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/jane_doe", "arn:aws:rds-db:us-east-2:123456789012:dbuser:db-ABCDEFGHIJKL01234/mary_roe" ] } ] }
La seguente politica utilizza il carattere «*» per abbinare tutte le istanze DB, i account di database per un account e una regione particolari AWS . AWS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:*/*" ] } ] }
La seguente politica corrisponde a tutti i di istanze DB per un account e una regione particolari AWS . AWS Tuttavia, la policy concede l'accesso solo a istanze 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 dell'istanza 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 all'istanza 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:db-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe
Se colleghi la policy agli utenti Jane, Bob e Diego, ciascuno di quegli utenti potrà connettersi all'istanza database specificato utilizzando l'account di database jane_doe
.