

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

# Nozioni di base su RDS Proxy
<a name="rds-proxy-setup"></a>

Utilizza le informazioni nelle pagine seguenti per configurare, gestire [Proxy Amazon RDS per Aurora](rds-proxy.md) e impostare le opzioni di sicurezza correlate. La opzioni di sicurezza controllano chi può accedere a ciascun proxy e come ciascun proxy si connette alle istanze database.

Se non conosci Server proxy per RDS, ti consigliamo di seguire le pagine nell’ordine in cui le presentiamo. 

**Topics**
+ [Configurazione dei prerequisiti di rete per Server proxy per RDS](rds-proxy-network-prereqs.md)
+ [Impostazione delle credenziali del database per RDS Proxy](rds-proxy-secrets-arns.md)
+ [Configurazione dell’autenticazione IAM per Server proxy per RDS](rds-proxy-iam-setup.md)
+ [Creazione di un proxy per Amazon Aurora](rds-proxy-creating.md)
+ [Visualizzazione di un proxy](rds-proxy-viewing.md)
+ [Connessione a un database tramite RDS Proxy](rds-proxy-connecting.md)

# Configurazione dei prerequisiti di rete per Server proxy per RDS
<a name="rds-proxy-network-prereqs"></a>

 L’uso di Server proxy per RDS richiede un cloud privato virtuale (VPC) comune tra il cluster di database Aurora e Proxy RDS. Questo VPC deve avere un minimo di due sottoreti che si trovano in zone di disponibilità diverse. Il tuo account può possedere queste sottoreti o condividerle con altri account. Per informazioni sulla condivisione di VPC, consulta [Work with](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html) shared. VPCs 

Per il IPv6 supporto, è richiesta una configurazione di rete aggiuntiva:
+ **IPv6 tipi di rete endpoint**: il VPC e le sottoreti devono essere configurati per il supporto. IPv6 Ciò include l'assegnazione di blocchi IPv6 CIDR al VPC e alle sottoreti.
+ Tipi di **rete endpoint dual-stack:** il VPC e le sottoreti devono supportare sia l'indirizzamento che l'indirizzamento. IPv4 IPv6 
+ **IPv6 tipi di rete di connessione di destinazione**: il database deve essere configurato per la modalità dual-stack per supportare le connessioni dal proxy. IPv6 

Le risorse dell'applicazione client come Amazon EC2, Lambda o Amazon ECS possono trovarsi nello stesso VPC del proxy. In alternativa, possono trovarsi in un VPC separato dal proxy. Se hai effettuato correttamente la connessione a un cluster di database Aurora, sono già disponibili le risorse di rete necessarie. 

