

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 di Autenticazione Kerberos con Amazon RDS for PostgreSQL
<a name="postgresql-kerberos"></a>

Puoi utilizzare Kerberos per autenticare gli utenti quando si connettono all'istanza database che esegue PostgreSQL. A tale scopo, configura l'istanza DB da utilizzare AWS Directory Service for Microsoft Active Directory per l'autenticazione Kerberos. AWS Directory Service for Microsoft Active Directory viene anche chiamato. AWS Managed Microsoft ADÈ una funzionalità disponibile con Directory Service. Per ulteriori informazioni, vedi [Cos'è Directory Service?](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) nella *Guida all'AWS Directory Service amministrazione*.

Per iniziare, crea una AWS Managed Microsoft AD directory per memorizzare le credenziali dell'utente. Per l'istanza database PostgreSQL, specifica quindi il dominio di Active Directory e altre informazioni. Quando gli utenti eseguono l'autenticazione con l'istanza database PostgreSQL, le richieste di autenticazione vengono inoltrate alla directory AWS Managed Microsoft AD . 

Mantenere tutte le credenziali nella stessa directory consente di ridurre il tempo e l'impegno. È disponibile una posizione centralizzata per archiviare e gestire le credenziali per più istanze database. L'uso di una directory può inoltre migliorare il profilo di sicurezza complessivo.

Puoi inoltre accedere alle credenziali da Microsoft Active Directory on-premise. A tale scopo, crea una relazione di dominio trusting in modo che la directory AWS Managed Microsoft AD consideri attendibile Microsoft Active Directory on-premise. In questo modo, gli utenti possono accedere alle istanze PostgreSQL con la stessa esperienza SSO (Single Sign-On) Windows dei carichi di lavoro nella rete locale.

Un database può utilizzare l'autenticazione tramite password o l'autenticazione tramite password con autenticazione Kerberos o (IAM). AWS Identity and Access Management Per ulteriori informazioni sull’autenticazione IAM, consulta [Autenticazione del database IAM per MariaDB, MySQL e PostgreSQL](UsingWithRDS.IAMDBAuth.md). 

**Nota**  
RDS per PostgreSQL non supporta l’autenticazione Kerberos per gruppi di Active Directory.

