Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Siapkan prasyarat untuk MSK Replicator dengan cluster Apache Kafka yang dikelola sendiri
Membuat peran eksekusi IAM
Buat peran IAM dengan kebijakan kepercayaan untukkafka.amazonaws.com. Lampirkan kebijakan AWSMSKReplicatorExecutionRole yang dikelola. Kebijakan terkelola memberikan izin Kafka tingkat cluster, topik, dan grup konsumen yang dibutuhkan Replicator, tetapi tidak menyer takan AWS Secrets Manager atau AWS KMS izin, yang diperlukan untuk otentikasi dan kredenSIAL. SASL/SCRAM CMK-encrypted Untuk cuplikan kebijakan sebaris yang akan ditambahkan, lihat. Izin SER tambahan untuk SASL/SCRAM, MTL SASL/OAUTHBEARER, dan kunci yang dikelola pelanggan
Contoh kebijakan kepercayaan:
{ "Statement": [{ "Effect": "Allow", "Principal": {"Service": "kafka.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
Konfigurasikan SASL/SCRAM izin pengguna dan ACL
Buat pengguna SCRAM khusus di klaster Kafka yang dikelola sendiri. Izin ACL berikut diperlukan:
Baca, Jelaskan semua topik
Baca, Jelaskan pada semua kelompok konsumen
Jelaskan pada sumber daya cluster
Contoh perintah 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
Konfigurasikan MTL pada cluster yang dikelola sendiri
Konfigurasikan pendengar SSL pada broker Kafka yang dikelola sendiri dengan. ssl.client.auth=required Truststore broker harus berisi sertifikat CA yang menandatangani sertifikat klien yang akan Anda gunakan untuk MSK Replicator.
Berikan izin ACL ke prinsipal Kafka yang berasal dari Distinguished Name (DN) sertifikat klien. Izin yang diperlukan adalah: Baca dan Jelaskan pada semua topik, Baca dan Jelaskan pada semua grup konsumen, dan Jelaskan pada sumber daya cluster.
Konfigurasikan SASL/OAUTHBEARER (OAuth) pada cluster yang dikelola sendiri
Dengan SASL/OAUTHBEARER, MSK Replicator memperoleh token akses dari penyedia identitas Anda (IDP) dan menyajikannya ke cluster Kafka yang dikelola sendiri selama jabat tangan (RFC 7628). SASL/OAUTHBEARER Konfigurasikan broker Anda dengan pen SASL_SSL dengar yang telah OAUTHBEARER diaktifkansasl.enabled.mechanisms, dan konfigurasikan validasi token sisi broker yang dikeluarkan oleh IDP Anda.
Berikan prinsipal Kafka bahwa IDP Anda memetakan token akses ke izin ACL yang diperlukan MSK Replicator pada cluster sumber.
MSK Replicator mendukung mekanisme berikut untuk memperoleh token akses. Anda memilih satu ketika Anda membuat Replicator (lihatCreateReplicator Contoh API untuk cluster Kafka yang dikelola sendiri).
KredenSIAL klien — Hi
client_credentialsbah standar (RFC 6749 §4.4). Anda memberikan aclient_iddanclient_secretin AWS Secrets Manager. Gunakan mekanisme ini dengan IDP seperti Okta, Microsoft Entra ID, Keycloak, dan Google. PingFederatePembawa IAM JWT — Hibah pernyataan pembawa JWT (RFC 7523). MSK Replicator menggunakan AWS identitas peran eksekusi layanan untuk mendapatkan JWT yang ditandatangani yang dikirim ke titik akhir token sebagai pernyataan. Tidak ada rahasia bersama yang diperlukan, meskipun Anda dapat memberikan kredentif klien secara opsional jika IDP Anda mengharuskan klien untuk juga mengotentikasi.
Pernyataan kredenSIAL klien — Hi
client_credentialsbah dengan pernyataan klien JWT (R 7521/7523 FC §2.2). JWT yang ditandatangani peran eksekusi layanan digunakan sebagaiclient_assertionotentikasi klien, tanpa rahasia bersama.
Persyaratan berikut berlaku untuk titik akhir token:
tokenEndpointUrlHarus menggunakan skema HTTPS dan menentukan nama host (literal alamat IP tidak diperbolehkan, sehingga verifikasi hostname TLS dapat dilakukan).Titik akhir token harus dapat dijangkau dari subnet VPC yang Anda sediakan untuk Replicator. Lihat Konfigurasikan konektivitas jaringan.
Jika IDP Anda menyajikan sertifikat yang dikeluarkan oleh CA pribadi, simpan sertifikat CA AWS Secrets Manager dan referensikan
tokenEndpointTlsCertificateArnsaat Anda membuat Replicator.
Konfigurasikan SSL pada cluster yang dikelola sendiri
Konfigurasikan pendengar SSL di broker Anda. Untuk sertifikat yang dipercaya secara publik, tidak diperlukan konfigurasi tambahan. Untuk sertifikat pribadi atau yang ditandatangani sendiri, sertakan rantai sertifikat CA lengkap dalam rahasia yang disimpan di Manajer AWS Rahasia.
Simpan kredensi di AWS Manajer Rahasia
Buat rahasia tipe O ther (not RDS/Redshift) di AWS Secrets Manager dengan pasangan kunci-nilai yang sesuai untuk jenis otentikasi Anda.
Untuk SASL/SCRAM:
username— Nama pengguna SCRAM untuk cluster yang dikelola sendiripassword— Kata sandi SCRAM untuk cluster yang dikelola sendiricertificate— Rantaian sertifikat CA (format PEM; diperlukan untuk sertifikat private/self yang ditandatangani)
Untuk MTL:
certificate— rantai sertifikat PEM-encoded klienprivateKey— kunci PEM-encoded pribadiprivateKeyPassword— (Opsional) Frasa sandi untuk kunci pribadi, hanya diperlukan untuk kunci PKCS8 terenkripsi
Untuk SASL/OAUTHBEARER:
Rahasia diperlukan untuk mekanisme kredenSIAL klien dan opsional untuk pembawa IAM JWT dan mekanisme pernyataan kredenSIAL klien (berikan hanya jika IDP Anda mengharuskan klien untuk juga mengotentikasi). Rahasianya adalah objek JSON datar dari pasangan kunci-nilai. MSK Replicator mengenali kunci berikut:
client_id— Pengidentifikasi klien OAuth. Diperlukan untuk mekanisme kredenSIAL klien.client_secret— Rahasia klien OAuth. Diperlukan untuk mekanisme kredenSIAL klien.custom_param.<name>— (Opsional) Parameter formulir tambahan ditambahkan ke permintaan token, untuk IDP yang memerlukan parameter di luar set OAuth standar. Tambahkan satu kunci per parameter (misalnya,custom_param.resource).custom_header.<name>— (Opsional) Header HTTP tambahan dikirim dengan permintaan token. Tambahkan satu kunci per header (misalnya,custom_header.X-Custom).extension.<name>— (Opsional) Ekstensi SASL dikirim ke broker Kafka selama SASL/OAUTHBEARER jabat tangan, untuk penyedia Kafka yang memerlukan pasangan kunci-nilai tambahan selama otentikasi. Tambahkan satu kunci per ekstensi.
Kunci selain client_id dan client_secret yang tidak menggunakan salah satu dari awalan ini diabaikan. Berikut ini adalah contoh nilai rahasia untuk mekanisme kredenSIAL klien:
{ "client_id": "my-oauth-client", "client_secret": "example-client-secret", "custom_param.resource": "urn:example:kafka" }
catatan
MSK Replicator menolak custom_param. entri yang nama parameternya bertentangan dengan parameter OAuth standar (misalnya,,,grant_type,client_id, client_secret client_assertionclient_assertion_type, assertion dan). scope Itu juga menolak custom_header. entri terbatas sepertiHost,Authorization, danContent-Type.
Konfigurasikan konektivitas jaringan
MSK Replicator memerlukan konektivitas jaringan ke cluster Kafka yang dikelola sendiri. Opsi yang didukung:
AWS Site-to-Site VPN — Hubungkan jaringan lokal ke VPC Anda melalui internet.
AWS Direct Connect — Buat koneksi jaringan pribadi khusus dari tempat Anda ke AWS.
Jika Anda menggunakan SASL/OAUTHBEARER, titik akhir token juga harus dapat dijangkau dari subnet VPC yang Anda sediakan untuk Replicator. Untuk IDP yang dihosting di internet, ini biasanya memerlukan gateway internet, gateway NAT, dan entri tabel rute; untuk IDP lokal atau pribadi, gunakan AWS Site-to-Site VPN atau Direct Connect. AWS Titik akhir token tidak boleh diselesaikan ke alamat loopback, link-local, atau AWS metadata.
Konfigurasikan grup keamanan
Pastikan grup keamanan mengizinkan lalu lintas antara MSK Replicator dan cluster yang dikelola sendiri pada port yang digunakan oleh pendengar otentikasi Anda. Perbarui aturan masuk pada grup keamanan VPC dan aturan keluar pada firewall cluster yang dikelola sendiri.