**Topics**
+ [Recupero delle informazioni sulle sottoreti](#rds-proxy-network-prereqs.subnet-info)
+ [Pianificazione della capacità degli indirizzi IP](#rds-proxy-network-prereqs.plan-ip-address)

## Recupero delle informazioni sulle sottoreti
<a name="rds-proxy-network-prereqs.subnet-info"></a>

 Se hai appena iniziato a utilizzare Aurora, consulta le informazioni di base per la connessione a un database seguendo le procedure descritte in [Configurazione dell'ambiente per Amazon Aurora](CHAP_SettingUp_Aurora.md). Puoi inoltre seguire il tutorial in [Nozioni di base su Amazon Aurora](CHAP_GettingStartedAurora.md). 

Per creare un proxy, è necessario fornire le sottoreti e il VPC in cui opera il proxy. Il seguente esempio di Linux mostra AWS CLI i comandi che esaminano le sottoreti VPCs e le sottoreti di proprietà dell'utente. Account AWS In particolare, si passa la sottorete IDs come parametri quando si crea un proxy utilizzando la CLI. 

```
aws ec2 describe-vpcs
aws ec2 describe-internet-gateways
aws ec2 describe-subnets --query '*[].[VpcId,SubnetId]' --output text | sort
```

Il seguente esempio di Linux mostra AWS CLI i comandi per determinare la sottorete IDs corrispondente a una specifica istanza DB. 

Per un cluster Aurora, è innanzitutto possibile trovare l'ID per una delle istanze database associate. È possibile estrarre la sottorete IDs utilizzata da quell'istanza DB. A tale scopo, esamina i campi nidificati all'interno degli attributi `DBSubnetGroup` e `Subnets` nell'output di descrizione dell'istanza database. È possibile specificare alcune o tutte queste sottoreti IDs quando si configura un proxy per quel server di database.

```
$ # Find the ID of any DB instance in the cluster.
$  aws rds describe-db-clusters --db-cluster-identifier my_cluster_id --query '*[].[DBClusterMembers]|[0]|[0][*].DBInstanceIdentifier' --output text
```

```
my_instance_id
instance_id_2
instance_id_3
```

Dopo aver trovato l'identificatore dell'istanza database, esamina il VPC associato per individuare le sottoreti. Il seguente esempio Linux mostra come.

```
$ #From the DB instance, trace through the DBSubnetGroup and Subnets to find the subnet IDs.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0]|[Subnets]|[0]|[*].SubnetIdentifier' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
...
```

```
$ #From the DB instance, find the VPC.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0].VpcId' --output text
```

```
my_vpc_id
```

```
$ aws ec2 describe-subnets --filters Name=vpc-id,Values=my_vpc_id --query '*[].[SubnetId]' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
subnet_id_4
subnet_id_5
subnet_id_6
```

## Pianificazione della capacità degli indirizzi IP
<a name="rds-proxy-network-prereqs.plan-ip-address"></a>

RDS Proxy regola automaticamente la propria capacità in base alla configurazione delle istanze DB registrate con esso. Per le istanze assegnate, ciò è determinato dalla dimensione dell'istanza e, per le Aurora Serverless v2 istanze, è determinato dalla capacità massima dell'ACU. Alcune operazioni potrebbero richiedere anche capacità aggiuntiva, ad esempio l'aumento delle dimensioni di un database registrato o operazioni di manutenzione interne del proxy RDS. Durante queste operazioni, il proxy può aver bisogno di più indirizzi IP per fornire la capacità aggiuntiva. Questi indirizzi aggiuntivi consentono al proxy di dimensionare senza interessare il carico di lavoro. La mancanza di indirizzi IP liberi nelle sottoreti impedisce al proxy di aumentare le dimensioni, causando eventuali latenze elevate nell'esecuzione di query o errori di connessione del client. RDS ti avvisa tramite l'evento `RDS-EVENT-0243` quando non ci sono abbastanza indirizzi IP liberi nelle tue sottoreti. Per informazioni su questo evento, consulta [Utilizzo degli eventi RDS ProxyUtilizzo degli eventi RDS Proxy](rds-proxy.events.md).

Riserva il numero minimo consigliato di indirizzi IP liberi nelle sottoreti per il proxy in base alle dimensioni della classe di istanza database.


|  DB instance class (Classe istanza database)  |  Numero minimo di indirizzi IP liberi  | 
| --- | --- | 
|  db.\$1.xlarge o più piccola   |  10  | 
|  db.\$1.2xlarge   |  15  | 
|  db.\$1.4xlarge   |  25  | 
|  db.\$1.8xlarge   |  45  | 
|  db.\$1.12xlarge   |  60  | 
|  db.\$1.16xlarge   |  75  | 
|  db.\$1.24xlarge   |  110  | 

PertantoAurora Serverless v2, riservate al proxy il seguente numero minimo di indirizzi IP gratuiti nelle sottoreti, in base alla capacità massima dell'ACU.


| `Maximum ACU Capacity` |  Numero minimo di indirizzi IP liberi  | 
| --- | --- | 
|  16 o inferiore   |  10  | 
|  32  |  15  | 
|  64  |  25  | 
|  96  |  30  | 
|  128  |  40  | 
|  160  |  50  | 
|  192  |  55  | 
|  224  |  65  | 
|  256  |  75  | 

**Nota**  
Il proxy RDS non utilizza più di 215 indirizzi IP per ogni proxy in un VPC.

Il proxy RDS richiede un minimo di 10 indirizzi IP per il database Aurora. Questi numeri consigliati di indirizzi IP sono stime per un proxy con solo l’endpoint predefinito. Per ogni endpoint personalizzato aggiuntivo, consigliamo di prenotare altri tre indirizzi IP. Per ogni istanza del lettore Aurora, si consiglia di riservare indirizzi IP aggiuntivi come specificato nella tabella in base al numero massimo di quel lettore ACUs per la Aurora Serverless v2 destinazione o alla dimensione dell'istanza DB per una destinazione fornita.

Per stimare gli indirizzi IP richiesti per un proxy associato a un cluster Aurora DB con:
+ 1 istanza provisioned writer di dimensioni adeguate `db.r5.8xlarge` e 1 istanza provisioned reader di dimensioni adeguate. `db.r5.2xlarge`
+ Il proxy collegato a questo cluster ha un endpoint predefinito e un endpoint personalizzato con ruolo di sola lettura.

In questo caso, il proxy richiede circa 63 indirizzi IP liberi (45 per l'istanza di scrittura, 15 per l'istanza di lettura e 3 per l'endpoint personalizzato aggiuntivo).

Per stimare gli indirizzi IP richiesti per un proxy associato a un cluster Aurora DB che dispone di: 
+ 1 istanza di Aurora Serverless v2 scrittura con capacità massima di 256 ACUs e 1 istanza di lettura Serverless v2 con capacità massima di 192. ACUs
+ Il proxy collegato a questo cluster ha l'endpoint predefinito e 1 endpoint personalizzato con il ruolo di sola lettura.

In questo caso, il proxy necessita di circa 133 indirizzi IP gratuiti (75 per l'istanza writer, 55 per l'istanza reader e 3 per l'endpoint personalizzato aggiuntivo).

Per stimare gli indirizzi IP richiesti per un proxy associato a un cluster Aurora che dispone di: 
+ 1 istanza di scripting fornita con dimensione dell'istanza DB di db.r5.4xlarge e 1 istanza di lettura Serverless v2 con capacità massima di 64. ACUs
+ Il proxy collegato a questo cluster ha l'endpoint predefinito e 1 endpoint personalizzato con il ruolo di sola lettura. 

In questo caso, il proxy necessita di circa 53 indirizzi IP gratuiti (25 per l'istanza writer, 25 per l'istanza reader e 3 per l'endpoint personalizzato aggiuntivo). 

Per stimare gli indirizzi IP richiesti per un proxy associato a un cluster Aurora DB che dispone di:
+ 1 istanza provisioned writer di dimensione db.r5.24xlarge e 3 istanze provisioned reader di dimensione db.r5.8xlarge. 
+ Il proxy collegato a questo cluster database ha l'endpoint predefinito e 1 endpoint personalizzato con il ruolo di sola lettura. 

In questo caso, il proxy necessita di 215 indirizzi IP gratuiti. Sebbene i calcoli suggeriscano 248 IPs (110 \$1 (3\$145) \$1 3), RDS Proxy non utilizza più di 215 indirizzi IP per ogni proxy in un VPC.

# Impostazione delle credenziali del database per RDS Proxy
<a name="rds-proxy-secrets-arns"></a>

Il proxy RDS in Amazon RDS viene utilizzato Gestione dei segreti AWS per archiviare e gestire le credenziali del database in modo sicuro. Anziché essere incorporate nell’applicazione, le credenziali vengono impostate associando un proxy a un segreto Secrets Manager contenente i dettagli di autenticazione necessari. È necessario creare un segreto Secrets Manager separato per ogni account utente del database a cui si connette il proxy sull’sul cluster di database Aurora.

In alternativa, puoi configurare RDS Proxy per utilizzare l'autenticazione end-to-end IAM, che elimina la necessità di archiviare le credenziali del database in Secrets Manager. RDS Proxy utilizza l'autenticazione IAM per entrambe client-to-proxy le connessioni. proxy-to-database Ciò fornisce una soluzione di autenticazione basata su IAM completamente integrata che non richiede la gestione di segreti o password. Per informazioni sull'aggiunta di un nuovo utente IAM DB, consulta. [Creazione di un account database tramite l’autenticazione IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**Topics**
+ [Creazione di segreti da utilizzare con Server proxy per RDS](#rds-proxy-secrets-create)

## Creazione di segreti da utilizzare con Server proxy per RDS
<a name="rds-proxy-secrets-create"></a>

Prima di creare un proxy, devi creare almeno un segreto in cui archiviare le credenziali del database.

### Console
<a name="rds-proxy-secrets-create-console"></a>

**Per creare un segreto**

1. Apri la console Secrets Manager all'indirizzo [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Scegli **Archivia un nuovo segreto**.

1. Scegli **Credenziali per database Amazon RDS**.

1. Inserisci un nome utente e una password. Le credenziali inserite devono corrispondere a quelle di un utente esistente nel database RDS associato. Server proxy per RDS utilizza queste credenziali per autenticare e stabilire connessioni al database per conto delle applicazioni.

   In caso di mancata corrispondenza, puoi aggiornare il segreto in modo che corrisponda alla password del database. Finché non aggiorni il segreto, i tentativi di connessione effettuati tramite il proxy utilizzando tale segreto avranno esito negativo, ma le connessioni che utilizzano altri segreti validi continueranno a funzionare.
**Nota**  
Per RDS per SQL Server, Server proxy per RDS richiede un segreto con distinzione tra maiuscole e minuscole in Secrets Manager, indipendentemente dalle impostazioni di confronto delle istanze database. Se l’applicazione consente nomi utente con uso di maiuscole e minuscole diverse, come “Admin” e “admin”, è necessario creare segreti separati per ciascuno. Server proxy per RDS non supporta l’autenticazione senza distinzione tra maiuscole e minuscole tra client e proxy.  
Per ulteriori informazioni sul confronto in SQL Server, consulta la documentazione di [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver16).

1. Per **Database**, seleziona il database Amazon RDS a cui accederà il segreto.

1. Inserisci le altre impostazioni per il segreto, quindi scegli **Archivia**. Per le istruzioni complete, consulta [Creazione di un segreto Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) nella *Guida per l’utente di Gestione dei segreti AWS *. 

### AWS CLI
<a name="rds-proxy-secrets-create-cli"></a>

Quando crei un proxy tramite AWS CLI, specifichi gli Amazon Resource Names (ARNs) dei segreti corrispondenti. per tutti gli account utente del database a cui il proxy può accedere. In Console di gestione AWS, scegli i segreti in base ai loro nomi descrittivi.
+ Per creare un segreto Secrets Manager da utilizzare con Server proxy per RDS, utilizza il comando [create-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/create-secret.html):

  ```
  aws secretsmanager create-secret \
    --name "secret_name" \
    --description "secret_description" \
    --region region_name \
    --secret-string '{"username":"db_user","password":"db_user_password"}'
  ```
+ Puoi anche creare una chiave personalizzata per crittografare il segreto Secrets Manager. Il comando seguente crea una chiave di esempio.

  ```
  aws kms create-key --description "test-key" --policy '{
    "Id":"kms-policy",
    "Version": "2012-10-17",		 	 	 
    "Statement":
      [
        {
          "Sid":"Enable IAM User Permissions",
          "Effect":"Allow",
          "Principal":{"AWS":"arn:aws:iam::account_id:root"},
          "Action":"kms:*","Resource":"*"
        },
        {
          "Sid":"Allow access for Key Administrators",
          "Effect":"Allow",
          "Principal":
            {
              "AWS":
                ["$USER_ARN","arn:aws:iam:account_id::role/Admin"]
            },
          "Action":
            [
              "kms:Create*",
              "kms:Describe*",
              "kms:Enable*",
              "kms:List*",
              "kms:Put*",
              "kms:Update*",
              "kms:Revoke*",
              "kms:Disable*",
              "kms:Get*",
              "kms:Delete*",
              "kms:TagResource",
              "kms:UntagResource",
              "kms:ScheduleKeyDeletion",
              "kms:CancelKeyDeletion"
            ],
          "Resource":"*"
        },
        {
          "Sid":"Allow use of the key",
          "Effect":"Allow",
          "Principal":{"AWS":"$ROLE_ARN"},
          "Action":["kms:Decrypt","kms:DescribeKey"],
          "Resource":"*"
        }
      ]
  }'
  ```

 Ad esempio, i comandi seguenti creano segreti Secrets Manager per due utenti di database: 

```
aws secretsmanager create-secret \
  --name secret_name_1 --description "db admin user" \
  --secret-string '{"username":"admin","password":"choose_your_own_password"}'

aws secretsmanager create-secret \
  --name secret_name_2 --description "application user" \
  --secret-string '{"username":"app-user","password":"choose_your_own_password"}'
```

Per creare questi segreti crittografati con la tua AWS KMS chiave personalizzata, usa i seguenti comandi:

```
aws secretsmanager create-secret \
  --name secret_name_1 --description "db admin user" \
  --secret-string '{"username":"admin","password":"choose_your_own_password"}' \
  --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id

aws secretsmanager create-secret \
  --name secret_name_2 --description "application user" \
  --secret-string '{"username":"app-user","password":"choose_your_own_password"}' \
  --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id
```

Per vedere i segreti di proprietà del tuo AWS account, usa il comando [list-secrets](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/list-secrets.html):

```
aws secretsmanager list-secrets
```

Quando crei un proxy utilizzando la CLI, passi gli Amazon Resource Names (ARNs) di uno o più segreti al `--auth` parametro. L’esempio seguente mostra come preparare un report con solo il nome e l’ARN di ogni segreto di proprietà del tuo account AWS . Questo esempio utilizza il `--output table` parametro disponibile nella AWS CLI versione 2. Se stai usando la AWS CLI versione 1, usa `--output text` invece. 

```
aws secretsmanager list-secrets --query '*[].[Name,ARN]' --output table
```

Per confermare che il segreto contenga le credenziali corrette nel formato corretto, utilizzate il [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)comando. Sostituisci `your_secret_name` con il nome breve o l’ARN del segreto.

```
aws secretsmanager get-secret-value --secret-id your_secret_name
```

L’output contiene una riga con un valore con codifica JSON simile al seguente:

```
...
"SecretString": "{\"username\":\"your_username\",\"password\":\"your_password\"}",
...
```

# Configurazione dell’autenticazione IAM per Server proxy per RDS
<a name="rds-proxy-iam-setup"></a>

Per configurare l'autenticazione AWS Identity and Access Management (IAM) per RDS Proxy in Amazon RDS, crea e configura una policy IAM che conceda le autorizzazioni necessarie. 

Questo argomento fornisce i passaggi per configurare l’autenticazione IAM per Server proxy per RDS, inclusa la creazione della policy IAM richiesta e il suo collegamento a un ruolo IAM. 

**Suggerimento**  
Questa procedura è necessaria solo se desideri creare il tuo ruolo IAM. Altrimenti, RDS può creare automaticamente il ruolo richiesto quando configuri il proxy, quindi puoi saltare questi passaggi.

## Prerequisiti
<a name="rds-proxy-iam-setup-prereqs"></a>

Prima di configurare l’autenticazione IAM per Server proxy per RDS, assicurati di disporre di quanto segue:
+ **Gestione dei segreti AWS**: almeno un segreto archiviato che contiene le credenziali del database. Per istruzioni su come creare segreti, consulta [Impostazione delle credenziali del database per RDS Proxy](rds-proxy-secrets-arns.md).

  Questo non è necessario se utilizzi l'autenticazione IAM. end-to-end
+ **Autorizzazioni IAM**: un ruolo o un utente IAM con autorizzazioni per creare e gestire policy, ruoli e segreti IAM in Gestione dei segreti AWS.

## Creazione di una policy IAM per l'autenticazione end-to-end IAM
<a name="rds-proxy-iam-setup-e2e-steps"></a>

Quando si utilizza l'autenticazione end-to-end IAM, RDS Proxy si connette al database utilizzando l'autenticazione IAM anziché recuperare le credenziali da Secrets Manager. Ciò richiede la configurazione del ruolo IAM con `rds-db:connect` le autorizzazioni per gli account di database che desideri utilizzare con il proxy.

Per autenticare il proxy RDS nel database utilizzando IAM, crea un ruolo IAM con una policy che conceda le autorizzazioni di connessione al database necessarie.

### Console
<a name="rds-proxy-iam-e2e-console"></a>

**Per creare un ruolo per l'autenticazione end-to-end IAM con il tuo proxy**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Creazione di una policy delle autorizzazioni per il ruolo. Per i passaggi generali, consulta [Creare policy IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).

   Incolla la seguente policy nell’editor JSON ed effettua le seguenti modifiche:
   + Sostituisci il tuo ID account.
   + Sostituiscilo `us-east-2` con il luogo in cui deve risiedere il proxy.
   + Sostituisci la risorsa del database IDs e i nomi utente con quelli che desideri utilizzare. Il formato dell'ID della risorsa è diverso tra le istanze RDS e. Aurora clusters

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "rds-db:connect",
               "Resource": [
                   "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1",
                   "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2"
               ]
           }
       ]
   }
   ```

1. Crea il ruolo e collega ad esso una policy delle autorizzazioni. Per i passaggi generali, consulta [Creare un ruolo per delegare le autorizzazioni](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) a un servizio. AWS 

   Per **Tipo di entità attendibile**, scegli **AWS Servizio**. In **Caso d’uso**, seleziona **RDS** e scegli **RDS - Aggiungi ruolo al database** per il caso d’uso.

1. In **Policy di autorizzazione**, scegli la policy creata.

1. In **Seleziona entità attendibili**, inserisci la seguente policy di attendibilità per il ruolo:

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

### AWS CLI
<a name="rds-proxy-iam-e2e-cli"></a>

Per creare il ruolo utilizzando il AWS CLI, invia la seguente richiesta:

```
aws iam create-role \
  --role-name my_e2e_iam_role_name \

  --assume-role-policy-document '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'
```

Quindi, collega tale policy al ruolo:

```
aws iam put-role-policy \
  --role-name my_e2e_iam_role_name \
  --policy-name e2e_iam_db_connect_policy \
  --policy-document '{

    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "rds-db:connect",
            "Resource": [
                "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1",
                "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2"
            ]
        }
    ]
}'
```

Con il ruolo e le autorizzazioni end-to-end IAM configurati per l'autenticazione IAM, ora puoi creare un proxy con `DefaultAuthScheme` set to`IAM_AUTH`. Questo proxy si autentica direttamente nel database utilizzando IAM senza richiedere i segreti di Secrets Manager. Per istruzioni, consulta [Creazione di un proxy per Amazon Aurora](rds-proxy-creating.md).

Quando utilizzi l'autenticazione end-to-end IAM, assicurati che gli utenti del database siano configurati per l'autenticazione IAM come descritto in. [Creazione di un account database tramite l’autenticazione IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

## Creazione di una policy IAM per l’accesso a Secrets Manager
<a name="rds-proxy-iam-setup-steps"></a>

Per consentire a Server proxy per RDS di recuperare le credenziali del database da Secrets Manager, devi creare un ruolo IAM con una policy che concede le autorizzazioni necessarie.

## Console
<a name="rds-proxy-iam-console"></a>

**Per creare un ruolo che acceda ai segreti da utilizzare con il proxy**

1. Accedi a Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Creazione di una policy delle autorizzazioni per il ruolo. Per i passaggi generali, consulta [Creare policy IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).

   Incolla la seguente policy nell’editor JSON ed effettua le seguenti modifiche:
   + Sostituisci il tuo ID account.
   + Sostituisci `us-east-2` con la Regione in cui risiederà il proxy.
   + Sostituisci i nomi segreti con quelli che hai creato. Per ulteriori informazioni, consulta [Specificazione delle chiavi KMS nelle istruzioni della policy IAM](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html).
   + Sostituisci l’ID della chiave KMS con quello utilizzato per crittografare i segreti di Secrets Manager, la chiave di default o la propria chiave.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": [
                   "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_1",
                   "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_2"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "kms:Decrypt",
               "Resource": "arn:aws:kms:us-east-2:111122223333:key/key_id",
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Crea il ruolo e collega ad esso una policy delle autorizzazioni. Per i passaggi generali, consulta [Creare un ruolo per delegare le autorizzazioni a un AWS servizio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). 

   Per **Tipo di entità attendibile**, scegli **AWS Servizio**. In **Caso d’uso**, seleziona **RDS** e scegli **RDS - Aggiungi ruolo al database** per il caso d’uso.

1. In **Policy di autorizzazione**, scegli la policy creata.

1. In **Seleziona entità attendibili**, inserisci la seguente policy di attendibilità per il ruolo:

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

****  

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

------

## AWS CLI
<a name="rds-proxy-iam-cli"></a>

Per creare il ruolo utilizzando il AWS CLI, invia la seguente richiesta:

```
aws iam create-role \
  --role-name my_role_name \
  --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'
```

Quindi, collega tale policy al ruolo:

```
aws iam put-role-policy \
  --role-name my_role_name \
  --policy-name secret_reader_policy \
  --policy-document '{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "secretsmanager:GetSecretValue",
            "Resource": [
                "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1",
                "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com"
                }
            }
        }
    ]
}'
```

Con il ruolo e le autorizzazioni IAM configurati, ora puoi creare un proxy e associarlo a questo ruolo. Ciò consente al proxy di recuperare le credenziali del database in modo sicuro Gestione dei segreti AWS e di abilitare l'autenticazione IAM per le applicazioni. Per istruzioni, consulta [Creazione di un proxy per Amazon Aurora](rds-proxy-creating.md).

# Creazione di un proxy per Amazon Aurora
<a name="rds-proxy-creating"></a>

Puoi utilizzare Server proxy per Amazon RDS per migliorare la scalabilità, la disponibilità e la sicurezza delle tue applicazioni di database raggruppando le connessioni e gestendo i failover del database in modo più efficiente. In questo argomento viene introdotta la creazione di un proxy. Prima di iniziare, assicurati che il database soddisfi i prerequisiti necessari, tra cui le autorizzazioni IAM e la configurazione del VPC.

Puoi associare un proxy a un cluster database Aurora MySQL o Aurora PostgreSQL. 

## Console
<a name="rds-proxy-creating.console"></a>

**Per creare un proxy**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione scegli **Proxy**. 

1. Scegli **Create proxy (Crea proxy)**. 

1. Configura il proxy utilizzando le impostazioni indicate di seguito.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/AuroraUserGuide/rds-proxy-creating.html)

1.  Scegli **Create proxy (Crea proxy)**. 

## AWS CLI
<a name="rds-proxy-creating.CLI"></a>

 Per creare un proxy utilizzando il AWS CLI, chiamate il [create-db-proxy](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-proxy.html)comando con i seguenti parametri obbligatori: 
+ `--db-proxy-name`
+ `--engine-family`
+ `--role-arn`
+ `--vpc-subnet-ids`

Il valore `--engine-family` prevede la distinzione tra lettere maiuscole e minuscole.

**Example**  
Per Linux, macOS o Unix:  

```
aws rds create-db-proxy \
    --db-proxy-name proxy_name \
    --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \
    --role-arn iam_role \
    --vpc-subnet-ids space_separated_list \
    [--default-auth-scheme { NONE | IAM_AUTH }] \
    [--auth ProxyAuthenticationConfig_JSON_string] \
    [--vpc-security-group-ids space_separated_list] \
    [--require-tls | --no-require-tls] \
    [--idle-client-timeout value] \
    [--debug-logging | --no-debug-logging] \
    [--endpoint-network-type { IPV4 | IPV6 | DUAL }] \
    [--target-connection-network-type { IPV4 | IPV6 }] \
    [--tags comma_separated_list]
