View a markdown version of this page

Autorizzazioni di replica degli argomenti - Amazon Managed Streaming per Apache Kafka

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à.

Autorizzazioni di replica degli argomenti

Usa Amazon MSK Replicator per replicare argomenti tra cluster. Concedi al ruolo di esecuzione del servizio le autorizzazioni per connettersi a entrambi i cluster, gestire gli argomenti del replicatore interno, leggere i dati dagli argomenti di origine e scrivere dati replicati nel cluster di destinazione.

Le autorizzazioni per gli argomenti relativi ai dati sul cluster di destinazione differiscono in base all'impostazione: topicNameConfiguration

  • PREFIXED_WITH_SOURCE_CLUSTER_ALIAS (impostazione predefinita): gli argomenti replicati sulla destinazione vengono denominati con l'alias del cluster di origine come prefisso (ad esempio,). source-alias.my-topic Poiché l'alias di origine completo non è noto al momento della creazione, utilizzalo come risorsa tematica dei dati di destinazione IAM. *.${topicPattern} Per gli ACL Kafka su cluster non MSK, utilizzate i primi 28 caratteri del nome del cluster MSK come modello PREFISSO.

  • IDENTICO: gli argomenti replicati sulla destinazione mantengono lo stesso nome dell'origine. La risorsa relativa all'argomento dati di destinazione utilizza lo stesso modello dell'origine.

Ruolo di esecuzione del servizio: politica IAM (cluster MSK)

Allega la seguente policy al ruolo di esecuzione del servizio. Sostituisci i valori segnaposto con i nomi dei cluster, gli UUID e i modelli degli argomenti. Scegli l'TargetDataTopicPermissionsistruzione che corrisponde alla tua impostazione. topicNameConfiguration

PREFIXED_WITH_SOURCE_CLUSTER_ALIAS (impostazione predefinita)

Gli argomenti replicati sulla destinazione sono denominati con l'alias del cluster di origine come prefisso (ad esempio,). source-alias.my-topic Poiché l'alias completo non è noto fino alla creazione del replicatore, utilizzate un prefisso jolly con lo schema dell'argomento (ad esempio,*.${topicPattern}) nella risorsa dell'argomento dati di destinazione. IAM supporta più caratteri jolly in un ARN di risorse.

{ "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_*" ] } ] }
IDENTICO

Gli argomenti replicati sulla destinazione mantengono lo stesso nome dell'origine. Sostituisci l'TargetDataTopicPermissionsistruzione con la seguente:

{ "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}" ] }

Sostituisci ${topicPattern} con il nome o lo schema dell'argomento che hai configurato per la replica (ad esempio, my-app-* o il nome di un argomento specifico).

Nota

Entrambi i cluster MSK richiedono le autorizzazioni per tutti gli argomenti interni (*__amazon_msk_replicator_*, mskr-offset-syncs.* e). *.checkpoints.internal Utilizzate questa politica per coprire entrambi i cluster indipendentemente da quale cluster non sia MSK.

ACL Kafka (cluster non MSK)

Se l'origine o la destinazione è un cluster Apache Kafka autogestito, configura i seguenti ACL utilizzando la CLI. kafka-acls Tutti gli ACL utilizzano il tipo di ALLOW autorizzazione e il principale con cui il replicatore si autentica. Salvo diversa indicazione, gli ACL utilizzano il tipo di pattern. PREFIXED

Quando è coinvolto un cluster non MSK, il replicatore inserisce la maggior parte degli argomenti interni (sincronizzazioni con offset, checkpoint, stato del gruppo di lavoro) nel cluster MSK. Il cluster non MSK ospita solo argomenti heartbeat e argomenti relativi ai dati.

Non-MSK come fonte

Quando l'origine è un cluster autogestito, il replicatore inserisce tutti gli argomenti interni nella destinazione MSK. La fonte non MSK necessita solo degli ACL per gli argomenti relativi al battito cardiaco e alla lettura dei dati.

Tipo di risorsa Pattern Operazioni

Cluster

kafka-cluster(LETTERALE)

Crea, descrivi, IdempotentWrite DescribeConfigs

Argomento (battito cardiaco)

__amazon_msk_replicator_(PREFISSO)

Crea, leggi, scrivi, descrivi DescribeConfigs, modifica, AlterConfigs

Argomento (dati)

PREFISSO o LETTERALE per argomento

Leggi, descrivi, DescribeConfigs

Non-MSK come bersaglio

Quando la destinazione è un cluster autogestito, il replicatore inserisce tutti gli argomenti interni nell'origine MSK. Il target non MSK necessita solo degli ACL per gli argomenti relativi al battito cardiaco e alla scrittura dei dati. Lo schema degli argomenti relativi ai dati dipende dall'impostazione. topicNameConfiguration

Tipo di risorsa Pattern Operazioni

Cluster

kafka-cluster(LETTERALE)

Crea, descrivi, IdempotentWrite DescribeConfigs

Argomento (battito cardiaco)

__amazon_msk_replicator_(PREFISSO)

Crea, leggi, scrivi, descrivi DescribeConfigs, modifica, AlterConfigs

Argomento (battito cardiaco replicato)

${first28CharsOfSourceClusterName}(PREFISSO)

Crea, leggi, scrivi, descrivi DescribeConfigs, modifica, AlterConfigs

Argomento (dati)

${first28CharsOfSourceClusterName}(PREFISSO)

Crea, scrivi, descrivi DescribeConfigs, modifica, AlterConfigs

Se utilizzi la denominazione degli IDENTICAL argomenti, sostituisci la riga dell'argomento dei dati con la seguente.

Tipo di risorsa Pattern Operazioni

Argomento (dati)

PREFISSO o LETTERALE per argomento (stesso nome della fonte)

Crea, scrivi, descrivi, modifica DescribeConfigs, AlterConfigs