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á.
Configure os pré-requisitos para o MSK Replicator com clusters Apache Kafka autogerenciados
Criar um perfil de execução do IAM.
Crie uma função do IAM com uma política de confiança parakafka.amazonaws.com. Anexe a política AWSMSKReplicatorExecutionRole gerenciada. A política gerenciada concede ao Kafka em nível de cluster, tópico e grupo de consumidores as permissões de que o replicador precisa, mas não inclui as permissões, que são AWS KMS necessárias para autenticação e AWS Secrets Manager credenciais. SASL/SCRAM CMK-encrypted Para ver os trechos de política em linha a serem adicionados, consulte. Permissões adicionais de SER para SASL/SCRAM, mTLS e SASL/OAUTHBEARER chaves gerenciadas pelo cliente
Exemplo de política de confiança:
{ "Statement": [{ "Effect": "Allow", "Principal": {"Service": "kafka.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
Configurar SASL/SCRAM permissões de usuário e ACL
Crie um usuário SCRAM dedicado em seu cluster Kafka autogerenciado. As seguintes permissões de ACL são necessárias:
Leia, descreva sobre todos os tópicos
Leia, descreva em todos os grupos de consumidores
Descreva um recurso de cluster
Exemplo de comandos do kafka-acls.sh:
# Grant Read and Describe on all topics kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --topic '*' # Grant Read and Describe on all consumer groups kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Read --operation Describe \ --group '*' # Grant Describe on cluster kafka-acls.sh --bootstrap-server <broker>:9092 \ --add --allow-principal User:msk-replicator \ --operation Describe --cluster
Configurar mTLS em um cluster autogerenciado
Configure um ouvinte SSL em seus corretores Kafka autogerenciados com. ssl.client.auth=required O repositório confiável do corretor deve conter o certificado CA que assinou o certificado do cliente que você usará para o MSK Replicator.
Conceda permissões de ACL ao principal do Kafka derivadas do Nome Distinto (DN) do certificado do cliente. As permissões necessárias são: Ler e descrever em todos os tópicos, ler e descrever em todos os grupos de consumidores e descrever no recurso do cluster.
Configurar SASL/OAUTHBEARER (OAuth) em um cluster autogerenciado
Com SASL/OAUTHBEARER, o MSK Replicator obtém um token de acesso do seu provedor de identidade (IDP) e o apresenta ao seu cluster Kafka autogerenciado durante o handshake (RFC 7628). SASL/OAUTHBEARER Configure seus corretores com um SASL_SSL ouvinte OAUTHBEARER habilitado e configure a validação do lado do corretor dos tokens emitidos pelo seu IDP. sasl.enabled.mechanisms
Conceda ao Kafka o princípio de que seu IDP mapeie o token de acesso às permissões de ACL que o MSK Replicator exige no cluster de origem.
O MSK Replicator oferece suporte aos seguintes mecanismos para adquirir um token de acesso. Você escolhe um ao criar o Replicador (consulteCreateReplicator Exemplos de API para clusters Kafka autogerenciados).
Credenciais do cliente — A
client_credentialsconcessão padrão (RFC 6749 §4.4). Você fornece umclient_ideclient_secretem AWS Secrets Manager. Use esse mecanismo com IdPs como Okta, Microsoft Entra ID, Keycloak e Google. PingFederatePortador do IAM JWT — A concessão de declaração do portador do JWT (RFC 7523). O MSK Replicator usa a AWS identidade da função de execução do serviço para obter um JWT assinado que é enviado ao endpoint do token como afirmação. Nenhum segredo compartilhado é necessário, embora você possa, opcionalmente, fornecer credenciais de cliente se seu IDP exigir que o cliente também se autentique.
Afirmação de credenciais de cliente — A
client_credentialsconcessão com uma afirmação de cliente JWT (RFC §2.2). 7521/7523 O JWT assinado da função de execução do serviço é usadoclient_assertionpara autenticar o cliente, sem um segredo compartilhado.
Os seguintes requisitos se aplicam ao endpoint do token:
Eles
tokenEndpointUrldevem usar o esquema HTTPS e especificar um nome de host (literais de endereço IP não são permitidos, para que a verificação do nome de host TLS possa ser realizada).O endpoint do token deve ser acessado a partir das sub-redes VPC que você fornece para o replicador. Consulte Configurar a conectividade de rede.
Se seu IDP apresentar um certificado emitido por uma CA privada, armazene o certificado de CA AWS Secrets Manager e faça referência a ele
tokenEndpointTlsCertificateArnao criar o Replicador.
Configurar SSL no cluster autogerenciado
Configure ouvintes SSL em seus corretores. Para certificados publicamente confiáveis, nenhuma configuração adicional é necessária. Para certificados privados ou autoassinados, inclua toda a cadeia de certificados CA no segredo armazenado no AWS Secrets Manager.
Armazene credenciais em AWS Secrets Manager
Crie um segredo do tipo Outro (não RDS/Redshift) no AWS Secrets Manager com os pares de valores-chave apropriados para seu tipo de autenticação.
Para SASL/SCRAM:
username— Nome de usuário SCRAM para o cluster autogerenciadopassword— Senha SCRAM para o cluster autogerenciadocertificate— Cadeia de certificados CA (formato PEM; necessário para certificados private/self assinados)
Para mTLS:
certificate— cadeia de certificados de PEM-encoded clientesprivateKey— chave PEM-encoded privadaprivateKeyPassword— (Opcional) Frase secreta para a chave privada, necessária somente para chaves PKCS8 criptografadas
Para SASL/OAUTHBEARER:
Um segredo é necessário para o mecanismo de credenciais do cliente e é opcional para os mecanismos de afirmação de credenciais do cliente e do portador do JWT do IAM (forneça-o somente se seu IDP exigir que o cliente também se autentique). O segredo é um objeto JSON plano de pares de valores-chave. O MSK Replicator reconhece as seguintes chaves:
client_id— O identificador do cliente OAuth. Necessário para o mecanismo de credenciais do cliente.client_secret— O segredo do cliente OAuth. Necessário para o mecanismo de credenciais do cliente.custom_param.<name>— (Opcional) Um parâmetro de formulário adicional anexado à solicitação de token, para IdPs que exigem parâmetros além do conjunto padrão do OAuth. Adicione uma chave por parâmetro (por exemplo,custom_param.resource).custom_header.<name>— (Opcional) Um cabeçalho HTTP adicional enviado com a solicitação de token. Adicione uma chave por cabeçalho (por exemplo,custom_header.X-Custom).extension.<name>— (Opcional) Uma extensão SASL enviada ao corretor Kafka durante o SASL/OAUTHBEARER handshake, para provedores de Kafka que exigem pares adicionais de valores-chave durante a autenticação. Adicione uma chave por extensão.
Chaves diferentes de client_id e client_secret que não usam um desses prefixos são ignoradas. Veja a seguir um exemplo de valor secreto para o mecanismo de credenciais do cliente:
{ "client_id": "my-oauth-client", "client_secret": "example-client-secret", "custom_param.resource": "urn:example:kafka" }
nota
O MSK Replicator rejeita custom_param. entradas cujo nome de parâmetro está em conflito com um parâmetro OAuth padrão (por exemplo,,,grant_type, client_id client_secretclient_assertion, client_assertion_type e). assertion scope Ele também rejeita custom_header. entradas restritasHost, comoAuthorization, e. Content-Type
Configurar a conectividade de rede
O MSK Replicator exige conectividade de rede com seu cluster Kafka autogerenciado. Opções suportadas:
AWS Site-to-Site VPN — Conecte redes locais à sua VPC pela Internet.
AWS Conexão direta — Estabeleça uma conexão de rede privada dedicada de suas instalações para AWS.
Se você usar SASL/OAUTHBEARER, o endpoint do token também deverá estar acessível a partir das sub-redes VPC que você fornece para o replicador. Para um IDP hospedado na Internet, isso normalmente requer um gateway da Internet, um gateway NAT e entradas na tabela de rotas; para um IDP local ou privado, use VPN ou Direct Connect. AWS Site-to-Site AWS O endpoint do token não deve ser resolvido para um endereço de loopback, link local ou metadados. AWS
Configurar grupos de segurança
Certifique-se de que os grupos de segurança permitam o tráfego entre o MSK Replicator e o cluster autogerenciado na porta usada pelo seu ouvinte de autenticação. Atualize as regras de entrada nos grupos de segurança da VPC e as regras de saída no firewall de cluster autogerenciado.