```
Per Windows:  

```
aws rds create-db-proxy ^
    --db-proxy-name proxy_name ^
    --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^
    --role-arn iam_role ^
    --vpc-subnet-ids space_separated_list ^
    [--default-auth-scheme { NONE | IAM_AUTH }] ^
    [--auth ProxyAuthenticationConfig_JSON_string] ^
    [--vpc-security-group-ids space_separated_list] ^
    [--require-tls | --no-require-tls] ^
    [--idle-client-timeout value] ^
    [--debug-logging | --no-debug-logging] ^
    [--endpoint-network-type { IPV4 | IPV6 | DUAL }] ^
    [--target-connection-network-type { IPV4 | IPV6 }] ^
    [--tags comma_separated_list]
```

Di seguito è riportato un esempio di valore JSON per l'opzione `--auth`. In questo esempio viene applicato un tipo di autenticazione client diverso per ciascun segreto.

```
[
  {
    "Description": "proxy description 1",
    "AuthScheme": "SECRETS",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789123:secret/1234abcd-12ab-34cd-56ef-1234567890ab",
    "IAMAuth": "DISABLED",
    "ClientPasswordAuthType": "POSTGRES_SCRAM_SHA_256"
  },
  
  {
    "Description": "proxy description 2",
    "AuthScheme": "SECRETS",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:111122223333:secret/1234abcd-12ab-34cd-56ef-1234567890cd",
    "IAMAuth": "DISABLED",
    "ClientPasswordAuthType": "POSTGRES_MD5"
    
  },
  
  {
    "Description": "proxy description 3",
    "AuthScheme": "SECRETS",
    "SecretArn": "arn:aws:secretsmanager:us-west-2:111122221111:secret/1234abcd-12ab-34cd-56ef-1234567890ef",
    "IAMAuth": "REQUIRED"
  }
  
]
```

Il parametro `--endpoint-network-type` specifica la versione IP dell’endpoint proxy utilizzato dai client per connettersi al proxy. I valori validi sono:
+ `IPV4`— L'endpoint proxy utilizza solo IPv4 indirizzi (impostazione predefinita).
+ `IPV6`— L'endpoint proxy utilizza solo IPv6 indirizzi.
+ `DUAL`— L'endpoint proxy supporta entrambi IPv4 gli IPv6 indirizzi.

Il parametro `--target-connection-network-type` specifica la versione IP utilizzata dal proxy per connettersi al database di destinazione. I valori validi sono:
+ `IPV4`— Il proxy si connette al database utilizzando IPv4 gli indirizzi (impostazione predefinita).
+ `IPV6`— Il proxy si connette al database utilizzando IPv6 gli indirizzi.

Per utilizzare tipi IPv6 di rete endpoint dual-stack, il VPC e le sottoreti devono essere configurati per supportare il tipo di rete selezionato. Per utilizzare il tipo di rete con connessione IPv6 di destinazione, il database deve supportare la modalità dual-stack.

**Suggerimento**  
 Se non conosci già la sottorete IDs da utilizzare per il `--vpc-subnet-ids` parametro, consulta [Configurazione dei prerequisiti di rete per Server proxy per RDS](rds-proxy-network-prereqs.md) alcuni esempi su come trovarli. 

**Nota**  
Il gruppo di protezione deve consentire l'accesso al database a cui si connette il proxy. Lo stesso gruppo di protezione viene utilizzato per l'ingresso dalle applicazioni al proxy e per l'uscita dal proxy al database. Si supponga, ad esempio, di utilizzare lo stesso gruppo di protezione per il database e il proxy. In questo caso, assicurarsi di specificare che le risorse di tale gruppo di protezione possono comunicare con altre risorse dello stesso gruppo di protezione.  
Quando si utilizza un VPC condiviso, non è possibile utilizzare il gruppo di sicurezza predefinito per il VPC o uno appartenente a un altro account. Scegli un gruppo di sicurezza appartenente all'account. Se non esiste, creane uno. Per ulteriori informazioni su questa limitazione, consulta [Work with shared VPCs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html#vpc-share-limitations). 

 Per creare le associazioni corrette per il proxy, si usa anche il [register-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/register-db-proxy-targets.html)comando. Specificare il tipo di gruppo di destinazione `default` RDS Proxy crea automaticamente un gruppo di destinazione con questo nome quando si crea ogni proxy. 

```
aws rds register-db-proxy-targets
    --db-proxy-name value
    [--target-group-name target_group_name]
    [--db-instance-identifiers space_separated_list]  # rds db instances, or
    [--db-cluster-identifiers cluster_id]        # rds db cluster (all instances)
