Autenticazione e autorizzazione per Aurora DSQL - Amazon Aurora DSQL

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à.

Autenticazione e autorizzazione per Aurora DSQL

Aurora DSQL utilizza i ruoli e le policy IAM per l’autorizzazione dei cluster. Per l’autorizzazione del database si associano i ruoli IAM ai ruoli del database PostgreSQL. Questo approccio combina i vantaggi di IAM con i privilegi di PostgreSQL. Aurora DSQL utilizza queste funzionalità per fornire una policy di autorizzazione e accesso completa per cluster, database e dati.

Gestione del cluster tramite IAM

Per gestire il cluster, utilizza IAM per l’autenticazione e le autorizzazioni:

Autenticazione IAM

Per autenticare l’identità IAM quando si gestiscono i cluster Aurora DSQL è necessario utilizzare IAM. È possibile fornire l’autenticazione utilizzando Console di gestione AWS, AWS CLI o l’SDK AWS.

Autorizzazione IAM

Per gestire i cluster Aurora DSQL, concedi l’autorizzazione utilizzando le azioni IAM per Aurora DSQL. Ad esempio, per descrivere un cluster, assicurati che la tua identità IAM disponga delle autorizzazioni per l’azione IAM dsql:GetCluster, come nell’esempio seguente di azione della policy.

