

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração de um TLS mútuo em um Application Load Balancer
<a name="configuring-mtls-with-elb"></a>

Para usar o modo de passagem de TLS mútuo, você só precisa configurar o receptor para aceitar qualquer certificado de clientes. Ao usar a passagem de TLS mútuo, o Application Load Balancer envia toda a cadeia de certificados do cliente para o destino usando cabeçalhos HTTP, o que permite implementar a lógica correspondente de autenticação e autorização na aplicação. Para obter mais informações, consulte [Criar um receptor HTTPS para seu Application Load Balancer](create-https-listener.md).

 Ao usar o TLS mútuo no modo de verificação, o Application Load Balancer executa a autenticação de certificado de cliente X.509 para clientes quando um balanceador de carga negocia conexões TLS.

Para utilizar o modo de verificação de TLS mútuo, faça o seguinte:
+ Crie um recurso de armazenamento confiável.
+ Faça upload do seu pacote de autoridade de certificação (CA) e, opcionalmente, das listas de revogação.
+ Anexe o armazenamento confiável ao receptor que está configurado para verificar os certificados do cliente.

Use os procedimentos a seguir para configurar o modo de verificação de TLS mútuo no Application Load Balancer.

**Topics**
+ [Criar um armazenamento confiável](#create-trust-store)
+ [Associar um armazenamento confiável](#associate-trust-store)
+ [Substituir um pacote de certificados de CA](#replace-ca-cert-bundle)
+ [Adicionar uma lista de revogação de certificados](#add-cert-revocation-list)
+ [Excluir uma lista de revogação de certificados](#delete-cert-revocation-list)
+ [Excluir um armazenamento confiável](#delete-trust-store)

## Criar um armazenamento confiável
<a name="create-trust-store"></a>

Se você adiciona um armazenamento confiável ao criar um balanceador de carga ou receptor, o armazenamento confiável é automaticamente associado ao novo receptor. Caso contrário, você deverá associá-lo a um receptor.

**Pré-requisitos**
+ Para criar um armazenamento confiável, você deve ter um pacote de certificados da sua autoridade de certificação (CA).

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

O exemplo mostrado a seguir cria um armazenamento confiável usando a parte **Armazenamento confiável** do console. De maneira alternativa, você pode criar o armazenamento confiável ao criar um receptor HTTP.

**Para criar um armazenamento confiável**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Armazenamentos confiáveis**.

1. Escolha **Criar armazenamento confiável**.

1. **Configuração do armazenamento confiável**

   1. Em **Nome do armazenamento confiável**, insira um nome para o armazenamento confiável.

   1. Em **Pacote da autoridade de certificação**, insira o caminho do Amazon S3 para o pacote do certificado CA a usar.

   1. (Opcional) Use a **Versão do objeto** para selecionar uma versão anterior do pacote de certificado CA. Caso contrário, a versão atual será usada.

1. (Opcional) Em **Revogações**, você pode adicionar uma lista de revogação de certificados ao armazenamento confiável.

   1. Selecione **Adicionar nova CRL** e insira a localização da lista de revogação de certificados no Amazon S3.

   1. (Opcional) Use a **Versão do objeto** para selecionar uma versão anterior da lista de revogação de certificados. Caso contrário, a versão atual será usada.

1. (Opcional) Expanda as **Tags do armazenamento confiável** e insira até 50 tags para o armazenamento confiável.

1. Escolha **Criar armazenamento confiável**.

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

**Para criar um armazenamento confiável**  
Use o 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 ]

**Para criar um armazenamento confiável**  
Defina um recurso do tipo [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
```

------

## Associar um armazenamento confiável
<a name="associate-trust-store"></a>

Depois de criar um armazenamento confiável, você deve associá-lo a um receptor antes que o Application Load Balancer possa começar a usá-lo. Você pode ter somente um armazenamento confiável associado a cada um dos receptores seguros, mas um armazenamento confiável pode ser associado a vários receptores.

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

Você pode associar um armazenamento confiável a um receptor existente, conforme mostrado no procedimento a seguir. De forma alternativa, você pode associar um armazenamento confiável ao criar um receptor HTTPS. Para obter mais informações, consulte [Criar um receptor HTTPS](create-https-listener.md).

**Para associar um armazenamento confiável**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Balanceador de carga**.

1. Selecione o load balancer.

1. Na guia **Receptores e regras**, escolha o link na coluna **Protocol:Port** para abrir a página de detalhes do receptor seguro.

1. Na guia **Segurança**, escolha **Editar configurações de receptor seguro**.

1. Se o TLS mútuo não estiver habilitado, selecione **Autenticação mútua (mTLS)** em **Tratamento de certificados do cliente** e escolha **Verificar com armazenamento confiável**.

1. Em **Armazenamento confiável**, selecione o armazenamento confiável.

1. Escolha **Salvar alterações**.

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

**Para associar um armazenamento confiável**  
Use o 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 ]

**Para associar um armazenamento confiável**  
Atualize o [AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)recurso.

```
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
```

------

## Substituir um pacote de certificados de CA
<a name="replace-ca-cert-bundle"></a>

O pacote de certificados da CA é um componente obrigatório do armazenamento confiável. É uma coleção de certificados raiz e intermediários confiáveis que foram validados por uma autoridade de certificação. Esses certificados validados garantem que o cliente possa confiar que o certificado apresentado pertence ao balanceador de carga.

Um armazenamento confiável pode conter somente um pacote de certificados de CA por vez, mas você pode substituir o pacote de certificados de CA a qualquer momento após a criação do armazenamento confiável.

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

**Para substituir um pacote de certificados CA**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Armazenamentos confiáveis**.

1. Selecione o armazenamento confiável.

1. Escolha **Ações**, **Substituir pacote de CA**.

1. Na página **Substituir pacote de CA**, em **Pacote de autoridade de certificação**, insira a localização do Amazon S3 do pacote de CA desejado.

1. (Opcional) Use a **Versão do objeto** para selecionar uma versão anterior da lista de revogação de certificados. Caso contrário, a versão atual será usada.

1. Selecione **Substituir pacote de CA**.

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

**Para substituir um pacote de certificados CA**  
Use o 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 ]

**Para atualizar o pacote de certificados CA**  
Defina um recurso do tipo [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-new
      CaCertificatesBundleS3Key: certificates/new-ca-bundle.pem
```

------

## Adicionar uma lista de revogação de certificados
<a name="add-cert-revocation-list"></a>

Opcionalmente, você pode criar uma lista de revogação de certificados para um armazenamento confiável. As listas de revogação são divulgadas pelas autoridades de certificação e contêm dados de certificados que foram revogados. Os Application Load Balancers só oferecem suporte a listas de revogação de certificados no formato PEM.

Quando uma lista de revogação de certificados é adicionada a um armazenamento confiável, ela recebe um ID de revogação. O IDs aumento de revogação para cada lista de revogação adicionada ao repositório fiduciário, e elas não podem ser alteradas.

Os Application Load Balancers não podem revogar certificados que tenham um número de série negativo em uma lista de revogação de certificados.

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

**Para incluir uma lista de revogação**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Armazenamentos confiáveis**.

1. Selecione o armazenamento confiável para exibir a página de detalhes.

1. Na guia **Listas de revogação de certificados**, selecione **Ações** e **Adicionar lista de revogação**.

1. Na página **Adicionar lista de revogação**, em **Lista de revogação de certificados**, insira a localização do Amazon S3 da lista de revogação de certificados desejada

1. (Opcional) Use a **Versão do objeto** para selecionar uma versão anterior da lista de revogação de certificados. Caso contrário, a versão atual será usada.

1. Selecione **Adicionar lista de revogação**

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

**Para incluir uma lista de revogação**  
Use o 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 ]

**Para incluir uma lista de revogação**  
Defina um recurso do tipo [AWS::ElasticLoadBalancingV2::TrustStoreRevogação](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
```

------

## Excluir uma lista de revogação de certificados
<a name="delete-cert-revocation-list"></a>

Quando não precisar mais de uma lista de revogação de certificados, você pode excluí-la. Ao excluir uma lista de revogação de certificados de um armazenamento confiável, o ID de revogação também será excluído e não será reutilizado durante toda a vida útil do armazenamento confiável.

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

**Para excluir uma lista de revogação**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Armazenamentos confiáveis**.

1. Selecione o armazenamento confiável.

1. Na guia **Listas de revogação de certificados**, selecione **Ações** e **Excluir lista de revogação**.

1. Quando a confirmação for solicitada, insira **confirm**.

1. Escolha **Excluir**.

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

**Para excluir uma lista de revogação**  
Use o 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
```

------

## Excluir um armazenamento confiável
<a name="delete-trust-store"></a>

Quando não precisar mais usar um armazenamento confiável, poderá excluí-lo. Você não pode excluir um armazenamento confiável associado a um receptor.

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

**Para excluir um armazenamento confiável**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Armazenamentos confiáveis**.

1. Selecione o armazenamento confiável.

1. Escolha **Excluir**.

1. Quando a confirmação for solicitada, insira `confirm` e selecione **Excluir**.

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

**Para excluir um armazenamento confiável**  
Use o 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
```

------