

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 réplication de sujets
<a name="msk-replicator-perms-topic-replication"></a>

Utilisez Amazon MSK Replicator pour répliquer des sujets entre des clusters. Accordez au rôle d'exécution du service les autorisations nécessaires pour se connecter aux deux clusters, gérer les sujets internes du réplicateur, lire les données des sujets sources et écrire des données répliquées sur le cluster cible.

Les autorisations pour les sujets de données sur le cluster cible varient en fonction du `topicNameConfiguration` paramètre :
+ **PREFIXED\_WITH\_SOURCE\_CLUSTER\_ALIAS (par défaut) — Les sujets répliqués sur la cible sont nommés avec l'alias** du cluster source comme préfixe (par exemple,). `source-alias.my-topic` Étant donné que l'alias source complet n'est pas connu au moment de la création, `*.${topicPattern}` utilisez-le comme ressource de rubrique de données cible IAM. Pour les ACL Kafka sur des clusters non MSK, utilisez les 28 premiers caractères du nom du cluster MSK comme modèle PRÉFIXÉ.
+ **IDENTIQUE** — Les rubriques répliquées sur la cible conservent le même nom que sur la source. La ressource de rubrique de données cible utilise le même modèle que la source.

## Politique IAM relative au rôle d'exécution des services (clusters MSK)
<a name="msk-replicator-perms-topic-replication-iam"></a>

Associez la politique suivante au rôle d'exécution du service. Remplacez les valeurs d'espace réservé par les noms de vos clusters, vos UUID et vos modèles de rubriques. Choisissez l'`TargetDataTopicPermissions`énoncé qui correspond à vos `topicNameConfiguration` paramètres.

**PREFIXED\_WITH\_SOURCE\_CLUSTER\_ALIAS (par défaut)**  
Les sujets répliqués sur la cible sont nommés avec l'alias du cluster source comme préfixe (par exemple,`source-alias.my-topic`). Comme l'alias complet n'est pas connu tant que le réplicateur n'est pas créé, utilisez un préfixe générique avec le modèle de rubrique (par exemple,`*.${topicPattern}`) dans la ressource de rubrique de données cible. IAM prend en charge plusieurs caractères génériques dans un ARN de ressource.

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

**IDENTIQUE**  
Les rubriques répliquées sur la cible conservent le même nom que sur la source. Remplacer l'`TargetDataTopicPermissions`énoncé par ce qui suit :

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

`${topicPattern}`Remplacez-le par le nom de rubrique ou le modèle que vous avez configuré pour la réplication (par exemple, `my-app-*` ou un nom de rubrique spécifique).

**Note**  
Les deux clusters MSK nécessitent des autorisations pour tous les sujets internes (`*__amazon_msk_replicator_*`,`mskr-offset-syncs.*`, et`*.checkpoints.internal`). Utilisez cette politique pour couvrir les deux clusters, quel que soit le cluster non MSK.

## ACL Kafka (clusters non MSK)
<a name="msk-replicator-perms-topic-replication-acls"></a>

Lorsque votre source ou cible est un cluster Apache Kafka autogéré, configurez les ACL suivantes à l'aide de la CLI. `kafka-acls` Toutes les ACL utilisent le type `ALLOW` d'autorisation et le principal sous lesquels votre réplicateur s'authentifie. Sauf indication contraire, les ACL utilisent le type de `PREFIXED` modèle.

Lorsqu'un cluster non MSK est impliqué, le réplicateur place la plupart des sujets internes (synchronisations décalées, points de contrôle, état du groupe de travail) sur le cluster MSK. Le cluster non MSK héberge uniquement des sujets sur les battements de cœur et des sujets de données.

**Non-MSK comme source**  
Lorsque la source est un cluster autogéré, le réplicateur place tous les sujets internes sur la cible MSK. La source autre que MSK n'a besoin que d'ACL pour les sujets relatifs au rythme cardiaque et aux sujets relatifs aux données de lecture.


| Type de ressource | Modèle | Opérations | 
| --- | --- | --- | 
| Cluster | `kafka-cluster`(LITTÉRAL) | Créez, décrivez IdempotentWrite, DescribeConfigs | 
| Sujet (battement de cœur) | `__amazon_msk_replicator_`(PRÉFIXÉ) | Créez, lisez, écrivez, décrivez DescribeConfigs, modifiez, AlterConfigs | 
| Sujet (données) | PRÉFIXE ou LITTÉRAL par sujet | Lisez, décrivez, DescribeConfigs | 

**Non-MSK comme cible**  
Lorsque la cible est un cluster autogéré, le réplicateur place tous les sujets internes sur la source MSK. La cible non MSK n'a besoin que d'ACL pour les sujets liés au rythme cardiaque et à la rédaction de sujets liés aux données. Le modèle de rubrique des données dépend de votre `topicNameConfiguration` paramètre.


| Type de ressource | Modèle | Opérations | 
| --- | --- | --- | 
| Cluster | `kafka-cluster`(LITTÉRAL) | Créez, décrivez IdempotentWrite, DescribeConfigs | 
| Sujet (battement de cœur) | `__amazon_msk_replicator_`(PRÉFIXÉ) | Créez, lisez, écrivez, décrivez DescribeConfigs, modifiez, AlterConfigs | 
| Sujet (battement de cœur répliqué) | `${first28CharsOfSourceClusterName}`(PRÉFIXÉ) | Créez, lisez, écrivez, décrivez DescribeConfigs, modifiez, AlterConfigs | 
| Sujet (données) | `${first28CharsOfSourceClusterName}`(PRÉFIXÉ) | Créez, écrivez, décrivez DescribeConfigs, modifiez, AlterConfigs | 

Si vous utilisez un nom de `IDENTICAL` rubrique, remplacez la ligne de rubrique de données par la ligne suivante.


| Type de ressource | Modèle | Opérations | 
| --- | --- | --- | 
| Sujet (données) | PRÉFIXE ou LITTÉRAL par sujet (même nom que la source) | Créez, écrivez, décrivez DescribeConfigs, modifiez, AlterConfigs | 