

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 clientes para controle de acesso do IAM


Para permitir que os clientes se comuniquem com um cluster do MSK que use o controle de acesso do IAM, você pode usar um dos seguintes mecanismos:
+ Configuração de cliente não Java usando mecanismo SASL\$1OAUTHBEARER
+ Configuração do cliente Java usando SASL\$1OAUTHBEARER mecanismo ou AWS\$1MSK\$1IAM mecanismo

## Use o SASL\$1OAUTHBEARER mecanismo para configurar o IAM


1. Edite o arquivo de configuração client.properties usando o exemplo do cliente do Python Kafka abaixo. As alterações das configurações são semelhantes em outros idiomas.

   ```
   from kafka import KafkaProducer
   from kafka.errors import KafkaError
   from kafka.sasl.oauth import AbstractTokenProvider
   import socket
   import time
   from aws_msk_iam_sasl_signer import MSKAuthTokenProvider
   
   class MSKTokenProvider():
       def token(self):
           token, _ = MSKAuthTokenProvider.generate_auth_token('<my Região da AWS>')
           return token
   
   tp = MSKTokenProvider()
   
   producer = KafkaProducer(
       bootstrap_servers='<myBootstrapString>',
       security_protocol='SASL_SSL',
       sasl_mechanism='OAUTHBEARER',
       sasl_oauth_token_provider=tp,
       client_id=socket.gethostname(),
   )
   
   topic = "<my-topic>"
   while True:
       try:
           inp=input(">")
           producer.send(topic, inp.encode())
           producer.flush()
           print("Produced!")
       except Exception:
           print("Failed to send message:", e)
   
   producer.close()
   ```

1. Baixe a biblioteca auxiliar para o idioma de configuração escolhido e siga as instruções na seção *Conceitos básicos* na página inicial desta biblioteca de idiomas.
   + JavaScript: [https://github.com/aws/aws-msk-iam-sasl-signer-js \$1getting -iniciado](https://github.com/aws/aws-msk-iam-sasl-signer-js#getting-started)
   + Python: [https://github.com/aws/aws-msk-iam-sasl-signer-python \$1get -started](https://github.com/aws/aws-msk-iam-sasl-signer-python#get-started)
   + Go: [https://github.com/aws/aws-msk-iam-sasl-signer-go](https://github.com/aws/aws-msk-iam-sasl-signer-go#getting-started) \$1getting -started
   + .NET: [https://github.com/aws/aws-msk-iam-sasl-signer-net](https://github.com/aws/aws-msk-iam-sasl-signer-net#getting-started) \$1getting -iniciado
   + JAVA: o SASL\$1OAUTHBEARER suporte para Java está disponível por meio do arquivo [https://github.com/aws/aws-msk-iam-auth/releases](https://github.com/aws/aws-msk-iam-auth/releases)jar

## Use o AWS\$1MSK\$1IAM mecanismo personalizado do MSK para configurar o IAM


1. Adicione o seguinte ao arquivo `client.properties`. *<PATH\$1TO\$1TRUST\$1STORE\$1FILE>*Substitua pelo caminho totalmente qualificado para o arquivo de armazenamento confiável no cliente.
**nota**  
Se você não quiser usar um certificado específico, poderá remover `ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE>` do seu arquivo `client.properties`. Se você não especificar um valor para `ssl.truststore.location`, o processo Java usará o certificado padrão.

   ```
   ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE>
   security.protocol=SASL_SSL
   sasl.mechanism=AWS_MSK_IAM
   sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
   sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
   ```

   Para usar um perfil nomeado que você criou para AWS credenciais, inclua `awsProfileName="your profile name";` no arquivo de configuração do cliente. Para obter informações sobre perfis nomeados, consulte [Perfis nomeados](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) na AWS CLI documentação.

1. Baixe o arquivo [aws-msk-iam-auth](https://github.com/aws/aws-msk-iam-auth/releases)JAR estável mais recente e coloque-o no caminho da classe. Se você usa o Maven, adicione a seguinte dependência, ajustando o número da versão conforme necessário:

   ```
   <dependency>
       <groupId>software.amazon.msk</groupId>
       <artifactId>aws-msk-iam-auth</artifactId>
       <version>1.0.0</version>
   </dependency>
   ```

O plug-in do cliente do Amazon MSK é de código aberto sob a licença do Apache 2.0.