

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de clientes para el control de acceso de IAM
<a name="configure-clients-for-iam-access-control"></a>

Para permitir que los clientes se comuniquen con un clúster de MSK que utiliza el control de acceso de IAM, elija uno de estos mecanismos:
+ Configuración de clientes que no son de Java mediante un mecanismo SASL\$1OAUTHBEARER
+ Configuración del cliente Java mediante SASL\$1OAUTHBEARER un mecanismo o AWS\$1MSK\$1IAM mecanismo

## Utilice el SASL\$1OAUTHBEARER mecanismo para configurar IAM
<a name="configure-clients-for-iam-access-control-sasl-oauthbearer"></a>

1. Edite el archivo de configuración client.properties con el siguiente ejemplo de cliente de Kafka en Python. Los cambios de configuración son parecidos en otros 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ón de 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. Descargue la biblioteca auxiliar para el lenguaje de configuración que haya elegido y siga las instrucciones de la sección *Introducción* de la página principal de la biblioteca correspondiente.
   + JavaScript: [https://github.com/aws/aws-msk-iam-sasl-signer-js \$1getting -started](https://github.com/aws/aws-msk-iam-sasl-signer-js#getting-started)
   + Python: [https://github.com/aws/aws-msk-iam-sasl-signer-python](https://github.com/aws/aws-msk-iam-sasl-signer-python#get-started) \$1get -started
   + [Go: -signer-go \$1getting -started https://github.com/aws/ aws-msk-iam-sasl](https://github.com/aws/aws-msk-iam-sasl-signer-go#getting-started)
   + [.NET: -signer-net \$1getting -started https://github.com/aws/ aws-msk-iam-sasl](https://github.com/aws/aws-msk-iam-sasl-signer-net#getting-started)
   + JAVA: el SASL\$1OAUTHBEARER soporte para Java está disponible a través del archivo jar [https://github.com/aws/aws-msk-iam-auth/releases](https://github.com/aws/aws-msk-iam-auth/releases)

## Utilice el AWS\$1MSK\$1IAM mecanismo personalizado de MSK para configurar IAM
<a name="configure-clients-for-iam-access-control-msk-iam"></a>

1. Agregue la línea siguiente al archivo `client.properties`. *<PATH\$1TO\$1TRUST\$1STORE\$1FILE>*Sustitúyala por la ruta completa al archivo del almacén de confianza del cliente.
**nota**  
Si no desea utilizar un certificado específico, puede eliminar `ssl.truststore.location=<PATH_TO_TRUST_STORE_FILE>` del archivo `client.properties`. Cuando no especifica un valor para `ssl.truststore.location`, el proceso de Java utiliza el certificado predeterminado.

   ```
   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 un perfil con nombre que haya creado para AWS las credenciales, inclúyalo `awsProfileName="your profile name";` en el archivo de configuración del cliente. Para obtener información sobre los perfiles con [nombre, consulte Perfiles](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) con nombre en la AWS CLI documentación.

1. Descargue el último archivo [aws-msk-iam-auth](https://github.com/aws/aws-msk-iam-auth/releases)JAR estable y colóquelo en la ruta de clases. Si usa Maven, agregue la siguiente dependencia y ajuste el número de versión según sea necesario:

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

El complemento de cliente de Amazon MSK es de código abierto y cuenta con la licencia Apache 2.0.