

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

# Crea utenti e ruoli delle applicazioni in Aurora, compatibile con PostgreSQL
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

## Riepilogo
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-summary"></a>

Quando esegui la migrazione ad Amazon Aurora PostgreSQL Compatible Edition, gli utenti e i ruoli del database esistenti nel database di origine devono essere creati nel database compatibile con Aurora PostgreSQL. È possibile creare utenti e ruoli in Aurora compatibili con PostgreSQL utilizzando due approcci diversi:
+ Utilizzate utenti e ruoli simili nel database di destinazione e nel database di origine. In questo approccio, i linguaggi di definizione dei dati (DDLs) vengono estratti per utenti e ruoli dal database di origine. Quindi vengono trasformati e applicati al database Aurora di destinazione compatibile con PostgreSQL. Ad esempio, il post sul blog [Use SQL to map users, roles and grants from Oracle to PostgreSQL](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) tratta l'utilizzo dell'estrazione da un motore di database sorgente Oracle.
+ Utilizza utenti e ruoli standardizzati che vengono comunemente utilizzati durante lo sviluppo, l'amministrazione e per l'esecuzione di altre operazioni correlate nel database. Ciò include le operazioni di sola lettura, lettura/scrittura, di sviluppo, amministrazione e distribuzione eseguite dai rispettivi utenti.

Questo modello contiene le sovvenzioni necessarie per la creazione di utenti e ruoli in Aurora, compatibile con PostgreSQL, necessarie per l'approccio standardizzato di utenti e ruoli. Le fasi di creazione di utenti e ruoli sono allineate alla politica di sicurezza che prevede la concessione dei privilegi minimi agli utenti del database. La tabella seguente elenca gli utenti, i ruoli corrispondenti e i relativi dettagli nel database.


| 
| 
| Utenti | Roles | Scopo | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Utilizzato per l'accesso in sola lettura allo schema `APP` | 
| `APP_WRITE` | `APP_RW` | Utilizzato per le operazioni di scrittura e lettura sullo schema `APP` | 
| `APP_dev_user` | `APP_DEV` | Utilizzato a scopo di sviluppo sullo schema`APP_DEV`, con accesso in sola lettura allo schema `APP` | 
| `Admin_User` | `rds_superuser` | Utilizzato per eseguire operazioni di amministratore sul database | 
| `APP` | `APP_DEP` | Utilizzato per creare gli oggetti nell'ambito dello `APP` schema e per la distribuzione degli oggetti nello `APP` schema | 

## Prerequisiti e limitazioni
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Prerequisiti**
+ Un account Amazon Web Services (AWS) attivo
+ Un database PostgreSQL, un database Edition compatibile con Amazon Aurora PostgreSQL o un database Amazon Relational Database Service (Amazon RDS) per PostgreSQL

**Versioni del prodotto**
+ Tutte le versioni di PostgreSQL

## Architecture
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-architecture"></a>

**Stack tecnologico di origine**
+ Qualsiasi database

**Stack tecnologico Target**
+ Compatibile con Amazon Aurora PostgreSQL

**Architettura Target**

Il diagramma seguente mostra i ruoli utente e l'architettura dello schema nel database Aurora compatibile con PostgreSQL.

![Ruoli utente e architettura dello schema per il database Aurora compatibile con PostgreSQL.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automazione e scalabilità**

Questo modello contiene gli utenti, i ruoli e lo script di creazione dello schema, che è possibile eseguire più volte senza alcun impatto sugli utenti esistenti del database di origine o di destinazione.

## Tools (Strumenti)
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-tools"></a>

**Servizi AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition è un motore](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) di database relazionale completamente gestito e conforme ad ACID che ti aiuta a configurare, gestire e scalare le distribuzioni PostgreSQL.

