

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 소비자 그룹 오프셋 동기화 권한
<a name="msk-replicator-perms-consumer-group-sync"></a>

`synchroniseConsumerGroupOffsets`이 활성화되면(기본값) 복제기는 소스 클러스터에서 소비자 그룹 오프셋을 변환하여 대상 클러스터에 씁니다. 이 기능을 활성화하면 소비자가 장애 조치 후 올바른 위치에서 재개할 수 있습니다.

`LEGACY` (기본값) 및의 두 가지 동기화 모드를 사용할 수 있습니다`ENHANCED`. LEGACY 모드에서는 생산자가 소스 클러스터에 쓸 때 복제기가 오프셋을 동기화합니다. ENHANCED 모드에서 복제기는 생산자가 쓰는 위치에 관계없이 오프셋을 동기화합니다. ENHANCED 모드에는 양방향 복제가 필요합니다. 두 모드 모두 동일한 IAM 권한을 사용합니다.

**참고**  
ENHANCED 모드가 의존하는 내부 주제(`mskr-offset-syncs.*` 및 `*.checkpoints.internal`)는 이미 두 클러스터의 주제 복제 권한에 포함되어 있습니다.

다음 문은 특히 소비자 그룹 오프셋 동기화에 대한 권한을 추가합니다. 오프셋 동기화는 데이터 복제에 따라 달라지므로 일부 권한은 주제 복제 정책과 겹칩니다.

## 서비스 실행 역할 IAM 정책(MSK 클러스터)
<a name="msk-replicator-perms-consumer-group-sync-iam"></a>

**소스 클러스터**  
서비스 실행 역할에는 소비자 그룹과 소비자 그룹이 소스에서 사용하는 주제를 설명할 수 있는 권한이 있어야 합니다.

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

**대상 클러스터**  
서비스 실행 역할에는 번역된 오프셋을 커밋할 수 있도록 복제된 주제를 설명하고 대상의 소비자 그룹을 변경할 수 있는 권한이 있어야 합니다.

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

위 명령문의 자리 표시자를 다음과 같이 바꿉니다.
+ 를 복제용으로 구성된 소비자 그룹 이름 또는 패턴(예: `my-app-group-*`)`${consumerGroupPattern}`으로 바꿉니다.
+ 를 소비자 그룹이 소스에서 읽는 주제 패턴`${topicsConsumedByGroup}`으로 바꿉니다.
+ 을 대상에 해당하는 복제된 주제 패턴`${replicatedTopicPattern}`으로 바꿉니다(`*.${topicPattern}` PREFIXED 이름 지정의 경우 , IDENTICAL 이름 지정`${topicPattern}`의 경우 ).

## Kafka ACLs(비 MSK 클러스터)
<a name="msk-replicator-perms-consumer-group-sync-acls"></a>

**소스로 비 MSK**  
소스가 비 MSK 클러스터인 경우 소비자 그룹 오프셋 동기화에는 다음 ACLs 필요합니다.


| Resource | 유형 | 패턴 유형 | 연산 | 용도 | 
| --- | --- | --- | --- | --- | 
| `${consumerGroupPattern}` | Group | LITERAL 또는 PREFIXED | 설명 | 커밋된 오프셋 읽기(OffsetFetch) | 
| `${topicsConsumedByGroup}` | Topic | LITERAL 또는 PREFIXED | 설명 | 오프셋 변환을 위한 주제 메타데이터 | 

**대상으로서 비 MSK**  
대상이 비 MSK 클러스터인 경우 소비자 그룹 오프셋 동기화에는 다음 ACLs 필요합니다.


| Resource | 유형 | 패턴 유형 | 연산 | 용도 | 
| --- | --- | --- | --- | --- | 
| `${replicatedTopicPattern}` | Topic | LITERAL 또는 PREFIXED | 설명 | 로그 종료 오프셋(ListOffsets) | 
| `${consumerGroupPattern}` | Group | LITERAL 또는 PREFIXED | 설명 | FindCoordinator, DescribeGroup | 
| `${consumerGroupPattern}` | Group | LITERAL 또는 PREFIXED | 읽기 | 변환된 오프셋 커밋(OffsetCommit) | 