Configurar clientes para controle de IAM acesso - Amazon Managed Streaming for Apache Kafka

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 IAM acesso

Para permitir que os clientes se comuniquem com um MSK cluster que usa controle de IAM acesso, você pode usar um desses mecanismos:

  • Configuração de cliente não Java usando mecanismo SASL_OAUTHBEARER

  • Configuração do cliente Java usando SASL_OAUTHBEARER mecanismo ou AWS_MSK_IAM mecanismo

Use o SASL_OAUTHBEARER mecanismo para configurar IAM

  1. Edite o arquivo de configuração client.properties usando como guia a sintaxe destacada no exemplo de cliente Python Kafka abaixo. As alterações das configurações são semelhantes em outros idiomas.

    #!/usr/bin/python3from kafka import KafkaProducer from kafka.errors import KafkaError import socket import time from aws_msk_iam_sasl_signer import MSKAuthTokenProvider class MSKTokenProvider(): def token(self): token, _ = MSKAuthTokenProvider.generate_auth_token('<my aws region>') return token tp = MSKTokenProvider() producer = KafkaProducer( bootstrap_servers='<my bootstrap string>', 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()
  2. Baixe a biblioteca auxiliar para o idioma de configuração escolhido e siga as instruções na seção Getting started na página inicial desta biblioteca de idiomas.

Use o AWS_MSK_IAM mecanismo MSK personalizado para configurar IAM

  1. Adicione o seguinte ao arquivo client.properties. <PATH_TO_TRUST_STORE_FILE>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 na AWS CLI documentação.

  2. Baixe o aws-msk-iam-authJARarquivo 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 MSK do cliente Amazon é de código aberto sob a licença Apache 2.0.