**Altri servizi**
+ [psql](https://www.postgresql.org/docs/current/app-psql.html) è uno strumento front-end basato su terminale che viene installato con ogni installazione del database PostgreSQL. Dispone di un'interfaccia a riga di comando per l'esecuzione di comandi SQL, PL-PGSQL e del sistema operativo.
+ [pgAdmin](https://www.pgadmin.org/) è uno strumento di gestione open source per PostgreSQL. Fornisce un'interfaccia grafica che consente di creare, gestire e utilizzare oggetti di database.

## Epiche
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Crea gli utenti e i ruoli
<a name="create-the-users-and-roles"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea l'utente di distribuzione. | L'utente di distribuzione `APP` verrà utilizzato per creare e modificare gli oggetti del database durante le distribuzioni. Utilizza gli script seguenti per creare il ruolo utente di distribuzione `APP_DEP` nello schema. `APP` Convalida i diritti di accesso per assicurarti che questo utente abbia solo il privilegio di creare oggetti nello schema richiesto. `APP`[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crea l'utente di sola lettura. | L'utente di sola lettura `APP_read` verrà utilizzato per eseguire l'operazione di sola lettura nello schema. `APP` Utilizzare gli script seguenti per creare l'utente di sola lettura. Convalida i diritti di accesso per assicurarti che questo utente abbia il privilegio solo di leggere gli oggetti nello schema `APP` e di concedere automaticamente l'accesso in lettura per tutti i nuovi oggetti creati nello schema. `APP`[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crea l' read/write utente. | L' read/write utente `APP_WRITE` verrà utilizzato per eseguire operazioni di lettura e scrittura sullo schema`APP`. Usa i seguenti script per creare l' read/write utente e concedergli il `APP_RW` ruolo. Convalida i diritti di accesso per assicurarti che questo utente disponga dei privilegi di lettura e scrittura solo sugli oggetti dello schema `APP` e per concedere automaticamente l'accesso in lettura e scrittura per ogni nuovo oggetto creato nello schema. `APP`[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Crea l'utente amministratore. | L'utente amministratore `Admin_User` verrà utilizzato per eseguire operazioni di amministrazione sul database. Esempi di queste operazioni sono `CREATE ROLE` e`CREATE DATABASE`. `Admin_User`utilizza il ruolo integrato `rds_superuser` per eseguire operazioni di amministrazione sul database. Utilizza gli script seguenti per creare e testare il privilegio per l'utente amministratore `Admin_User` nel database.[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Crea l'utente di sviluppo. | L'utente di sviluppo `APP_dev_user` avrà il diritto di creare gli oggetti nel suo schema locale `APP_DEV` e di leggere l'accesso allo schema`APP`. Utilizzate i seguenti script per creare e testare i privilegi dell'utente `APP_dev_user` nel database.[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 

## Risorse correlate
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**Documentazione PostgreSQL**
+ [CREA RUOLO](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [CREA UTENTE](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Ruoli predefiniti](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Informazioni aggiuntive
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Miglioramento di PostgreSQL 14**

PostgreSQL 14 fornisce una serie di ruoli predefiniti che danno accesso a determinate funzionalità e informazioni privilegiate di uso comune. Gli amministratori (compresi i ruoli che dispongono del `CREATE ROLE` privilegio) possono concedere questi ruoli o altri ruoli nel loro ambiente agli utenti, fornendo loro l'accesso alle funzionalità e alle informazioni specificate.

Gli amministratori possono concedere agli utenti l'accesso a questi ruoli utilizzando il comando. `GRANT` Ad esempio, per concedere il `pg_signal_backend` ruolo a`Admin_User`, è possibile eseguire il comando seguente.

```
GRANT pg_signal_backend TO Admin_User;
```

Il `pg_signal_backend` ruolo ha lo scopo di consentire agli amministratori di abilitare ruoli affidabili e non superutente per inviare segnali ad altri backend. Per ulteriori informazioni, consulta Miglioramento di [PostgreSQL 14](https://www.postgresql.org/docs/14/predefined-roles.html).

**Ottimizzazione dell'accesso**

In alcuni casi, potrebbe essere necessario fornire un accesso più granulare agli utenti (ad esempio, accesso basato su tabelle o accesso basato su colonne). In questi casi, è possibile creare ruoli aggiuntivi per concedere tali privilegi agli utenti. Per ulteriori informazioni, vedere [PostgreSQL Grants](https://www.postgresql.org/docs/8.4/sql-grant.html).