View a markdown version of this page

Permissões de sincronização offset de grupos de consumidores - Amazon Managed Streaming for Apache Kafka

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Permissões de sincronização offset de grupos de consumidores

Quando synchroniseConsumerGroupOffsets ativado (o padrão), o replicador traduz os deslocamentos do grupo de consumidores do cluster de origem e os grava no cluster de destino. Com esse recurso ativado, os consumidores podem voltar da posição correta após o failover.

Dois modos de sincronização estão disponíveis: LEGACY (o padrão) ENHANCED e. No modo LEGACY, o replicador sincroniza os deslocamentos quando os produtores gravam no cluster de origem. No modo ENHANCED, o replicador sincroniza os offsets, independentemente de onde os produtores escrevem. O modo ENHANCED requer replicação bidirecional. Os dois modos usam as mesmas permissões do IAM.

nota

Os tópicos internos dos quais o modo AVANÇADO depende (mskr-offset-syncs.*e*.checkpoints.internal) já estão cobertos pelo tópico permissões de replicação em ambos os clusters.

As declarações a seguir adicionam permissões específicas para sincronização offset de grupos de consumidores. Como a sincronização offset depende da replicação de dados, algumas permissões se sobrepõem à política de replicação do tópico.

Política do IAM da função de execução do serviço (clusters MSK)

Cluster de origem

A função de execução do serviço deve ter permissão para descrever grupos de consumidores e os tópicos que eles consomem na fonte.

[ { "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 de destino

A função de execução do serviço deve ter permissão para descrever os tópicos replicados e alterar os grupos de consumidores no destino para que as compensações traduzidas possam ser confirmadas.

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

Substitua os espaços reservados nas declarações anteriores da seguinte forma:

  • ${consumerGroupPattern}Substitua pelo nome ou padrão do grupo de consumidores configurado para replicação (por exemplo,my-app-group-*).

  • ${topicsConsumedByGroup}Substitua pelo padrão de tópico que os grupos de consumidores leram na fonte.

  • ${replicatedTopicPattern}Substitua pelo padrão de tópico replicado correspondente no destino (*.${topicPattern}para nomenclatura PREFIXADA ou ${topicPattern} para nomenclatura IDÊNTICA).

ACLs do Kafka (clusters não MSK)

Non-MSK como fonte

Quando a origem é um cluster não MSK, a sincronização de deslocamento de grupos de consumidores exige as seguintes ACLs.

Recurso Tipo Tipo de padrão Operation Finalidade

${consumerGroupPattern}

Group (Grupo)

LITERAL ou PREFIXADO

Descrever

Leia as compensações confirmadas () OffsetFetch

${topicsConsumedByGroup}

Tópico

LITERAL ou PREFIXADO

Descrever

Metadados de tópicos para tradução offset

Non-MSK como alvo

Quando o destino é um cluster não MSK, a sincronização de deslocamento de grupos de consumidores exige as seguintes ACLs.

Recurso Tipo Tipo de padrão Operation Finalidade

${replicatedTopicPattern}

Tópico

LITERAL ou PREFIXADO

Descrever

Deslocamento da extremidade do registro () ListOffsets

${consumerGroupPattern}

Group (Grupo)

LITERAL ou PREFIXADO

Descrever

FindCoordinator, DescribeGroup

${consumerGroupPattern}

Group (Grupo)

LITERAL ou PREFIXADO

Ler

Confirmar compensações traduzidas () OffsetCommit