Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configura i prerequisiti per MSK Replicator con cluster Apache Kafka autogestiti
Crea un ruolo di esecuzione IAM
Crea un ruolo IAM con una policy di fiducia perkafka.amazonaws.com. Allega la policy AWSMSKReplicatorExecutionRole gestita. La policy gestita concede le autorizzazioni Kafka a livello di cluster, argomento e gruppo di consumatori necessarie a Replicator, ma non include le autorizzazioni AWS Secrets Manager o AWS KMS , necessarie per l'autenticazione e le credenziali. SASL/SCRAM CMK-encrypted Per gli snippet di policy in linea da aggiungere, consulta. Autorizzazioni SER aggiuntive per MTL SASL/SCRAM e chiavi gestite dal SASL/OAUTHBEARER cliente
Esempio di politica di fiducia:
{ "Statement": [{ "Effect": "Allow", "Principal": {"Service": "kafka.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
Configurare le SASL/SCRAM autorizzazioni utente e ACL
Crea un utente SCRAM dedicato sul tuo cluster Kafka autogestito. Sono richieste le seguenti autorizzazioni ACL:
Leggi e descrivi tutti gli argomenti
Leggi e descrivi su tutti i gruppi di consumatori
Descrivi sulla risorsa del cluster
Esempi di comandi 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
Configurare gli MTL su un cluster autogestito
Configura un listener SSL sui tuoi broker Kafka autogestiti con. ssl.client.auth=required Il truststore del broker deve contenere il certificato CA che ha firmato il certificato client che utilizzerai per MSK Replicator.
Concedi le autorizzazioni ACL all'entità Kafka derivata dal Distinguished Name (DN) del certificato client. Le autorizzazioni richieste sono: Leggi e descrivi su tutti gli argomenti, Leggi e descrivi su tutti i gruppi di consumatori e Descrivi sulla risorsa del cluster.
Configurazione SASL/OAUTHBEARER (OAuth) su un cluster autogestito
Con SASL/OAUTHBEARER, MSK Replicator ottiene un token di accesso dal provider di identità (IDP) e lo presenta al cluster Kafka autogestito durante l'handshake (RFC 7628). SASL/OAUTHBEARER Configura i tuoi broker con un SASL_SSL listener OAUTHBEARER abilitato e configura la convalida lato broker dei token emessi dal tuo sasl.enabled.mechanisms IDP.
Concedi all'istanza Kafka affinché il tuo IDP associ il token di accesso alle autorizzazioni ACL richieste da MSK Replicator sul cluster di origine.
MSK Replicator supporta i seguenti meccanismi per l'acquisizione di un token di accesso. Ne scegli uno quando crei il Replicator (vedi). CreateReplicator Esempi di API per cluster Kafka autogestiti
Credenziali del cliente: la
client_credentialsconcessione standard (RFC 6749 §4.4). Fornisci un «and in».client_idclient_secretAWS Secrets Manager Utilizza questo meccanismo con IdP come Okta, Microsoft Entra ID, Keycloak e Google. PingFederateIAM JWT bearer — The JWT bearer assertion grant (RFC 7523). MSK Replicator utilizza l' AWS identità del ruolo di esecuzione del servizio per ottenere un JWT firmato che viene inviato all'endpoint del token come asserzione. Non è richiesto alcun segreto condiviso, anche se è possibile fornire le credenziali del cliente se l'IDP richiede anche l'autenticazione del client.
Asserzione delle credenziali del cliente — La
client_credentialsconcessione con un'asserzione del client JWT (RFC §2.2). 7521/7523 Il JWT firmato del ruolo di esecuzione del servizio viene utilizzato perclient_assertionautenticare il client, senza un segreto condiviso.
I seguenti requisiti si applicano all'endpoint del token:
tokenEndpointUrlÈ necessario utilizzare lo schema HTTPS e specificare un nome host (i valori letterali dell'indirizzo IP non sono consentiti, quindi è possibile eseguire la verifica del nome host TLS).L'endpoint del token deve essere raggiungibile dalle sottoreti VPC fornite per il Replicator. Consulta Configura la connettività di rete.
Se il tuo IDP presenta un certificato emesso da una CA privata, archivia il certificato CA AWS Secrets Manager e fai riferimento ad esso quando crei il Replicator.
tokenEndpointTlsCertificateArn
Configura SSL su un cluster autogestito
Configura i listener SSL sui tuoi broker. Per i certificati pubblicamente attendibili, non è richiesta alcuna configurazione aggiuntiva. Per i certificati privati o autofirmati, includi l'intera catena di certificati CA nel segreto archiviato in AWS Secrets Manager.
Memorizza le credenziali in AWS Secrets Manager
Crea un segreto di tipo Altro (non RDS/Redshift) in AWS Secrets Manager con le coppie chiave-valore appropriate per il tuo tipo di autenticazione.
Per: SASL/SCRAM
username— Nome utente SCRAM per il cluster autogestitopassword— Password SCRAM per il cluster autogestitocertificate— Catena di certificati CA (formato PEM; richiesta per private/self i certificati firmati)
Per MTL:
certificate— catena di certificati PEM-encoded del clienteprivateKey— chiave PEM-encoded privataprivateKeyPassword— (Facoltativo) Passphrase per la chiave privata, richiesta solo per le chiavi PKCS8 crittografate
Per: SASL/OAUTHBEARER
È richiesto un segreto per il meccanismo delle credenziali del client ed è facoltativo per i meccanismi di asserzione delle credenziali del cliente e del portatore IAM JWT (forniscilo solo se il tuo IDP richiede anche l'autenticazione). Il segreto è un oggetto JSON piatto composto da coppie chiave-valore. MSK Replicator riconosce le seguenti chiavi:
client_id— L'identificatore del client OAuth. Richiesto per il meccanismo delle credenziali del client.client_secret— Il segreto del client OAuth. Richiesto per il meccanismo delle credenziali del client.custom_param.<name>— (Facoltativo) Un parametro di modulo aggiuntivo aggiunto alla richiesta del token, per gli IDP che richiedono parametri oltre al set OAuth standard. Aggiungi una chiave per parametro (ad esempio,).custom_param.resourcecustom_header.<name>— (Facoltativo) Un'intestazione HTTP aggiuntiva inviata con la richiesta del token. Aggiungi una chiave per intestazione (ad esempio,custom_header.X-Custom).extension.<name>— (Facoltativo) Un'estensione SASL inviata al broker Kafka durante l' SASL/OAUTHBEARER handshake, per i provider Kafka che richiedono coppie chiave-valore aggiuntive durante l'autenticazione. Aggiungi una chiave per estensione.
Le chiavi diverse da client_id e client_secret che non utilizzano uno di questi prefissi vengono ignorate. Di seguito è riportato un esempio di valore segreto per il meccanismo delle credenziali del client:
{ "client_id": "my-oauth-client", "client_secret": "example-client-secret", "custom_param.resource": "urn:example:kafka" }
Nota
MSK Replicator rifiuta custom_param. le voci il cui nome di parametro è in conflitto con un parametro OAuth standard (ad esempio,,,,, grant_type client_idclient_secret, client_assertion e). client_assertion_type assertion scope Rifiuta inoltre le custom_header. voci soggette a restrizioni come,, e. Host Authorization Content-Type
Configura la connettività di rete
MSK Replicator richiede la connettività di rete al cluster Kafka autogestito. Opzioni supportate:
AWS Site-to-Site VPN: connetti le reti locali al tuo VPC tramite Internet.
AWS Direct Connect: stabilisci una connessione di rete privata dedicata dalla tua sede a. AWS
Se lo utilizzi SASL/OAUTHBEARER, l'endpoint del token deve essere raggiungibile anche dalle sottoreti VPC fornite per il Replicator. Per un IDP ospitato su Internet, ciò richiede in genere un gateway Internet, un gateway NAT e voci nella tabella di routing; per un IDP locale o privato, utilizza VPN o Direct Connect. AWS Site-to-Site AWS L'endpoint del token non deve trasformarsi in un indirizzo di loopback, link-local o di metadati. AWS
Configurazione dei gruppi di sicurezza
Assicurati che i gruppi di sicurezza consentano il traffico tra MSK Replicator e il cluster autogestito sulla porta utilizzata dal tuo listener di autenticazione. Aggiorna sia le regole in entrata sui gruppi di sicurezza VPC che le regole in uscita sul firewall del cluster autogestito.