{ "Effect": "Allow", "Action": "dsql:GetCluster", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster" }

Per maggiori informazioni, consulta Utilizzo delle azioni delle policy IAM per gestire i cluster.

Connessione al cluster tramite IAM

Per connetterti al cluster, utilizza IAM per l’autenticazione e le autorizzazioni:

Autenticazione IAM

Genera un token di autenticazione temporaneo utilizzando un’identità IAM con autorizzazione per connetterti al cluster. Per maggiori informazioni, consulta Generazione di un token di autenticazione in Amazon Aurora DSQL.

Autorizzazione IAM

Concedi le seguenti azioni della policy IAM all’identità IAM che stai utilizzando per stabilire la connessione all’endpoint del cluster:

  • Utilizza dsql:DbConnectAdmin se stai utilizzando il ruolo admin. Aurora DSQL crea e gestisce questo ruolo per l’utente. Il seguente esempio di azione politica IAM consente admin di connettersi amy-cluster.

    { "Effect": "Allow", "Action": "dsql:DbConnectAdmin", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster" }
  • Utilizza dsql:DbConnect se stai utilizzando un ruolo del database personalizzato. Puoi creare e gestire questo ruolo utilizzando i comandi SQL nel database. Il seguente esempio di azione politica IAM consente la connessione di un ruolo di database personalizzato my-cluster per un massimo di un'ora.

    { "Effect": "Allow", "Action": "dsql:DbConnect", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster" }

Dopo aver stabilito una connessione, il ruolo è autorizzato per un massimo di un’ora.

Interazione con il database utilizzando i ruoli del database PostgreSQL e i ruoli IAM

PostgreSQL gestisce le autorizzazioni di accesso al database utilizzando il concetto di ruoli. Un ruolo può essere considerato come un utente del database o un gruppo di utenti del database, a seconda di come è impostato. I ruoli PostgreSQL vengono creati utilizzando i comandi SQL. Per gestire l’autorizzazione a livello di database, concedi le autorizzazioni PostgreSQL ai ruoli del database PostgreSQL.

Aurora DSQL supporta due tipi di ruoli del database: un ruolo admin e i ruoli personalizzati. Aurora DSQL crea automaticamente un ruolo admin predefinito nel cluster Aurora DSQL. Non è possibile modificare il ruolo admin. Quando ci si connette al tuo database come admin, è possibile utilizzare comandi SQL per creare nuovi ruoli a livello di database da associare ai ruoli IAM. Per consentire ai ruoli IAM di connettersi al database, associare i ruoli del database personalizzati ai ruoli IAM.

Autenticazione

Utilizza il ruolo admin per connetterti al cluster. Dopo aver connesso il database, utilizza il comando AWS IAM GRANT per associare un ruolo del database personalizzato all’identità IAM autorizzata a connettersi al cluster, come nell’esempio seguente.

AWS IAM GRANT custom-db-role TO 'arn:aws:iam::account-id:role/iam-role-name';

Per maggiori informazioni, consultare Autorizzazione alla connessione al cluster per i ruoli del database.

Autorizzazione

Utilizza il ruolo admin per connetterti al cluster. Esegui i comandi SQL per configurare ruoli di database personalizzati e concedere le autorizzazioni. Per maggiori informazioni, consulta le pagine dedicate ai ruoli del database PostgreSQL e ai privilegi PostgreSQL nella documentazione di PostgreSQL.

Utilizzo delle azioni delle policy IAM con Aurora DSQL

L’azione della policy IAM utilizzata dipende dal ruolo utilizzato per la connessione al cluster: un ruolo admin o un ruolo del database personalizzato. La policy dipende anche dalle azioni IAM richieste per questo ruolo.

Utilizzo delle azioni delle policy IAM per connettersi ai cluster

Quando ti connetti al cluster con il ruolo del database predefinito di admin, utilizza un’identità IAM con autorizzazione per eseguire le seguenti azioni delle policy IAM.

"dsql:DbConnectAdmin"

Quando ti connetti al cluster con un ruolo del database personalizzato, associa innanzitutto il ruolo IAM al ruolo del database. L’identità IAM usata per connettersi al cluster deve essere autorizzata a eseguire le seguenti azioni delle policy IAM.

"dsql:DbConnect"

Per maggiori informazioni sui ruoli del database personalizzati, consulta Utilizzo dei ruoli del database e dell’autenticazione IAM.

Utilizzo delle azioni delle policy IAM per gestire i cluster

Quando gestisci i cluster Aurora DSQL, specifica le azioni delle policy solo per le azioni che il tuo ruolo deve eseguire. Ad esempio, se il ruolo deve solo ottenere informazioni sul cluster, è possibile limitare le autorizzazioni del ruolo alle sole autorizzazioni GetCluster e ListClusters, come illustrato nella seguente policy di esempio

JSON
{ "Version":"2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "dsql:GetCluster", "dsql:ListClusters" ], "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster" } ] }

La seguente policy di esempio mostra tutte le azioni delle policy IAM disponibili per la gestione dei cluster.

JSON
{ "Version":"2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "dsql:CreateCluster", "dsql:GetCluster", "dsql:UpdateCluster", "dsql:DeleteCluster", "dsql:ListClusters", "dsql:TagResource", "dsql:ListTagsForResource", "dsql:UntagResource" ], "Resource" : "*" } ] }

Revoca dell’autorizzazione tramite IAM e PostgreSQL

È possibile revocare le autorizzazioni di accesso ai ruoli a livello di database dei ruoli IAM:

Revoca dell’autorizzazione dell’amministratore alla connessione ai cluster

Per revocare l’autorizzazione alla connessione al cluster con il ruolo admin, revoca l’accesso dell’identità IAM a dsql:DbConnectAdmin. Modifica la policy IAM o scollega la policy dall’identità.

Dopo aver revocato l’autorizzazione di connessione all’identità IAM, Aurora DSQL rifiuta tutti i nuovi tentativi di connessione da tale identità IAM. Qualsiasi connessione attiva che utilizza l’identità IAM potrebbe rimanere autorizzata per tutta la durata della connessione. Per maggiori informazioni sulle durate della connessione, consulta Quote e limiti.

Revoca dell’autorizzazione personalizzata al ruolo per la connessione ai cluster

Per revocare l’accesso a ruoli del database diversi da admin, revoca l’accesso dell’identità IAM a dsql:DbConnect. Modifica la policy IAM o scollega la policy dall’identità.

È anche possibile rimuovere l’associazione tra il ruolo del database e IAM utilizzando il comando AWS IAM REVOKE nel database. Per maggiori informazioni sulla revoca dell’accesso ai ruoli del database, consulta Revoca dell’autorizzazione del database a un ruolo IAM.

Non è possibile gestire le autorizzazioni del ruolo predefinito admin del database. Per informazioni su come gestire le autorizzazioni per i ruoli del database personalizzati, consulta Privilegi di PostgreSQL. Le modifiche ai privilegi hanno effetto sulla transazione successiva dopo che Aurora DSQL ha eseguito correttamente il commit della transazione di modifica.