```

## API RDS
<a name="rds-proxy-creating.API"></a>

 [Per creare un proxy RDS, chiama l'operazione API Amazon RDS Create. DBProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBProxy.html) Passi un parametro con la struttura dei [AuthConfig](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AuthConfig.html)dati. 

 RDS Proxy crea automaticamente un gruppo di destinazione denominato `default` quando si crea ogni proxy. È possibile associare un cluster Aurora al gruppo di destinazione chiamando la [funzione DBProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RegisterDBProxyTargets.html) Register Targets. 

**Importante**  
Quando si seleziona **l'autenticazione IAM** per lo schema di autenticazione predefinito:  
È necessario abilitare l'autenticazione del database IAM sulle istanze o sui cluster del database di destinazione prima che il proxy possa connettersi correttamente.
Se scegli **Crea il ruolo IAM**, è obbligatorio il campo **Database accounts for IAM authentication**.
Se selezioni un ruolo IAM esistente, la console non aggiorna automaticamente il ruolo con le autorizzazioni di connessione al database. Verifica che il ruolo disponga delle `rds-db:connect` autorizzazioni necessarie.

# Visualizzazione di un proxy
<a name="rds-proxy-viewing"></a>

 Dopo aver creato uno o più proxy RDS, puoi visualizzarli e gestirli in Console di gestione AWS, AWS CLI o nell’API di RDS. È possibile esaminarne i dettagli di configurazione, monitorare le prestazioni e determinare quali proxy modificare o eliminare in base alle esigenze.

Per consentire alle applicazioni di database di indirizzare il traffico attraverso un proxy, è necessario specificare l’endpoint proxy nella stringa di connessione.

## Console
<a name="rds-proxy-viewing.console"></a>

**Per visualizzare un proxy nella console**

1. Accedi alla Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione scegli **Proxies (Proxy)**. 

1. Seleziona il nome del proxy per visualizzare i dettagli. 

1. Nella pagina dei dettagli, la sezione **Gruppi di destinazione** mostra come il proxy è associato a un cluster di database Aurora specifico. È possibile accedere alla pagina del gruppo di destinazione predefinito per una visione più approfondita di questa associazione, comprese le impostazioni di configurazione definite durante la creazione del proxy. Queste impostazioni includono la percentuale massima di connessione, il timeout del prestito di connessione, la famiglia di motori e i filtri di associazione delle sessioni.

## CLI
<a name="rds-proxy-viewing.cli"></a>

 Per visualizzare il proxy utilizzando la CLI, utilizzare il comando [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html). Per impostazione predefinita, vengono visualizzati tutti i proxy di proprietà dell’account AWS. Per visualizzare i dettagli di un singolo proxy, specificarne il nome con il parametro `--db-proxy-name`. 

```
aws rds describe-db-proxies [--db-proxy-name proxy_name]
```

 Per visualizzare altre informazioni associate al proxy, utilizza questi comandi: 

```
aws rds describe-db-proxy-target-groups  --db-proxy-name proxy_name

