

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

# Configurazione del TLS reciproco su un Application Load Balancer
<a name="configuring-mtls-with-elb"></a>

Per utilizzare la modalità passthrough TLS reciproca, è sufficiente configurare il listener in modo che accetti qualsiasi certificato dai client. Quando si utilizza il passthrough TLS reciproco, Application Load Balancer invia l'intera catena di certificati client alla destinazione utilizzando intestazioni HTTP, che consentono di implementare la logica di autenticazione e autorizzazione corrispondente nell'applicazione. Per ulteriori informazioni, consulta [Creare un listener HTTPS per l'Application Load Balancer](create-https-listener.md).

 Quando si utilizza il protocollo TLS reciproco in modalità di verifica, Application Load Balancer esegue l'autenticazione del certificato client X.509 per i client quando un sistema di bilanciamento del carico negozia connessioni TLS.

Per utilizzare la modalità di verifica TLS reciproca, effettuate le seguenti operazioni:
+ Crea una nuova risorsa Trust Store.
+ Carica il tuo pacchetto di autorità di certificazione (CA) e, facoltativamente, gli elenchi di revoca.
+ Collega il trust store al listener configurato per verificare i certificati client.

Utilizza le seguenti procedure per configurare la modalità di verifica TLS reciproca sull'Application Load Balancer.

**Topics**
+ [Crea un trust store](#create-trust-store)
+ [Associa un trust store](#associate-trust-store)
+ [Sostituisci un pacchetto di certificati CA](#replace-ca-cert-bundle)
+ [Aggiungere un elenco di revoca dei certificati](#add-cert-revocation-list)
+ [Eliminare un elenco di revoca dei certificati](#delete-cert-revocation-list)
+ [Eliminare un trust store](#delete-trust-store)

## Crea un trust store
<a name="create-trust-store"></a>

Se aggiungi un trust store quando crei un load balancer o un listener, il trust store viene automaticamente associato al nuovo listener. Altrimenti, è necessario associarlo personalmente a un ascoltatore.

**Prerequisiti**
+ Per creare un trust store, è necessario disporre di un pacchetto di certificati rilasciato dall'Autorità di certificazione (CA).

------
#### [ Console ]

L'esempio seguente crea un trust store utilizzando la parte **Trust Store** della console. In alternativa, è possibile creare il trust store quando si crea un listener HTTP.

**Per creare un trust store**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel pannello di navigazione, scegli **Trust Stores**.

1. Scegli **Create Trust Store**.

1. **Configurazione del Trust Store**

   1. Per il **nome del Trust Store**, inserisci un nome per il tuo Trust Store.

   1. Per il **pacchetto di autorità di certificazione**, inserisci il percorso Amazon S3 del pacchetto di certificati ca da utilizzare.

   1. (Facoltativo) Usa la **versione dell'oggetto** per selezionare una versione precedente del pacchetto di certificati ca. Altrimenti, viene utilizzata la versione corrente.

1. (Facoltativo) Per **le revoche**, puoi aggiungere un elenco di revoche dei certificati al tuo trust store.

   1. Scegli **Aggiungi nuovo CRL** e inserisci la posizione dell'elenco di revoca dei certificati in Amazon S3.

   1. (Facoltativo) Utilizza la **versione dell'oggetto** per selezionare una versione precedente dell'elenco di revoca dei certificati. In caso contrario, viene utilizzata la versione corrente.

1. (Facoltativo) Espandi i **tag Trust Store** e inserisci fino a 50 tag per il tuo Trust Store.

1. Scegli **Create trust store**.

------
#### [ AWS CLI ]

**Per creare un trust store**  
Utilizza il comando [create-trust-store](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-trust-store.html).

```
aws elbv2 create-trust-store \
    --name {{my-trust-store}} \
    --ca-certificates-bundle-s3-bucket {{amzn-s3-demo-bucket}} \
    --ca-certificates-bundle-s3-key {{certificates/ca-bundle.pem}}
```

------
#### [ CloudFormation ]

**Per creare un trust store**  
Definire un tipo di risorsa [AWS::ElasticLoadBalancingV2::TrustStore](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-truststore.html).

```
Resources:
  myTrustStore:
    Type: 'AWS::ElasticLoadBalancingV2::TrustStore'
    Properties:
      Name: {{my-trust-store}}
      CaCertificatesBundleS3Bucket: {{amzn-s3-demo-bucket}}
      CaCertificatesBundleS3Key: {{certificates/ca-bundle.pem}}
```

------

## Associa un trust store
<a name="associate-trust-store"></a>

Dopo aver creato un trust store, è necessario associarlo a un listener prima che l'Application Load Balancer possa iniziare a utilizzare il trust store. È possibile associare un solo trust store a ciascuno dei listener sicuri, ma un trust store può essere associato a più listener.

------
#### [ Console ]

È possibile associare un trust store a un listener esistente, come illustrato nella procedura seguente. In alternativa, è possibile associare un trust store durante la creazione di un listener HTTPS. Per ulteriori informazioni, consulta [Creare un listener HTTPS](create-https-listener.md).

**Per associare un trust store**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Seleziona **Sistemi di bilanciamento del carico** nel riquadro di navigazione.

1. Selezionare il load balancer.

1. Nella scheda **Listener and rules**, selezionate il link nella colonna **Protocol:Port** per aprire la pagina dei dettagli del listener sicuro.

1. Nella scheda **Sicurezza**, scegli **Modifica** le impostazioni del listener sicuro.

1. Se il TLS reciproco non è abilitato, seleziona **Autenticazione reciproca (mTLS)** in **Gestione dei certificati del cliente**, quindi scegli **Verifica con trust store**.

1. Per **Trust store**, scegli Trust Store.

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

------
#### [ AWS CLI ]

**Per associare un trust store**  
Utilizza il comando [modify-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-listener.html).

```
aws elbv2 modify-listener \
    --listener-arn {{listener-arn}} \
    --mutual-authentication "Mode=verify,TrustStoreArn={{trust-store-arn}}"
```

------
#### [ CloudFormation ]

**Per associare un trust store**  
Aggiorna la [AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)risorsa.

```
Resources:
  myHTTPSListener:
    Type: 'AWS::ElasticLoadBalancingV2::Listener'
    Properties: 
      LoadBalancerArn: !Ref myLoadBalancer
      Protocol: HTTPS
      Port: 443
      DefaultActions:
        - Type: "forward"
          TargetGroupArn: !Ref myTargetGroup
      SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
      Certificates: 
        - CertificateArn: certificate-arn
      MutualAuthentication:
        - Mode: verify
          TrustStoreArn: {{trust-store-arn}}
```

------

## Sostituisci un pacchetto di certificati CA
<a name="replace-ca-cert-bundle"></a>

Il pacchetto di certificati CA è un componente obbligatorio del trust store. È una raccolta di certificati root e intermedi affidabili che sono stati convalidati da un'autorità di certificazione. Questi certificati convalidati garantiscono che il client possa fidarsi che il certificato presentato sia di proprietà del sistema di bilanciamento del carico.

Un trust store può contenere solo un pacchetto di certificati CA alla volta, ma è possibile sostituire il pacchetto di certificati CA in qualsiasi momento dopo la creazione del trust store.

------
#### [ Console ]

**Per sostituire un pacchetto di certificati CA**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel pannello di navigazione, scegli **Trust Stores**.

1. Seleziona il trust store.

1. Scegli **Azioni**, **Sostituisci il pacchetto CA**.

1. Nella pagina **Replace CA bundle**, in **Certificate Authority bundle**, inserisci la posizione Amazon S3 del pacchetto CA desiderato.

1. (Facoltativo) Utilizza la **versione dell'oggetto** per selezionare una versione precedente dell'elenco di revoca dei certificati. In caso contrario, viene utilizzata la versione corrente.

1. Seleziona **Replace CA bundle.**

------
#### [ AWS CLI ]

**Per sostituire un pacchetto di certificati CA**  
Utilizza il comando [modify-trust-store](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-trust-store.html).

```
aws elbv2 modify-trust-store \
    --trust-store-arn {{trust-store-arn}} \
    --ca-certificates-bundle-s3-bucket {{amzn-s3-demo-bucket-new}} \
    --ca-certificates-bundle-s3-key {{certificates/new-ca-bundle-pem}}
```

------
#### [ CloudFormation ]

**Per aggiornare il pacchetto di certificati CA**  
Definire un tipo [AWS::ElasticLoadBalancingV2::TrustStore](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-truststore.html)di risorsa.

```
Resources:
  myTrustStore:
    Type: 'AWS::ElasticLoadBalancingV2::TrustStore'
    Properties:
      Name: my-trust-store
      CaCertificatesBundleS3Bucket: {{amzn-s3-demo-bucket-new}}
      CaCertificatesBundleS3Key: {{certificates/new-ca-bundle.pem}}
```

------

## Aggiungere un elenco di revoca dei certificati
<a name="add-cert-revocation-list"></a>

Facoltativamente, è possibile creare un elenco di revoca dei certificati per un archivio attendibile. Gli elenchi di revoca vengono rilasciati dalle autorità di certificazione e contengono dati relativi ai certificati che sono stati revocati. Gli Application Load Balancer supportano solo gli elenchi di revoca dei certificati in formato PEM.

Quando un elenco di revoca dei certificati viene aggiunto a un archivio attendibile, gli viene assegnato un ID di revoca. Le revoche IDs aumentano per ogni elenco di revoche aggiunto al trust store e non possono essere modificate.

Gli Application Load Balancer non possono revocare i certificati con un numero di serie negativo all'interno di un elenco di revoca dei certificati.

------
#### [ Console ]

**Per aggiungere un elenco di revoche**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, scegli **Trust Stores**.

1. Seleziona il Trust Store per visualizzarne la pagina dei dettagli.

1. Nella scheda **Elenchi di revoca dei certificati**, seleziona **Azioni**, **Aggiungi elenco di revoca.**

1. Nella pagina **Aggiungi elenco di revoche, in Elenco** di **revoca dei certificati, inserisci la posizione Amazon S3 dell'elenco** di revoca dei certificati desiderato

1. (Facoltativo) Utilizza la **versione dell'oggetto** per selezionare una versione precedente dell'elenco di revoca dei certificati. Altrimenti viene utilizzata la versione corrente.

1. Seleziona **Aggiungi elenco di revoca**

------
#### [ AWS CLI ]

**Per aggiungere un elenco di revoche**  
Utilizza il comando [add-trust-store-revocations](https://docs.aws.amazon.com/cli/latest/reference/elbv2/add-trust-store-revocations.html).

```
aws elbv2 add-trust-store-revocations \
    --trust-store-arn {{trust-store-arn}} \
    --revocation-contents "S3Bucket={{amzn-s3-demo-bucket}},S3Key={{crl/revoked-list.crl}},RevocationType=CRL"
```

------
#### [ CloudFormation ]

**Per aggiungere un elenco di revoche**  
Definire una risorsa di tipo [AWS::ElasticLoadBalancingV2::TrustStoreRevoca](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-truststorerevocation.html).

```
Resources:
  myRevocationContents:
    Type: 'AWS:ElasticLoadBalancingV2::TrustStoreRevocation'
    Properties:
      TrustStoreArn: !Ref myTrustStore
      RevocationContents:
        - RevocationType: CRL
          S3Bucket: {{amzn-s3-demo-bucket}}
          S3Key: {{crl/revoked-list.crl}}
```

------

## Eliminare un elenco di revoca dei certificati
<a name="delete-cert-revocation-list"></a>

Quando non è più necessario un elenco di revoca dei certificati, è possibile eliminarlo. Quando si elimina un elenco di revoche di certificati da un archivio attendibile, viene eliminato anche il relativo ID di revoca e non viene riutilizzato per tutta la durata dell'archivio attendibile.

------
#### [ Console ]

**Per eliminare un elenco di revoche**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, scegli **Trust Stores**.

1. Seleziona il trust store.

1. Nella scheda **Elenchi di revoca dei certificati**, scegli **Azioni**, **Elimina elenco di revoca.**

1. Quando viene richiesta la conferma, immetti **confirm**.

1. Scegli **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un elenco di revoche**  
Utilizza il comando [remove-trust-store-revocations](https://docs.aws.amazon.com/cli/latest/reference/elbv2/remove-trust-store-revocations.html).

```
aws elbv2 remove-trust-store-revocations \
    --trust-store-arn {{trust-store-arn}} \
    --revocation-ids {{id-1}} {{id-2}} {{id-3}}
```

------

## Eliminare un trust store
<a name="delete-trust-store"></a>

Quando non è più possibile utilizzare un archivio attendibile, è possibile eliminarlo. Non puoi eliminare un trust store associato a un listener.

------
#### [ Console ]

**Per eliminare un trust store**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel pannello di navigazione, scegli **Trust Stores**.

1. Seleziona il trust store.

1. Scegli **Elimina**.

1. Quando viene richiesta la conferma, immettere `confirm` e quindi scegliere **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un trust store**  
Utilizza il comando [delete-trust-store](https://docs.aws.amazon.com/cli/latest/reference/elbv2/delete-trust-store.html).

```
aws elbv2 delete-trust-store \
    --trust-store-arn {{trust-store-arn}}
```

------