Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Izin replikasi topik
Gunakan Amazon MSK Replicator untuk mereplikasi topik antar cluster. Berikan izin peran eksekusi layanan untuk terhubung ke kedua cluster, mengelola topik replikator internal, membaca data dari topik sumber, dan menulis data yang direplikasi ke kluster target.
Izin untuk topik data pada kluster target berbeda berdasarkan topicNameConfiguration pengaturan:
PREFIXED_WITH_SOURCE_CLUSTER_ALIAS (default) - Topik yang direplikasi pada target diberi nama dengan alias cluster sumber sebagai awalan (misalnya,).
source-alias.my-topicKarena alias sumber lengkap tidak diketahui pada saat pembuatan, gunakan*.${topicPattern}sebagai sumber daya topik data target IAM. Untuk Kafka ACL pada cluster non-MSK, gunakan 28 karakter pertama dari nama cluster MSK sebagai pola PREFIXED.IDENTIK — Topik yang direplikasi pada target tetap memiliki nama yang sama seperti pada sumbernya. Sumber daya topik data target menggunakan pola yang sama dengan sumbernya.
Peran eksekusi layanan kebijakan IAM (kluster MSK)
Lampirkan kebijakan berikut ke peran eksekusi layanan. Ganti nilai placeholder dengan nama cluster, UUID, dan pola topik Anda. Pilih TargetDataTopicPermissions pernyataan yang cocok dengan topicNameConfiguration pengaturan Anda.
PREFIXED_WITH_SOURCE_CLUSTER_ALIAS (default)
Topik yang direplikasi pada target diberi nama dengan alias cluster sumber sebagai awalan (misalnya,). source-alias.my-topic Karena alias lengkap tidak diketahui sampai replikator dibuat, gunakan awalan wildcard dengan pola topik (misalnya,*.${topicPattern}) di sumber daya topik data target. IAM mendukung beberapa wildcard di ARN sumber daya.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ClusterPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:Connect", "kafka-cluster:DescribeCluster", "kafka-cluster:WriteDataIdempotently" ], "Resource": [ "arn:aws:kafka:${region}:${account}:cluster/${SourceClusterName}/${SourceClusterUUID}", "arn:aws:kafka:${region}:${account}:cluster/${TargetClusterName}/${TargetClusterUUID}" ] }, { "Sid": "SourceInternalTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:ReadData", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:AlterTopic", "kafka-cluster:AlterTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/*__amazon_msk_replicator_*", "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/mskr-offset-syncs.*", "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/*.checkpoints.internal" ] }, { "Sid": "SourceDataTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:ReadData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/${topicPattern}" ] }, { "Sid": "TargetInternalTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:ReadData", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:AlterTopic", "kafka-cluster:AlterTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/*__amazon_msk_replicator_*", "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/mskr-offset-syncs.*", "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/*.checkpoints.internal" ] }, { "Sid": "TargetDataTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/*.${topicPattern}" ] }, { "Sid": "TargetGroupPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:AlterGroup", "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:${region}:${account}:group/${TargetClusterName}/${TargetClusterUUID}/*__amazon_msk_replicator_*" ] } ] }
IDENTIK
Topik yang direplikasi pada target tetap memiliki nama yang sama seperti pada sumbernya. Ganti TargetDataTopicPermissions pernyataan dengan yang berikut:
{ "Sid": "TargetDataTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:CreateTopic", "kafka-cluster:WriteData", "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/${topicPattern}" ] }
Ganti ${topicPattern} dengan nama topik atau pola yang Anda konfigurasikan untuk replikasi (misalnya, my-app-* atau nama topik tertentu).
catatan
Kedua kluster MSK memerlukan izin untuk semua topik internal (*__amazon_msk_replicator_*,mskr-offset-syncs.*, dan). *.checkpoints.internal Gunakan kebijakan ini untuk mencakup kedua klaster terlepas dari klaster mana yang bukan MSK.
Kafka ACL (klaster non-MSK)
Jika sumber atau target Anda adalah cluster Apache Kafka yang dikelola sendiri, konfigurasikan ACL berikut menggunakan CLI. kafka-acls Semua ACL menggunakan jenis ALLOW izin dan prinsipal yang diautentikasi oleh replikator Anda. Kecuali dinyatakan lain, ACL menggunakan jenis PREFIXED pola.
Ketika klaster non-MSK terlibat, replikator menempatkan sebagian besar topik internal (sinkronisasi offset, pos pemeriksaan, status kelompok pekerja) pada klaster MSK. Cluster non-MSK hanya menampung topik detak jantung dan topik data.
Non-MSK sebagai sumber
Ketika sumbernya adalah cluster yang dikelola sendiri, replikator menempatkan semua topik internal pada target MSK. Sumber non-MSK hanya membutuhkan ACL untuk topik detak jantung dan membaca topik data.
| Tipe sumber daya | Pola | Operasi |
|---|---|---|
Kluster |
|
Buat, Jelaskan, IdempotentWrite, DescribeConfigs |
Topik (detak jantung) |
|
Buat, Baca, Tulis, Jelaskan, DescribeConfigs, Ubah, AlterConfigs |
Topik (data) |
PREFIXED atau LITERAL per topik |
Baca, Jelaskan, DescribeConfigs |
Non-MSK sebagai target
Ketika targetnya adalah cluster yang dikelola sendiri, replikator menempatkan semua topik internal pada sumber MSK. Target non-MSK hanya membutuhkan ACL untuk topik detak jantung dan menulis topik data. Pola topik data tergantung pada topicNameConfiguration pengaturan Anda.
| Tipe sumber daya | Pola | Operasi |
|---|---|---|
Kluster |
|
Buat, Jelaskan, IdempotentWrite, DescribeConfigs |
Topik (detak jantung) |
|
Buat, Baca, Tulis, Jelaskan, DescribeConfigs, Ubah, AlterConfigs |
Topik (detak jantung direplikasi) |
|
Buat, Baca, Tulis, Jelaskan, DescribeConfigs, Ubah, AlterConfigs |
Topik (data) |
|
Buat, Tulis, Jelaskan, DescribeConfigs, Ubah, AlterConfigs |
Jika Anda menggunakan penamaan IDENTICAL topik, ganti baris topik data dengan yang berikut ini.
| Tipe sumber daya | Pola | Operasi |
|---|---|---|
Topik (data) |
PREFIXED atau LITERAL per topik (nama yang sama dengan sumber) |
Buat, Tulis, Jelaskan, DescribeConfigs, Ubah, AlterConfigs |