aws rds describe-db-proxy-targets --db-proxy-name proxy_name
```

 Utilizza la seguente sequenza di comandi per visualizzare ulteriori dettagli sugli elementi associati al proxy: 

1.  Per ottenere un elenco di proxy, eseguire [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html). 

1.  Per visualizzare i parametri di connessione, ad esempio la percentuale massima di connessioni che il proxy può utilizzare, esegui [describe-db-proxy-target-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-target-groups.html) `--db-proxy-name`. Utilizza il nome del proxy come valore del parametro. 

1.  Per visualizzare i dettagli del cluster di database Aurora associato al gruppo di destinazione restituito, esegui [describe-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-targets.html). 

## API RDS
<a name="rds-proxy-viewing.api"></a>

 Per visualizzare i proxy utilizzando l'API RDS, utilizza l'operazione [DescribedBProxies](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBProxies.html) . Restituisce valori del tipo di dati [DbProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBProxy.html) . 

 Puoi utilizzare gli identificatori proxy dal valore restituito per visualizzare i dettagli delle impostazioni di connessione per il proxy utilizzando l'operazione [DescribeDBProxyTargetGroups](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBProxyTargetGroups.html). Restituisce valori del tipo di dati [DbProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBProxyTargetGroup.html) . 

 Puoi visualizzare l'istanza RDS o il cluster di database Aurora associato al proxy utilizzando l'operazione [DescribeDBProxyTargets](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBProxyTargets.html). Restituisce valori del tipo di dati [DbProxyTarget](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBProxyTarget.html) . 

# Connessione a un database tramite RDS Proxy
<a name="rds-proxy-connecting"></a>

In linea generale, si stabilisce una connessione a cluster database Aurora o a un cluster che utilizza Aurora Serverless v2 tramite un proxy allo stesso modo in cui ci si connette direttamente al database. La differenza principale è che si specifica l'endpoint del proxy anziché l'endpoint del cluster. Per impostazione predefinita, tutte le connessioni proxy dispongono read/write di funzionalità e utilizzano l'istanza writer. Se normalmente utilizzi l'endpoint di lettura per connessioni di sola lettura, puoi creare un endpoint aggiuntivo di sola lettura per il proxy e usare l'endpoint allo stesso modo. Per ulteriori informazioni, consulta [Panoramica degli endpoint proxy](rds-proxy-endpoints.md#rds-proxy-endpoints-overview). 

**Topics**
+ [Connessione a un database utilizzando le credenziali del database](#rds-proxy-connecting-native)
+ [Connessione a un database tramite l'autenticazione IAM](#rds-proxy-connecting-iam)
+ [Considerazioni sulla connessione a PostgreSQL](#rds-proxy-connecting-postgresql)

## Connessione a un database utilizzando le credenziali del database
<a name="rds-proxy-connecting-native"></a>

 Utilizza i seguenti passaggi per connetterti a un proxy utilizzando le credenziali del database: 

1.  Trova l'endpoint del proxy. In Console di gestione AWS, puoi trovare l'endpoint nella pagina dei dettagli del proxy corrispondente. Con AWS CLI, è possibile utilizzare il [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html)comando. L’esempio seguente mostra come. 

   ```
   # Add --output text to get output as a simple tab-separated list.
   $ aws rds describe-db-proxies --query '*[*].{DBProxyName:DBProxyName,Endpoint:Endpoint}'
   [
       [
           {
               "Endpoint": "the-proxy.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy"
           },
           {
               "Endpoint": "the-proxy-other-secret.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-other-secret"
           },
           {
               "Endpoint": "the-proxy-rds-secret.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-rds-secret"
           },
           {
               "Endpoint": "the-proxy-t3.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-t3"
           }
       ]
   ]
   ```

1.  Specificare l’endpoint come parametro host nella stringa di connessione per l’applicazione client. Ad esempio, specificare l'endpoint proxy come valore per l'opzione `mysql -h` o l'opzione `psql -h`. 

1.  Fornisci lo stesso nome utente e la stessa password del database come fai normalmente. 

## Connessione a un database tramite l'autenticazione IAM
<a name="rds-proxy-connecting-iam"></a>

 Quando utilizzi l'autenticazione IAM con RDS Proxy, hai due opzioni per l'autenticazione tra il client e il proxy:
+ Configura gli utenti del database in modo che si autentichino con nomi utente e password normali. RDS Proxy recupera le credenziali del nome utente e della password da Secrets Manager. La connessione da RDS Proxy al database sottostante non passa tramite IAM.
+ È inoltre possibile utilizzare l'autenticazione end-to-end IAM, che si connette al database tramite il proxy utilizzando IAM senza richiedere le credenziali del database.

 Per connetterti a Server proxy per RDS con l’autenticazione IAM, utilizza la stessa procedura di connessione generale utilizzata per l’autenticazione IAM con un cluster di database Aurora. Per informazioni generali sull'utilizzo di IAM, consulta [Sicurezza in ](UsingWithRDS.md). Se utilizzi l'autenticazione end-to-end IAM, fornisci il plug-in di autenticazione IAM al tuo utente DB. Per informazioni, consulta [Creazione di un account database tramite l’autenticazione IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md).

 Le principali differenze nell'utilizzo di IAM per RDS Proxy includono le seguenti: 
+ Con l'autenticazione IAM standard, gli utenti del database dispongono di credenziali regolari all'interno del database. Si impostano i segreti Secrets Manager contenenti questi nomi utente e password e si autorizza RDS Proxy a recuperare le credenziali da Secrets Manager. L'autenticazione IAM si applica alla connessione tra il programma client e il proxy. Il proxy esegue quindi l'autenticazione nel database utilizzando il nome utente e le credenziali della password recuperate da Secrets Manager.
+ Con l'autenticazione end-to-end IAM, non è necessario configurare i segreti di Secrets Manager per le credenziali del database. L'autenticazione IAM si applica alla connessione tra il client al proxy e il proxy al database.
+ Invece dell'istanza, del cluster o dell'endpoint dell'istanza di lettura, specifica l'endpoint del proxy. Per informazioni dettagliate sull'endpoint proxy, vedere [Connessione al cluster di database tramite l'autenticazione IAM](UsingWithRDS.IAMDBAuth.Connecting.md).
+ Quando ci si connette a un proxy utilizzando l'autenticazione IAM è necessario utilizzare Transport Layer Security (TLS)/Secure Sockets Layer (SSL).

È possibile concedere a un utente specifico l'accesso al proxy modificando la policy IAM. Di seguito è riportato un esempio.

```
"Resource": "arn:aws:rds-db:us-east-2:1234567890:dbuser:prx-ABCDEFGHIJKL01234/db_user"
```

**Suggerimento**  
Quando configuri l'autenticazione IAM per le connessioni proxy RDS, segui queste importanti linee guida per evitare problemi di connessione:  
Non concedete il `rds_iam` ruolo mantenendo l'autenticazione generale con password per lo stesso utente o ruolo del database.
Ricorda che mentre i client si connettono al proxy RDS utilizzando l'autenticazione IAM, il proxy RDS si connette sempre al database utilizzando l'autenticazione tramite password tramite Secrets Manager.
Se si verificano frequenti interruzioni e riconnessioni della connessione, rimuovi eventuali `rds_iam` concessioni esistenti dall'utente o dal ruolo e utilizza solo l'autenticazione tramite password.
Assicurati che la tua politica in materia di password soddisfi i requisiti relativi ai caratteri sicuri SCRAM-SHA-256.
La combinazione di metodi di autenticazione IAM e password per lo stesso utente del database può causare instabilità della connessione.

## Considerazioni sulla connessione a PostgreSQL
<a name="rds-proxy-connecting-postgresql"></a>

Se si crea un nuovo utente del database PostgreSQL per la connessione a Server proxy per RDS, assicurarsi di concedere all’utente il privilegio `CONNECT` sul database. Senza questo privilegio, l’utente non può stabilire una connessione. Per ulteriori informazioni, consulta [Aggiungere un nuovo utente del database a un database PostgreSQL quando si utilizza Server proxy per RDS](rds-proxy-new-db-user.md#rds-proxy-new-db-user-pg).

Quando un client avvia una connessione a un database PostgreSQL, invia un messaggio di avvio che include coppie di stringhe di nome parametro e valore. Per i dettagli, vedere i `StartupMessage` in [Formati dei messaggi PostgreSQL](https://www.postgresql.org/docs/current/protocol-message-formats.html) nella documentazione di PostgreSQL. 

Quando si effettua la connessione tramite un proxy RDS, il messaggio di avvio può includere i seguenti parametri attualmente riconosciuti: 
+  `user` 
+  `database`

 Il messaggio di avvio può includere anche i seguenti parametri di runtime aggiuntivi: 
+ `[application\$1name](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-APPLICATION-NAME) `
+ `[client\$1encoding](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-CLIENT-ENCODING) `
+ `[DateStyle](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DATESTYLE) `
+ `[TimeZone](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TIMEZONE) `
+  `[extra\$1float\$1digits](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-EXTRA-FLOAT-DIGITS) `
+  `[ search\$1path ](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-SEARCH-PATH)` 

 Per ulteriori informazioni sulla messaggistica PostgreSQL, vedere [Frontend/Backend Protocol](https://www.postgresql.org/docs/current/protocol.html) nella documentazione di PostgreSQL.

 Per PostgreSQL, se si utilizza JDBC, è consigliabile effettuare quanto segue per evitare il pinning:
+ Impostare il parametro `assumeMinServerVersion` di connessione JDBC su almeno `9.0` per evitare il pinning. In questo modo si impedisce al driver JDBC di eseguire un ulteriore round trip durante l’avvio della connessione quando viene eseguito `SET extra_float_digits = 3`. 
+ Impostare il parametro di connessione JDBC `ApplicationName` su `any/your-application-name` per evitare il pinning. In questo modo si impedisce al driver JDBC di eseguire un ulteriore round trip durante l'avvio della connessione quando viene eseguito `SET application_name = "PostgreSQL JDBC Driver"`. Si noti che il parametro JDBC è `ApplicationName` ma il parametro `StartupMessage` PostgreSQL è `application_name`.

Per ulteriori informazioni, consulta [Evitare di effettuare il pinning di un Server proxy per RDS](rds-proxy-pinning.md). Per ulteriori informazioni sulla connessione tramite JDBC, vedere [Connessione al database](https://jdbc.postgresql.org/documentation/setup/) nella documentazione di PostgreSQL.