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. Associate i ruoli IAM ai ruoli del database PostgreSQL per l'autorizzazione del database. Questo approccio combina i vantaggi di IAM con i privilegi PostgreSQL. Aurora DSQL utilizza queste funzionalità per fornire una politica 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 l'autorizzazione:

Autenticazione IAM

Per autenticare la tua identità IAM quando gestisci i cluster Aurora DSQL, devi usare IAM. Puoi fornire l'autenticazione utilizzando AWS Management Console, o l'SDK AWS CLI.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 IAMdsql:GetCluster, come nell'esempio seguente di azione politica.

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

Per ulteriori informazioni, consulta Utilizzo delle azioni politiche di IAM per gestire i cluster.

Connessione al cluster tramite IAM

Per connetterti al tuo cluster, usa IAM per l'autenticazione e l'autorizzazione:

Autenticazione IAM

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

Autorizzazione IAM

Concedi le seguenti azioni politiche IAM all'identità IAM che stai utilizzando per stabilire la connessione all'endpoint del cluster:

  • dsql:DbConnectAdminUsalo se stai usando il admin ruolo. Aurora DSQL crea e gestisce questo ruolo per te. Il seguente esempio di azione politica IAM consente di connettersi admin a. my-cluster

    { "Effect": "Allow", "Action": "dsql:DbConnectAdmin", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/my-cluster" }
  • dsql:DbConnectUtilizzalo se utilizzi un ruolo di database personalizzato. Puoi creare e gestire questo ruolo utilizzando i comandi SQL nel tuo 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 viene autorizzato per un massimo di un'ora per la connessione.

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 il ruolo. 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 admin ruolo e ruoli personalizzati. Aurora DSQL crea automaticamente un admin ruolo predefinito per te nel tuo cluster Aurora DSQL. Non puoi modificare il ruolo. admin Quando ti connetti al tuo database comeadmin, puoi emettere SQL per creare nuovi ruoli a livello di database da associare ai tuoi ruoli IAM. Per consentire ai ruoli IAM di connettersi al tuo database, associa i ruoli del database personalizzati ai ruoli IAM.

Autenticazione

Usa il admin ruolo per connetterti al tuo cluster. Dopo aver connesso il database, utilizza il comando AWS IAM GRANT per associare un ruolo di 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 ulteriori informazioni, consulta Autorizzazione dei ruoli del database a connettersi al cluster.

Autorizzazione

Usa il admin ruolo per connetterti al tuo cluster. Esegui i comandi SQL per configurare ruoli di database personalizzati e concedere autorizzazioni. Per ulteriori informazioni, consulta i ruoli del database PostgreSQL e i privilegi PostgreSQL nella documentazione di PostgreSQL.

Utilizzo delle azioni politiche IAM con Aurora DSQL

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

Utilizzo delle azioni politiche IAM per connettersi ai cluster

Quando ti connetti al cluster con il ruolo di database predefinito diadmin, utilizza un'identità IAM con autorizzazione per eseguire le seguenti azioni politiche IAM.

"dsql:DbConnectAdmin"

Quando ti connetti al cluster con un ruolo di database personalizzato, associa innanzitutto il ruolo IAM al ruolo del database. L'identità IAM che usi per connetterti al tuo cluster deve essere autorizzata a eseguire le seguenti azioni politiche IAM.

"dsql:DbConnect"

Per ulteriori informazioni sui ruoli personalizzati del database, consultaUtilizzo dei ruoli del database e dell'autenticazione IAM.

Utilizzo delle azioni politiche di IAM per gestire i cluster

Quando gestisci i cluster Aurora DSQL, specifica le azioni politiche 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 di ruolo solo alle autorizzazioni GetCluster and, come illustrato nella ListClusters seguente politica 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 politiche 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

Puoi revocare le autorizzazioni per i tuoi ruoli IAM per accedere ai ruoli a livello di database:

Revoca dell'autorizzazione dell'amministratore per la connessione ai cluster

Per revocare l'autorizzazione alla connessione al cluster con il admin ruolo, 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 dall'identità IAM, Aurora DSQL rifiuta tutti i nuovi tentativi di connessione da quell'identità IAM. Qualsiasi connessione attiva che utilizza l'identità IAM potrebbe rimanere autorizzata per tutta la durata della connessione. Per ulteriori informazioni sulla durata delle connessioni, consulta Quote e limiti.

Revoca dell'autorizzazione al ruolo personalizzato per la connessione ai cluster

Per revocare l'accesso a ruoli di database diversi daadmin, revoca l'accesso dell'identità IAM a. dsql:DbConnect Modifica la policy IAM o scollega la policy dall'identità.

Puoi anche rimuovere l'associazione tra il ruolo del database e IAM utilizzando il comando AWS IAM REVOKE nel tuo database. Per ulteriori informazioni sulla revoca dell'accesso dai ruoli del database, consulta. Revoca dell'autorizzazione del database da un ruolo IAM

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