

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

# Utilizzo dei ruoli del database e dell’autenticazione IAM
<a name="using-database-and-iam-roles"></a>

Aurora DSQL supporta l’autenticazione utilizzando sia i ruoli IAM che gli utenti IAM. È possibile utilizzare entrambi i metodi per autenticare e accedere ai database Aurora DSQL.

## Ruoli IAM
<a name="dsql-iam-roles"></a>

Un ruolo IAM è un'identità interna all'utente Account AWS che dispone di autorizzazioni specifiche ma non è associata a una persona specifica. Utilizzo di ruoli IAM per fornire credenziali di sicurezza temporanee. È possibile assumere temporaneamente un ruolo IAM in modi diversi:
+ Cambiando ruolo nel Console di gestione AWS
+ Richiamando un'operazione AWS CLI o AWS API
+ Utilizzando un URL personalizzato

Dopo aver assunto un ruolo, puoi accedere ad Aurora DSQL utilizzando le credenziali temporanee del ruolo. Per maggiori informazioni sui metodi per l’utilizzo dei ruoli, consulta [Identità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) nella *Guida per l’utente di IAM*.

## Utenti IAM
<a name="dsql-iam-users"></a>

Un utente IAM è un'identità interna Account AWS che dispone di autorizzazioni specifiche ed è associata a una singola persona o applicazione. Gli utenti IAM dispongono di credenziali a lungo termine come password e chiavi di accesso che possono essere utilizzate per accedere ad Aurora DSQL. 

**Nota**  
Per eseguire comandi SQL con l'autenticazione IAM, puoi utilizzare il ruolo IAM ARNs o l'utente IAM ARNs negli esempi seguenti.

## Autorizzazione alla connessione al cluster per i ruoli del database
<a name="using-database-and-iam-roles-custom-database-roles"></a>

Creazione di un ruolo IAM e concessione dell’autorizzazione alla connessione con l’azione della policy IAM: `dsql:DbConnect`.

La policy IAM deve inoltre concedere l’autorizzazione ad accedere alle risorse del cluster. Utilizza una wildcard (`*`) o segui le istruzioni riportate nella pagina che spiega come [utilizzare le chiavi di condizione IAM con Amazon Aurora DSQL](using-iam-condition-keys.md#using-iam-condition-keys-create-cluster).

## Autorizzazione dei ruoli del database a utilizzare SQL nel database
<a name="using-database-and-iam-roles-custom-database-roles-sql"></a>

È necessario utilizzare un ruolo IAM con autorizzazione a connettersi al cluster.

1. Connettiti al cluster Aurora DSQL utilizzando un’utilità SQL.

   Utilizza il ruolo del database `admin` con un’identità IAM autorizzata all’azione IAM `dsql:DbConnectAdmin` per connetterti al cluster. 

1. Crea un nuovo ruolo nel database, assicurandoti di specificare l’opzione `WITH LOGIN`.

   ```
   CREATE ROLE example WITH LOGIN;
   ```

1. Associa il ruolo del database all’ARN del ruolo IAM.

   ```
   AWS IAM GRANT example TO 'arn:aws:iam::012345678912:role/example'; 
   ```

1. Concedi autorizzazioni a livello di database al ruolo del database

   Negli esempi seguenti viene utilizzato il comando `GRANT` per fornire l’autorizzazione all’interno del database.

   ```
   GRANT USAGE ON SCHEMA myschema TO example;
   GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA myschema TO example;
   ```

Per maggiori informazioni, consulta [PostgreSQL `GRANT`](https://www.postgresql.org/docs/current/sql-grant.html) e [Privilegi di PostgreSQL](https://www.postgresql.org/docs/current/ddl-priv.html) nella documentazione di PostgreSQL. 

## Visualizzazione delle mappature tra IAM e i ruoli del database
<a name="using-database-and-iam-roles-view-mappings"></a>

Per visualizzare le mappature tra i ruoli IAM e i ruoli del database, interroga la tabella di sistema `sys.iam_pg_role_mappings`.

```
SELECT * FROM sys.iam_pg_role_mappings;
```

Output di esempio:

```
 iam_oid |                  arn                   | pg_role_oid | pg_role_name | grantor_pg_role_oid | grantor_pg_role_name
---------+----------------------------------------+-------------+--------------+---------------------+----------------------
   26398 | arn:aws:iam::012345678912:role/example |       26396 | example      |               15579 | admin
(1 row)
```

Questa tabella mostra tutte le mappature tra i ruoli IAM (identificati dal relativo ARN) e i ruoli del database PostgreSQL.

## Revoca dell’autorizzazione del database a un ruolo IAM
<a name="using-database-and-iam-roles-revoke"></a>

Per revocare l’autorizzazione del database, utilizzare l’operazione `AWS IAM REVOKE`.

```
AWS IAM REVOKE example FROM 'arn:aws:iam::012345678912:role/example';
```

Per maggiori informazioni sulla revoca dell’autorizzazione, consulta [Revoca dell’autorizzazione tramite IAM e PostgreSQL](authentication-authorization.md#authentication-authorization-revoke).