**Topics**
+ [Disponibilità di regioni e versioni](#postgresql-kerberos.RegionVersionAvailability)
+ [Panoramica di Autenticazione Kerberos per istanze database di PostgreSQL](#postgresql-kerberos-overview)
+ [Configurazione dell'autenticazione Kerberos per istanze database di PostgreSQL](postgresql-kerberos-setting-up.md)
+ [Gestione di un dominio Active Directory](postgresql-kerberos-managing.md)
+ [Connessione a PostgreSQL con Autenticazione Kerberos](postgresql-kerberos-connecting.md)

## Disponibilità di regioni e versioni
<a name="postgresql-kerberos.RegionVersionAvailability"></a>

Il supporto varia a seconda delle versioni specifiche di ciascun motore di database e a seconda delle Regioni AWS. Per ulteriori informazioni sulla disponibilità della versione e della regione di RDS per PostgreSQL con autenticazione Kerberos, consulta [Regioni e motori di database supportati per l’autenticazione Kerberos in Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.KerberosAuthentication.md).

## Panoramica di Autenticazione Kerberos per istanze database di PostgreSQL
<a name="postgresql-kerberos-overview"></a>

Per configurare l'autenticazione Kerberos per un'istanza database di PostgreSQL, segui queste fasi, descritte dettagliatamente più avanti:

1. Utilizzare AWS Managed Microsoft AD per creare una AWS Managed Microsoft AD directory. È possibile utilizzare l' Console di gestione AWS AWS CLI, la o l' Directory Service API per creare la directory. Assicurati di aprire le porte in uscita rilevanti nel gruppo di sicurezza della directory in modo che la directory possa comunicare con l'istanzadel .

1. Crea un ruolo che fornisca RDS per effettuare chiamate alla tua directory. AWS Managed Microsoft AD A tale scopo, crea un ruolo AWS Identity and Access Management (IAM) che utilizzi la policy IAM gestita. `AmazonRDSDirectoryServiceAccess` 

   Affinché il ruolo IAM consenta l'accesso, l'endpoint AWS Security Token Service (AWS STS) deve essere attivato nella AWS regione corretta per il tuo AWS account. AWS STS Gli endpoint sono tutti Regioni AWS attivi per impostazione predefinita e puoi utilizzarli senza ulteriori azioni. *Per ulteriori informazioni, consulta [Attivazione e disattivazione AWS STS in una AWS regione nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#sts-regions-activate-deactivate) per l'utente IAM.*

1. Crea e configura gli utenti nella AWS Managed Microsoft AD directory utilizzando gli strumenti di Microsoft Active Directory. Per ulteriori informazioni sulla creazione di utenti in Active Directory, consulta [Gestire utenti e gruppi in AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups.html) nella *Guida all'Directory Service amministrazione*.

1. Se prevedi di localizzare la directory e l'istanza DB in diversi AWS account o cloud privati virtuali (VPCs), configura il peering VPC. Per ulteriori informazioni, consulta [Che cos'è il peering di VPC?](https://docs.aws.amazon.com/vpc/latest/peering/Welcome.html) nella *Amazon VPC Peering Guide*.

1. Creare o modificare un'istanza database di PostgreSQL dalla console, da CLI o dall'API di RDS utilizzando uno dei seguenti metodi:
   + [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md) 
   + [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md) 
   + [Ripristino in un’istanza database](USER_RestoreFromSnapshot.md)
   + [Ripristino di un’istanza database a un punto temporale specifico per Amazon RDS](USER_PIT.md)

   Puoi localizzare l'istanza del nello stesso Amazon Virtual Private Cloud (VPC) della directory o in un account AWS o VPC diverso. Quando crei o modifichi l'istanza database PostgreSQL, completa le seguenti operazioni:
   + Specifica l'identificativo del dominio (identificativo `d-*`) generato al momento della creazione della directory.
   + Specifica anche il nome del ruolo IAM creato.
   + Assicurati che il gruppo di sicurezza dell'istanza database possa ricevere traffico in entrata dal gruppo di sicurezza della directory.

1. Utilizzare le credenziali dell'utente master RDS per connettersi all'istanza database di PostgreSQL. Creare l'utente in PostgreSQL per l'identificazione esterna. Gli utenti identificati esternamente possono accedere all'istanza database di PostgreSQL con l'autenticazione Kerberos.

# Configurazione dell'autenticazione Kerberos per istanze database di PostgreSQL
<a name="postgresql-kerberos-setting-up"></a>

 Per configurare l'autenticazione Kerberos, completa la procedura seguente. 

**Topics**
+ [Passaggio 1: creare una directory utilizzando AWS Managed Microsoft AD](#postgresql-kerberos-setting-up.create-directory)
+ [Passaggio 2: (Facoltativo) Creare una relazione di fiducia tra Active Directory locale e Directory Service](#postgresql-kerberos-setting-up.create-trust)
+ [Fase 3: creare un ruolo IAM per RDS per accedere a Directory Service](#postgresql-kerberos-setting-up.CreateIAMRole)
+ [Fase 4: creazione e configurazione di utenti](#postgresql-kerberos-setting-up.create-users)
+ [Fase 5: abilitazione del traffico tra VPC tra la directory e l'istanza database](#postgresql-kerberos-setting-up.vpc-peering)
+ [Fase 6: creazione o modifica di un’istanza database PostgreSQL](#postgresql-kerberos-setting-up.create-modify)
+ [Fase 7: creazione di utenti PostgreSQL per i principali Kerberos](#postgresql-kerberos-setting-up.create-logins)
+ [Fase 8: configurazione di un client PostgreSQL](#postgresql-kerberos-setting-up.configure-client)

## Passaggio 1: creare una directory utilizzando AWS Managed Microsoft AD
<a name="postgresql-kerberos-setting-up.create-directory"></a>

Directory Service crea una Active Directory completamente gestita nel AWS cloud. Quando crei una AWS Managed Microsoft AD directory, Directory Service crea due controller di dominio e server DNS per te. I server di directory vengono creati in sottoreti diverse in un VPC. Questa ridondanza assicura che la directory rimanga accessibile anche se si verifica un errore. 

 Quando si crea una AWS Managed Microsoft AD AWS directory, Directory Service esegue le seguenti attività per conto dell'utente: 
+ Configura una Active Directory all'interno del VPC. 
+ Crea un account amministratore della directory con il nome utente `Admin` e la password specificata. Puoi utilizzare questo account per gestire le directory. 
**Importante**  
Assicurati di salvare questa password. Directory Service non memorizza questa password e non può essere recuperata o reimpostata.
+ Crea un gruppo di sicurezza per i controller della directory. Il gruppo di sicurezza deve consentire la comunicazione con l'istanza database PostgreSQL.

All'avvio AWS Directory Service for Microsoft Active Directory, AWS crea un'unità organizzativa (OU) che contiene tutti gli oggetti della directory. Questa unità organizzativa, che ha lo stesso nome NetBIOS che hai immesso al momento della creazione della directory, si trova nella radice del dominio. La radice del dominio è di proprietà e gestita da AWS. 

 L'`Admin`account creato con la AWS Managed Microsoft AD directory dispone delle autorizzazioni per le attività amministrative più comuni dell'unità organizzativa: 
+ Creazione, aggiornamento o eliminazione di utenti
+ Aggiungi risorse al dominio, come file server o server di stampa, e assegna le autorizzazioni per tali risorse a utenti dell'unità organizzativa 
+ Crea contenitori aggiuntivi OUs 
+ Delega dell'autorità 
+ Ripristino degli oggetti eliminati dal cestino di Active Directory 
+ Esegui i moduli Active Directory e Domain Name Service (DNS) per Windows PowerShell sul servizio Web Active Directory 

L'account `Admin` dispone anche dei diritti per eseguire queste attività in tutto il dominio: 
+ gestione delle configurazioni DNS (aggiunta, eliminazione o aggiornamento di record, zone e server d'inoltro); 
+ visualizzazione di log di eventi DNS; 
+ visualizzazione di log di eventi di sicurezza. 

**Per creare una directory con AWS Managed Microsoft AD**

1.  Nel riquadro di navigazione della [console Directory Service](https://console.aws.amazon.com/directoryservicev2/), scegliere **Directory**, quindi selezionare **Configurazione della directory**. 

1. Scegli **AWS Managed Microsoft AD**. AWS Managed Microsoft AD è l'unica opzione attualmente supportata per l'uso con RDS. 

1. Scegli **Next (Successivo)**.

1. Nella pagina **Enter directory information (Inserisci le informazioni sulla directory)** inserisci le seguenti informazioni:   
**Edizione**  
 Scegliere l'edizione più adatta alle proprie esigenze.  
**Nome DNS directory**  
 Il nome completo della directory, ad esempio **corp.example.com**.   
**Nome NetBIOS della directory**  
 Nome breve opzionale della directory, ad esempio `CORP`.   
**Descrizione della directory**  
 Descrizione opzionale della directory.   
**Password amministratore**  
 La password dell'amministratore della directory. Con il processo di creazione della directory viene generato un account amministratore con nome utente `Admin` e questa password.   
 La password dell'amministratore della directory non può includere il termine "admin". La password distingue tra maiuscole e minuscole e la lunghezza deve essere compresa tra 8 e 64 caratteri. Deve anche contenere un carattere di almeno tre delle seguenti quattro categorie:   
   +  Lettere minuscole (a–z) 
   +  Lettere maiuscole (A–Z) 
   +  Numeri (0–9) 
   +  Caratteri non alfanumerici (\$1\$1@\$1\$1%^&\$1\$1-\$1=`\$1\$1()\$1\$1[]:;"'<>,.?/)   
**Confirm password (Conferma password)**  
 Digitare di nuovo la password dell'amministratore.   
Assicurati di salvare questa password. Directory Service non memorizza questa password e non può essere recuperata o reimpostata.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Choose VPC and subnets (Scegli VPC e sottoreti)** fornire le seguenti informazioni:  
**VPC**  
Scegliere il VPC per la directory. È possibile creare l'istanza database di PostgreSQL in questo VPC o in uno diverso.   
**Sottoreti**  
 Seleziona le sottoreti per i server di directory. Le due sottoreti devono trovarsi in diverse zone di disponibilità. 

1. Seleziona **Next** (Successivo).

1.  Verificare le informazioni della directory Se sono necessarie modifiche, seleziona **Previous (Precedente)** e apporta le modifiche. Quando le informazioni sono corrette, scegli **Create Directory (Crea directory)**.   
![\[Pagina dei dettagli della directory\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/WinAuth2.png)

 Per creare la directory sono necessari alcuni minuti. Una volta creata correttamente la directory, il valore **Status (Stato)** viene modificato in **Active (Attivo)**. 

 Per consultare le informazioni sulla directory, selezionare l’ID della directory nell'elenco di directory. Prendere nota del valore **Directory ID (ID directory)**. Questo valore è necessario per creare o modificare l'istanza database PostgreSQL. 

![\[Immagine della pagina dei dettagli\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/WinAuth3.png)


## Passaggio 2: (Facoltativo) Creare una relazione di fiducia tra Active Directory locale e Directory Service
<a name="postgresql-kerberos-setting-up.create-trust"></a>

Se non prevedi di utilizzare Microsoft Active Directory locale, passa a [Fase 3: creare un ruolo IAM per RDS per accedere a Directory Service](#postgresql-kerberos-setting-up.CreateIAMRole).

Per ottenere l'autenticazione Kerberos utilizzando l'Active Directory locale, è necessario creare una relazione di dominio affidabile utilizzando un trust di foresta tra Microsoft Active Directory locale e la AWS Managed Microsoft AD directory (creata in). [Passaggio 1: creare una directory utilizzando AWS Managed Microsoft AD](#postgresql-kerberos-setting-up.create-directory) L'attendibilità può essere unidirezionale, in cui la AWS Managed Microsoft AD directory considera attendibile Microsoft Active Directory locale. Il trust può anche essere bidirezionale, in cui entrambe le Active Directory si considerano reciprocamente attendibili. *Per ulteriori informazioni sulla configurazione dei trust utilizzando Directory Service, vedere [Quando creare una relazione di trust](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_setup_trust.html) nella Administration Guide.AWS Directory Service *

**Nota**  
Se utilizzi un Microsoft Active Directory locale, i client Windows si connettono utilizzando il nome di dominio di Directory Service nell'endpoint anziché rds.amazonaws.com. Per ulteriori informazioni, consulta [Connessione a PostgreSQL con Autenticazione Kerberos](postgresql-kerberos-connecting.md). 

Assicurati che il nome di dominio di Microsoft Active Directory locale includa un routing del suffisso DNS che corrisponde alla nuova relazione di trust creata. Il risultato è mostrato nella screenshot seguente.

![\[Il routing DNS corrisponde al trust creato\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/kerberos-auth-trust.png)


## Fase 3: creare un ruolo IAM per RDS per accedere a Directory Service
<a name="postgresql-kerberos-setting-up.CreateIAMRole"></a>

 RDS possa Directory Service chiamarti, il tuo AWS account deve avere un ruolo IAM che utilizzi la policy IAM gestita. `AmazonRDSDirectoryServiceAccess` Questo ruolo permette ad Amazon RDS di effettuare chiamate ad Directory Service. 

Quando crei un'istanza DB utilizzando l'account utente della console Console di gestione AWS e l'account utente della console dispone dell'`iam:CreateRole`autorizzazione, la console crea automaticamente il ruolo IAM necessario. In questo caso, il nome del ruolo è `rds-directoryservice-kerberos-access-role`. In caso contrario, è necessario creare manualmente il ruolo IAM. Quando crei questo ruolo IAM`Directory Service`, scegli e allega la policy AWS gestita `AmazonRDSDirectoryServiceAccess` ad esso. 

Per ulteriori informazioni sulla creazione di ruoli IAM per un servizio, consulta [Creating a role to delegate permissions to an AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) nella *IAM User* Guide.

**Nota**  
Il ruolo IAM utilizzato per l'autenticazione Windows per RDS per Microsoft SQL Server non può essere utilizzato per Amazon RDS for PostgreSQL.

Facoltativamente, puoi creare policy con le autorizzazioni richieste anziché utilizzare la policy `AmazonRDSDirectoryServiceAccess` gestita. In questo caso, il ruolo IAM deve avere la seguente policy di attendibilità IAM.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.amazonaws.com",
          "rds.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Il ruolo deve anche disporre della seguente policy del ruolo IAM.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ds:DescribeDirectories",
        "ds:AuthorizeApplication",
        "ds:UnauthorizeApplication",
        "ds:GetAuthorizedApplicationDetails"
      ],
    "Effect": "Allow",
    "Resource": "*"
    }
  ]
}
```

------

Per l'attivazione Regioni AWS, utilizza i principali di servizio specifici della regione nelle policy di fiducia dei ruoli IAM. Quando si crea crei una policy di attendibilità per i servizi in queste Regioni, specificare il codice regionale nel principale di servizio.

L’esempio seguente mostra una policy di attendibilità che include i principali del servizio specifici della Regione:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "directoryservice.rds.REGION-CODE.amazonaws.com",
          "rds.REGION-CODE.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Sostituire REGION-CODE con il codice della Regione specifica. Ad esempio, utilizzare i seguenti principali del servizio per la Regione Asia Pacifico (Melbourne):

```
"Service": [
  "directoryservice.rds.ap-southeast-4.amazonaws.com",
  "rds.ap-southeast-4.amazonaws.com"
]
```

## Fase 4: creazione e configurazione di utenti
<a name="postgresql-kerberos-setting-up.create-users"></a>

 Puoi creare gli utenti con lo strumento Utenti Active Directory e computer. Questo è uno degli strumenti di Active Directory Domain Services e Active Directory Lightweight Directory Services. Per ulteriori informazioni, consulta [Add Users and Computers to the Active Directory domain](https://learn.microsoft.com/en-us/troubleshoot/windows-server/identity/create-an-active-directory-server#add-users-and-computers-to-the-active-directory-domain) (Aggiungere utenti e computer al dominio di Active Directory) nella documentazione di Microsoft. In questo caso, gli utenti sono individui o altre entità, ad esempio i computer, che fanno parte del dominio e le cui identità vengono conservate nella directory. 

Per creare utenti in una Directory Service directory, devi essere connesso a un'istanza Amazon EC2 basata su Windows che fa parte della directory. Directory Service Allo stesso tempo, devi essere connesso come un utente che dispone di privilegi per creare utenti. Per ulteriori informazioni, consulta [Creazione di un utente](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups_create_user.html) nella *Guida di amministrazione di AWS Directory Service *.

## Fase 5: abilitazione del traffico tra VPC tra la directory e l'istanza database
<a name="postgresql-kerberos-setting-up.vpc-peering"></a>

Se prevedi di individuare la directory e l'istanza database nello stesso VPC, ignora questa fase e passa a [Fase 6: creazione o modifica di un’istanza database PostgreSQL](#postgresql-kerberos-setting-up.create-modify).

[Se prevedi di localizzare la directory e l'istanza DB in modo diverso VPCs, configura il traffico cross-VPC utilizzando il peering VPC o il Transit Gateway.AWS](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)

La procedura seguente abilita il traffico tra un VPCs utilizzo e l'altro del peering VPC. Segui le istruzioni in [Che cos'è il peering di VPC?](https://docs.aws.amazon.com/vpc/latest/peering/Welcome.html) nella *Amazon Virtual Private Cloud Peering Guide*.

**Per abilitare il traffico tra VPC utilizzando il peering di VPC**

1. Configurare le regole di routing VPC appropriate per garantire che il traffico di rete possa scorrere in entrambe le direzioni.

1. Assicurati che il gruppo di sicurezza dell'istanza database possa ricevere traffico in entrata dal gruppo di sicurezza della directory.

1. Assicurati che non sia presente una regola della lista di controllo accessi (ACL) di rete per bloccare il traffico.

Se la directory è di proprietà di un altro AWS account, è necessario condividerla.

**Per condividere la cartella tra AWS account**

1. *Inizia a condividere la directory con l' AWS account in cui verrà creata l'istanza DB seguendo le istruzioni riportate nel [Tutorial: Sharing your AWS Managed Microsoft AD directory for seamless EC2 Domain-join](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_directory_sharing.html) nella Administration Guide.Directory Service *

1. Accedi alla Directory Service console utilizzando l'account per l'istanza DB e assicurati che il dominio abbia lo stato prima di procedere. `SHARED`

1. Dopo aver effettuato l'accesso alla Directory Service console utilizzando l'account per l'istanza DB, annota il valore **Directory ID**. Utilizzare questo ID directory per aggiungere l'istanza database al dominio.

## Fase 6: creazione o modifica di un’istanza database PostgreSQL
<a name="postgresql-kerberos-setting-up.create-modify"></a>

Crea o modifica un'istanza database di PostgreSQL da usare con la directory. Puoi utilizzare la console, CLI o l'API di RDS per associare un'istanza database a una directory. Questa operazione può essere eseguita in uno dei seguenti modi:
+  [Crea una nuova istanza DB PostgreSQL utilizzando la console, il comando [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)CLI o l'operazione Create RDS API. DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) Per istruzioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).
+  [Modifica un'istanza DB PostgreSQL esistente utilizzando la console, il comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI o l'operazione Modify RDS API. DBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) Per istruzioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md). 
+  [Ripristina un'istanza DB PostgreSQL da uno snapshot DB utilizzando la console, il comando CLI [restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) o l'operazione Restore From RDS API. DBInstance DBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) Per istruzioni, consulta [Ripristino in un’istanza database](USER_RestoreFromSnapshot.md). 
+  [Ripristina un'istanza DB PostgreSQL utilizzando la console, il comando [restore-db-instance-to- point-in-time CLI o l'operazione](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) Restore RDS API. point-in-time DBInstance ToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) Per istruzioni, consulta [Ripristino di un’istanza database a un punto temporale specifico per Amazon RDS](USER_PIT.md). 

L'autenticazione Kerberos è supportata solo per istanze di PostgreSQL DB in un VPC. L'istanza database può trovarsi nello stesso VPC della directory o in un VPC diverso. Il l’istanza database deve utilizzare un gruppo di sicurezza che accetta traffico in ingresso e in uscita all'interno del VPC della directory, in modo che l’istanza database possa comunicare con la directory.

### Console
<a name="postgresql-kerberos-setting-up.create-modify.Console"></a>

Quando utilizzi la console per creare, modificare o ripristinare un'istanza database, scegli **Password e autenticazione Kerberos** nella sezione **Autenticazione database**. Quindi scegli **Sfoglia directory**. Seleziona la directory o seleziona **Crea una nuova directory** per utilizzare il servizio directory.

![\[Scelta di Kerberos per l'autenticazione e l'identificazione della directory da utilizzare.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/rpg-authentication-use-kerberos.png)


### AWS CLI
<a name="postgresql-kerberos-setting-up.create-modify.CLI"></a>

Quando si utilizza il AWS CLI, sono necessari i seguenti parametri affinché l'istanza del DB possa utilizzare la directory creata:
+ Per il parametro `--domain`, utilizza l'identificatore di dominio (identificatore "d-\$1") generato durante la creazione della directory.
+ Per il parametro `--domain-iam-role-name`, utilizza il ruolo creato che utilizza la policy IAM gestita `AmazonRDSDirectoryServiceAccess`.

Ad esempio, il comando CLI seguente modifica un'istanza database per utilizzare una directory.

```
aws rds modify-db-instance --db-instance-identifier mydbinstance --domain d-Directory-ID --domain-iam-role-name role-name 
```

**Importante**  
Se modifichi un’istanza database per abilitare l'autenticazione Kerberos, riavvia il l’istanza database dopo aver apportato la modifica.

## Fase 7: creazione di utenti PostgreSQL per i principali Kerberos
<a name="postgresql-kerberos-setting-up.create-logins"></a>

A questo punto, l'istanza database RDS per PostgreSQL viene aggiunta al dominio AWS Managed Microsoft AD . Gli utenti che hai creato nella directory in [Fase 4: creazione e configurazione di utenti](#postgresql-kerberos-setting-up.create-users) devono essere impostati come utenti del database PostgreSQL e devono essere concessi loro i privilegi per accedere al database. Puoi farlo accedendo come utente del database con privilegi `rds_superuser`. Ad esempio, se hai accettato i valori predefiniti quando hai creato l'istanza database RDS per PostgreSQL, utilizzi `postgres`, come illustrato nei passaggi seguenti. 

**Per creare utenti del database PostgreSQL per i principali Kerberos**

1. Usa `psql` per la connessione all'endpoint dell'istanza database RDS per PostgreSQL utilizzando `psql`. L'esempio seguente utilizza l'account `postgres` predefinito per il ruolo `rds_superuser`.

   ```
   psql --host=cluster-instance-1.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
   ```

1. Crea un nome utente del database per ogni principale Kerberos (nome utente di Active Directory) a cui desideri fornire l'accesso al database. Utilizza il nome utente canonico (identità) come definito nell'istanza Active Directory, ovvero un `alias` minuscolo (nome utente in Active Directory) e il nome maiuscolo del dominio Active Directory per quel nome utente. Il nome utente di Active Directory è un utente autenticato esternamente, quindi usa le virgolette intorno al nome come mostrato di seguito.

   ```
   postgres=> CREATE USER "username@CORP.EXAMPLE.COM" WITH LOGIN;
   CREATE ROLE
   ```

1. Autorizza il ruolo `rds_ad` per l'utente del database.

   ```
   postgres=> GRANT rds_ad TO "username@CORP.EXAMPLE.COM";
   GRANT ROLE
   ```

Dopo aver completato la creazione di tutti gli utenti PostgreSQL per le identità utente Active Directory, gli utenti possono accedere all'istanza database RDS per PostgreSQL utilizzando le proprie credenziali Kerberos. 

È necessario che gli utenti del database che eseguono l’autenticazione tramite Kerberos la effettuino attraverso computer client membri del dominio Active Directory.

Gli utenti del database a cui è stato concesso il ruolo `rds_ad` non possono avere anche il ruolo `rds_iam`. Questo vale anche per le appartenenze nidificate. Per ulteriori informazioni, consulta [Autenticazione del database IAM per MariaDB, MySQL e PostgreSQL](UsingWithRDS.IAMDBAuth.md). 

## Fase 8: configurazione di un client PostgreSQL
<a name="postgresql-kerberos-setting-up.configure-client"></a>

Per configurare un client PostgreSQL, procedi come indicato di seguito:
+ Crea un file krb5.conf (o equivalente) che punti al dominio. 
+ Verifica che il traffico possa fluire tra l'host del client e Directory Service. Utilizza un'utilità di rete come Netcat per le operazioni seguenti:
  + Verifica il traffico su DNS per la porta 53.
  + Verifica il traffico verso TCP/UDP la porta 53 e per Kerberos, che include le porte 88 e 464 per. Directory Service
+ Verifica che il traffico scorra senza problemi tra l'host client e l'istanza database sulla porta del database. Ad esempio, utilizza psql per connetterti e accedere al database.

Di seguito è riportato un esempio di contenuto krb5.conf per. AWS Managed Microsoft AD

```
[libdefaults]
 default_realm = EXAMPLE.COM
[realms]
 EXAMPLE.COM = {
  kdc = example.com
  admin_server = example.com
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
```

Di seguito è riportato un esempio di contenuto krb5.conf per una Microsoft Active Directory locale.

```
[libdefaults]
 default_realm = EXAMPLE.COM
[realms]
 EXAMPLE.COM = {
  kdc = example.com
  admin_server = example.com
 }
 ONPREM.COM = {
  kdc = onprem.com
  admin_server = onprem.com
 }
[domain_realm]
 .example.com = EXAMPLE.COM
 example.com = EXAMPLE.COM
 .onprem.com = ONPREM.COM
 onprem.com = ONPREM.COM  
 .rds.amazonaws.com = EXAMPLE.COM
 .amazonaws.com.rproxy.goskope.com.cn = EXAMPLE.COM
 .amazon.com = EXAMPLE.COM
```

# Gestione di un dominio Active Directory
<a name="postgresql-kerberos-managing"></a>

È possibile utilizzare la console, l’interfaccia a riga di comando (CLI) o l’API RDS per gestire l’istanza database e la relativa relazione con Microsoft Active Directory. Ad esempio, puoi associare una Active Directory per abilitare l'autenticazione Kerberos. Puoi anche annullare l'associazione ad Active Directory per disabilitare l'autenticazione Kerberos. Puoi anche spostare un'istanza database affinché venga autenticata esternamente da una Microsoft Active Directory a un'altra.

Ad esempio, utilizzando la CLI, puoi effettuare quanto segue:
+ Per riprovare ad abilitare l'autenticazione Kerberos per un'iscrizione non riuscita, usa il comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI. Specifica l'ID della directory dell'appartenenza corrente per l'opzione `--domain`.
+ Per disabilitare l'autenticazione Kerberos su un'istanza DB, utilizzare il comando CLI [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html). Specifica `none` per l'opzione `--domain`.
+ Per spostare un'istanza DB da un dominio all'altro, usa il comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI. Specifica l'identificatore del nuovo dominio per l'opzione `--domain`.

## Appartenenza al dominio
<a name="postgresql-kerberos-managing.understanding"></a>

Dopo avere creato o modificato l’istanza database, diventa un membro del dominio. È possibile visualizzare lo stato dell'appartenenza al dominio nella console o eseguendo il comando [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)CLI. Lo stato dell'istanza di database può essere uno dei seguenti: 
+ `kerberos-enabled`: l'autenticazione Kerberos è abilitata nell'istanza database.
+ `enabling-kerberos`— AWS sta abilitando l'autenticazione Kerberos su questa istanza DB.
+ `pending-enable-kerberos`: l'abilitazione dell'autenticazione Kerberos è in corso su questa istanza database.
+ `pending-maintenance-enable-kerberos`— AWS tenterà di abilitare l'autenticazione Kerberos sull'istanza DB durante la successiva finestra di manutenzione pianificata.
+ `pending-disable-kerberos`: la disabilitazione dell'autenticazione Kerberos è in corso su questa istanza database.
+ `pending-maintenance-disable-kerberos`— AWS tenterà di disabilitare l'autenticazione Kerberos sull'istanza DB durante la successiva finestra di manutenzione programmata.
+ `enable-kerberos-failed`— Un problema di configurazione ha AWS impedito l'attivazione dell'autenticazione Kerberos sull'istanza DB. Correggi il problema di configurazione prima di inviare nuovamente il comando per modificare l'istanza database.
+ `disabling-kerberos`— AWS sta disabilitando l'autenticazione Kerberos su questa istanza DB.

Una richiesta per abilitare l'autenticazione Kerberos potrebbe non andare a buon fine a causa di un problema di connettività di rete o un ruolo IAM non corretto. In alcuni casi, il tentativo di abilitare l'autenticazione Kerberos potrebbe non riuscire quando crei o modifichi un'istanza database. In questo caso, verifica di utilizzare il ruolo IAM corretto, quindi modifica l'istanza database per l'aggiunta al dominio.

**Nota**  
Solo l'autenticazione Kerberos con RDS per PostgreSQL invia il traffico ai server DNS del dominio. Tutte le altre richieste DNS vengono gestite come accesso di rete in uscita sulle istanze database che eseguono PostgreSQL. Per ulteriori informazioni sull'accesso di rete in uscita con RDS per PostgreSQL, consulta [Utilizzo di un Server DNS personalizzato per Outbound Network Access.](Appendix.PostgreSQL.CommonDBATasks.CustomDNS.md).

# Connessione a PostgreSQL con Autenticazione Kerberos
<a name="postgresql-kerberos-connecting"></a>

Puoi connetterti a PostgreSQL con l'autenticazione Kerberos tramite l'interfaccia pgAdmin o un'interfaccia a riga di comando come psql. Per ulteriori informazioni sulla connessione, consulta [Connessione a un'istanza database che esegua il motore di database di PostgreSQL](USER_ConnectToPostgreSQLInstance.md) . Per informazioni su come ottenere l'endpoint, il numero di porta e altri dettagli necessari per la connessione, consulta [Connessione a un'istanza database PostgreSQL](CHAP_GettingStarted.CreatingConnecting.PostgreSQL.md#CHAP_GettingStarted.Connecting.PostgreSQL). 

**Nota**  
L’autenticazione e la crittografia GSSAPI in PostgreSQL sono implementate dalla libreria Kerberos `libkrb5.so`. Funzionalità come `postgres_fdw` e `dblink` si basano anche su questa stessa libreria per le connessioni in uscita con autenticazione o crittografia Kerberos.

## pgAdmin
<a name="collapsible-section-pgAdmin"></a>

Per utilizzare pgAdmin per connetterti a PostgreSQL con l'autenticazione Kerberos, completa la procedura seguente:

1. Avviare l'applicazione pgAdmin sul computer client.

1. Nella scheda **Dashboard (Pannello di controllo)** selezionare **Add New Server (Aggiungi nuovo server)**.

1. Nella finestra di dialogo **Crea - Server**, immettere un nome nella scheda **Generale** per identificare il server in pgAdmin.

1. Nella scheda **Connection** (Connessione), immetti le informazioni seguenti relative al database RDS per PostgreSQL. 
   + In **Host**, immetti l'endpoint per l' l’istanza database RDS per PostgreSQL. Un endpoint è simile al seguente:

     ```
     RDS-DB-instance.111122223333.aws-region.rds.amazonaws.com
     ```

     Per connettersi a un Microsoft Active Directory locale da un client Windows, si utilizza il nome di dominio di AWS Managed Active Directory anziché `rds.amazonaws.com` nell'endpoint host. Ad esempio, supponiamo che il nome di dominio per AWS Managed Active Directory sia. `corp.example.com` In **Host**, l'endpoint viene quindi specificato come segue: 

     ```
     RDS-DB-instance.111122223333.aws-region.corp.example.com
     ```
   + Per **Porta**, immettere la porta assegnata. 
   + In **Database di manutenzione** immettere il nome del database iniziale a cui si connetterà il client.
   + In **Nome utente**, immettere il nome utente immesso per l'autenticazione Kerberos in [Fase 7: creazione di utenti PostgreSQL per i principali Kerberos](postgresql-kerberos-setting-up.md#postgresql-kerberos-setting-up.create-logins). 

1. Scegli **Save** (Salva).

## Psql
<a name="collapsible-section-psql"></a>

Per utilizzare psql per connetterti a PostgreSQL con l'autenticazione Kerberos, completare la procedura seguente:

1. Al prompt dei comandi, eseguire questo comando.

   ```
   kinit username                
   ```

   Sostituire *`username`* con il nome utente. Al prompt, immettere la password per l'utente memorizzata in Microsoft Active Directory.

1. Se l'istanza database PostgreSQL utilizza un VPC accessibile pubblicamente, inserire un indirizzo IP per l'endpoint dell'istanza database nel file `/etc/hosts` nelclient EC2. Ad esempio, i comandi seguenti ottengono l'indirizzo IP e lo inseriscono nel file `/etc/hosts`.

   ```
   % dig +short PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com  
   ;; Truncated, retrying in TCP mode.
   ec2-34-210-197-118.AWS-Region.compute.amazonaws.com.
   34.210.197.118 
   
   % echo " 34.210.197.118  PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com" >> /etc/hosts
   ```

   Se utilizzi una Microsoft Active Directory locale da un client Windows, dovrai connetterti utilizzando un endpoint speciale. Invece di utilizzare il dominio Amazon `rds.amazonaws.com` nell'endpoint host, utilizza il nome di dominio di AWS Managed Active Directory.

   Ad esempio, supponiamo che il nome di dominio per la tua Active Directory AWS gestita sia. `corp.example.com` Quindi utilizzare il formato `PostgreSQL-endpoint.AWS-Region.corp.example.com` per l'endpoint e inserirlo nel file `/etc/hosts`.

   ```
   % echo " 34.210.197.118  PostgreSQL-endpoint.AWS-Region.corp.example.com" >> /etc/hosts
   ```

1. Utilizzare il comando psql seguente per accedere a un'istanza database PostgreSQL integrata con Active Directory. 

   ```
   psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com postgres
   ```

   Per accedere al cluster di database PostgreSQL da un client Windows utilizzando una Active Directory locale, utilizzare il comando psql seguente con il nome di dominio del passaggio precedente (`corp.example.com`):

   ```
   psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-endpoint.AWS-Region.corp.example.com postgres
   ```