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
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()
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.
JavaScript: https://github.com/aws/aws-msk-iam-sasl-signer-js #getting -iniciado
Python: https://github.com/aws/aws-msk-iam-sasl-signer-python #get -started
Go: https://github.com/aws/aws-msk-iam-sasl-signer-go
#getting -started . NET: https://github.com/aws/aws-msk-iam-sasl-signer-net #getting -started
JAVA: SASL_OAUTHBEARER o suporte para Java está disponível por meio do arquivo
aws-msk-iam-auth
jar
Use o AWS_MSK_IAM mecanismo MSK personalizado para configurar IAM
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=
do seu arquivo<PATH_TO_TRUST_STORE_FILE>
client.properties
. Se você não especificar um valor parassl.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.IAMClientCallbackHandlerPara usar um perfil nomeado que você criou para AWS credenciais, inclua
awsProfileName="
no arquivo de configuração do cliente. Para obter informações sobre perfis nomeados, consulte Perfis nomeados na AWS CLI documentação.your profile name
";Baixe o aws-msk-iam-auth
JARarquivo 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.