

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# コンシューマーグループのオフセット同期アクセス許可
<a name="msk-replicator-perms-consumer-group-sync"></a>

`synchroniseConsumerGroupOffsets` が有効になっている場合 (デフォルト）、レプリケーターはソースクラスターからコンシューマーグループのオフセットを変換し、ターゲットクラスターに書き込みます。この機能を有効にすると、コンシューマーはフェイルオーバー後に正しい位置から再開できます。

`LEGACY` (デフォルト) と の 2 つの同期モードを使用できます`ENHANCED`。レガシーモードでは、プロデューサーがソースクラスターに書き込むと、レプリケーターはオフセットを同期します。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}"
        ]
    }
]
```

上記のステートメントのプレースホルダーを次のように置き換えます。
+ を、レプリケーション用に設定されたコンシューマーグループ名またはパターン (例: ) `${consumerGroupPattern}`に置き換えます`my-app-group-*`。
+ を、コンシューマーグループがソースで読み取り元のトピックパターン`${topicsConsumedByGroup}`に置き換えます。
+ をターゲットの対応するレプリケートされたトピックパターン`${replicatedTopicPattern}`に置き換えます (`*.${topicPattern}`PREFIXED 命名の場合は 、IDENTICAL 命名`${topicPattern}`の場合は )。

## Kafka ACLs (非 MSK クラスター)
<a name="msk-replicator-perms-consumer-group-sync-acls"></a>

**ソースとしての非 MSK**  
ソースが MSK 以外のクラスターの場合、コンシューマーグループのオフセット同期には次の ACLs が必要です。


| [リソース]  | タイプ | パターンタイプ | 運用 | 目的 | 
| --- | --- | --- | --- | --- | 
| `${consumerGroupPattern}` | Group | リテラルまたはプリフィックス | 説明 | コミットされたオフセットの読み取り (OffsetFetch) | 
| `${topicsConsumedByGroup}` | Topic | リテラルまたはプリフィックス | 説明 | オフセット変換のトピックメタデータ | 

**ターゲットとしての非 MSK**  
ターゲットが非 MSK クラスターの場合、コンシューマーグループのオフセット同期には次の ACLs が必要です。


| [リソース]  | タイプ | パターンタイプ | 運用 | 目的 | 
| --- | --- | --- | --- | --- | 
| `${replicatedTopicPattern}` | Topic | リテラルまたはプリフィックス | 説明 | ログ終了オフセット (ListOffsets) | 
| `${consumerGroupPattern}` | Group | リテラルまたはプリフィックス | 説明 | FindCoordinator、DescribeGroup | 
| `${consumerGroupPattern}` | Group | リテラルまたはプリフィックス | 読み取り | コミット変換オフセット (OffsetCommit) | 