View a markdown version of this page

Autorisations de synchronisation des décalages par groupes de consommateurs - Amazon Managed Streaming for Apache Kafka

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Autorisations de synchronisation des décalages par groupes de consommateurs

Lorsqu'il synchroniseConsumerGroupOffsets est activé (valeur par défaut), le réplicateur traduit les décalages des groupes de consommateurs à partir du cluster source et les écrit dans le cluster cible. Lorsque cette fonctionnalité est activée, les consommateurs peuvent reprendre leur activité depuis la bonne position après un basculement.

Deux modes de synchronisation sont disponibles : LEGACY (par défaut) etENHANCED. En mode LEGACY, le réplicateur synchronise les décalages lorsque les producteurs écrivent dans le cluster source. En mode ENHANCED, le réplicateur synchronise les décalages quel que soit l'endroit où le producteur écrit. Le mode ENHANCED nécessite une réplication bidirectionnelle. Les deux modes utilisent les mêmes autorisations IAM.

Note

Les sujets internes dont dépend (mskr-offset-syncs.*et*.checkpoints.internal) le mode ENHANCED sont déjà couverts par la rubrique Autorisations de réplication sur les deux clusters.

Les instructions suivantes ajoutent des autorisations spécifiques pour la synchronisation des décalages entre groupes de consommateurs. Étant donné que la synchronisation des décalages dépend de la réplication des données, certaines autorisations se recoupent avec la politique de réplication de la rubrique.

Politique IAM relative au rôle d'exécution des services (clusters MSK)

Cluster source

Le rôle d'exécution du service doit être autorisé à décrire les groupes de consommateurs et les sujets qu'ils abordent sur la source.

[ { "Sid": "SourceGroupPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:${region}:${account}:group/${SourceClusterName}/${SourceClusterUUID}/${consumerGroupPattern}" ] }, { "Sid": "SourceUserTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeTopic" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${SourceClusterName}/${SourceClusterUUID}/${topicsConsumedByGroup}" ] } ]
Cluster cible

Le rôle d'exécution du service doit être autorisé à décrire les sujets répliqués et à modifier les groupes de consommateurs sur la cible afin que les offsets traduits puissent être validés.

[ { "Sid": "TargetCheckpointTopicPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeTopic" ], "Resource": [ "arn:aws:kafka:${region}:${account}:topic/${TargetClusterName}/${TargetClusterUUID}/${replicatedTopicPattern}" ] }, { "Sid": "TargetCheckpointGroupPermissions", "Effect": "Allow", "Action": [ "kafka-cluster:AlterGroup", "kafka-cluster:DescribeGroup" ], "Resource": [ "arn:aws:kafka:${region}:${account}:group/${TargetClusterName}/${TargetClusterUUID}/${consumerGroupPattern}" ] } ]

Remplacez les espaces réservés dans les instructions précédentes comme suit :

  • Remplacez ${consumerGroupPattern} par le nom ou le modèle du groupe de consommateurs configuré pour la réplication (par exemple,my-app-group-*).

  • Remplacez ${topicsConsumedByGroup} par le modèle de sujet que les groupes de consommateurs lisent à la source.

  • Remplacez ${replicatedTopicPattern} par le modèle de sujet répliqué correspondant sur la cible (*.${topicPattern}pour une dénomination PRÉFIXÉE ou ${topicPattern} pour une dénomination IDENTIQUE).

ACL Kafka (clusters non MSK)

Non-MSK comme source

Lorsque la source est un cluster non MSK, la synchronisation des décalages entre groupes de consommateurs nécessite les ACL suivantes.

Ressource Type Type de motif Opération Objectif

${consumerGroupPattern}

Groupe

LITTÉRAL ou PRÉFIXÉ

Décrire

Lire les offsets engagés () OffsetFetch

${topicsConsumedByGroup}

Rubrique

LITTÉRAL ou PRÉFIXÉ

Décrire

Métadonnées de rubrique pour la traduction offset

Non-MSK comme cible

Lorsque la cible est un cluster non MSK, la synchronisation des décalages entre groupes de consommateurs nécessite les ACL suivantes.

Ressource Type Type de motif Opération Objectif

${replicatedTopicPattern}

Rubrique

LITTÉRAL ou PRÉFIXÉ

Décrire

Décalage en fin de journal (ListOffsets)

${consumerGroupPattern}

Groupe

LITTÉRAL ou PRÉFIXÉ

Décrire

FindCoordinator, DescribeGroup

${consumerGroupPattern}

Groupe

LITTÉRAL ou PRÉFIXÉ

Lecture

Valider les offsets traduits () OffsetCommit