

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

# Configurar um cliente para usar a autenticação
<a name="msk-authentication-client"></a>

Este processo descreve como configurar uma instância do Amazon EC2 para ser usada como cliente para autenticação.

Este processo descreve como produzir e consumir mensagens usando a autenticação criando uma máquina cliente, criando um tópico e definindo as configurações de segurança necessárias.

1. Crie uma instância do Amazon EC2 para ser usada como uma máquina cliente. Para simplificar, crie essa instância na mesma VPC usada para o cluster. Consulte [Etapa 3: criar uma máquina cliente](create-client-machine.md) para obter um exemplo de como criar uma máquina de cliente.

1. Criar um tópico. Para obter um exemplo, consulte as instruções em [Etapa 4: criar um tópico no cluster do Amazon MSK](create-topic.md).

1. Em uma máquina em que você tem o AWS CLI instalado, execute o comando a seguir para obter os corretores de bootstrap do cluster. {{Cluster-ARN}}Substitua pelo ARN do seu cluster.

   ```
   aws kafka get-bootstrap-brokers --cluster-arn {{Cluster-ARN}}
   ```

   Salve a string associada ao `BootstrapBrokerStringTls` na resposta.

1. Na máquina de cliente, execute o comando a seguir para usar o armazenamento de confiança da JVM para criar o armazenamento de confiança do cliente. Se o caminho da JVM for diferente, ajuste o comando de acordo.

   ```
   cp /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-0.amzn2.x86_64/jre/lib/security/cacerts kafka.client.truststore.jks
   ```

1. Na máquina de cliente, execute o comando a seguir para criar uma chave privada para o cliente. Substitua {{Distinguished-Name}}{{Example-Alias}},{{Your-Store-Pass}},, e {{Your-Key-Pass}} por cordas de sua escolha.

   ```
   keytool -genkey -keystore kafka.client.keystore.jks -validity 300 -storepass {{Your-Store-Pass}} -keypass {{Your-Key-Pass}} -dname "CN={{Distinguished-Name}}" -alias {{Example-Alias}} -storetype pkcs12 -keyalg rsa
   ```

1. Na máquina de cliente, execute o comando a seguir para criar uma solicitação de certificado com a chave privada criada na etapa anterior.

   ```
   keytool -keystore kafka.client.keystore.jks -certreq -file client-cert-sign-request -alias {{Example-Alias}} -storepass {{Your-Store-Pass}} -keypass {{Your-Key-Pass}}
   ```

1. Abra o arquivo `client-cert-sign-request` e verifique se ele começa com `-----BEGIN CERTIFICATE REQUEST-----` e termina com `-----END CERTIFICATE REQUEST-----`. Se ele começar com `-----BEGIN NEW CERTIFICATE REQUEST-----`, exclua a palavra `NEW` (e o espaço único que vem após) do começo e do final do arquivo.

1. Em uma máquina em que você tenha o AWS CLI instalado, execute o comando a seguir para assinar sua solicitação de certificado. {{Private-CA-ARN}}Substitua pelo ARN do seu PCA. Será possível alterar o valor de validade se quiser. Aqui usamos 300 como exemplo.

   ```
   aws acm-pca issue-certificate --certificate-authority-arn {{Private-CA-ARN}} --csr fileb://client-cert-sign-request --signing-algorithm "SHA256WITHRSA" --validity Value=300,Type="DAYS"
   ```

   Salve o ARN do certificado fornecido na resposta.
**nota**  
Para recuperar seu certificado de cliente, use o comando `acm-pca get-certificate` e especifique o ARN do certificado. Para obter mais informações, consulte [get-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/acm-pca/get-certificate.html) na *Referência de comandos da AWS CLI *.

1. Execute o comando a seguir para obter o certificado CA privada da AWS assinado para você. {{Certificate-ARN}}Substitua pelo ARN obtido da resposta ao comando anterior.

   ```
   aws acm-pca get-certificate --certificate-authority-arn {{Private-CA-ARN}} --certificate-arn {{Certificate-ARN}}
   ```

1. Do resultado JSON obtido com a execução do comando anterior, copie as strings associadas a `Certificate` e `CertificateChain`. Cole essas duas sequências em um novo arquivo chamado signed-certificate-from-acm. Cole a string associada a `Certificate` primeiro, seguida pela string associada a `CertificateChain`. Substitua os caracteres `\n` por novas linhas. Veja a seguir a estrutura do arquivo depois que você colar o certificado e a cadeia de certificados nele.

   ```
   -----BEGIN CERTIFICATE-----
   ...
   -----END CERTIFICATE-----
   -----BEGIN CERTIFICATE-----
   ...
   -----END CERTIFICATE-----
   -----BEGIN CERTIFICATE-----
   ...
   -----END CERTIFICATE-----
   ```

1. Execute o comando a seguir na máquina cliente para adicionar esse certificado ao repositório de chaves para poder apresentá-lo ao falar com os agentes do MSK.

   ```
   keytool -keystore kafka.client.keystore.jks -import -file signed-certificate-from-acm -alias {{Example-Alias}} -storepass {{Your-Store-Pass}} -keypass {{Your-Key-Pass}}
   ```

1. Crie um arquivo denominado `client.properties` com os conteúdos a seguir. Ajuste os locais do armazenamento de confiança e do repositório de chaves usando os caminhos onde salvou `kafka.client.truststore.jks`. Substitua os espaços reservados por sua versão do cliente Kafka. {{{YOUR KAFKA VERSION}}}

   ```
   security.protocol=SSL
   ssl.truststore.location=/tmp/kafka_2.12-{{{YOUR KAFKA VERSION}}}/kafka.client.truststore.jks
   ssl.keystore.location=/tmp/kafka_2.12-{{{YOUR KAFKA VERSION}}}/kafka.client.keystore.jks
   ssl.keystore.password={{Your-Store-Pass}}
   ssl.key.password={{Your-Key-Pass}}
   ```