

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.

# Rôles et politiques IAM pour MSK Connect
<a name="msk-connect-iam"></a>

Cette section vous aide à configurer les politiques et les rôles IAM appropriés pour déployer et gérer Amazon MSK Connect en toute sécurité au sein de votre AWS environnement. Les sections suivantes expliquent le rôle d'exécution du service qui doit être utilisé avec MSK Connect, y compris la politique de confiance requise et les autorisations supplémentaires nécessaires lors de la connexion à un cluster MSK authentifié par IAM. La page fournit également des exemples de politiques IAM complètes permettant d'accorder un accès complet aux fonctionnalités de MSK Connect, ainsi que des détails sur les politiques AWS gérées disponibles pour le service. 

**Topics**
+ [

# Comprendre le rôle d'exécution des services
](msk-connect-service-execution-role.md)
+ [

# Exemple de politique IAM pour MSK Connect
](mkc-iam-policy-examples.md)
+ [

# Prévenir le problème des adjoints confus entre les services
](cross-service-confused-deputy-prevention.md)
+ [

# AWS politiques gérées pour MSK Connect
](mkc-security-iam-awsmanpol.md)
+ [

# Utiliser des rôles liés à un service pour MSK Connect
](mkc-using-service-linked-roles.md)

# Comprendre le rôle d'exécution des services
<a name="msk-connect-service-execution-role"></a>

**Note**  
Amazon MSK Connect ne prend pas en charge l'utilisation du [rôle lié au service](mkc-using-service-linked-roles.md) comme rôle d'exécution du service. Vous devez créer un rôle d'exécution de service distinct. Pour savoir comment créer un rôle IAM personnalisé, consultez la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le Guide de l'*utilisateur IAM*.

Lorsque vous créez un connecteur avec MSK Connect, vous devez spécifier un rôle Gestion des identités et des accès AWS (IAM) à utiliser avec celui-ci. Votre rôle d'exécution du service doit avoir la politique d'approbation suivante pour que MSK Connect puisse l'assumer. Pour plus d'informations sur les clés de contexte de condition de cette politique, veuillez consulter [Prévenir le problème des adjoints confus entre les services](cross-service-confused-deputy-prevention.md).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "kafkaconnect.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:kafkaconnect:us-east-1:123456789012:connector/myConnector/abc12345-abcd-4444-a8b9-123456f513ed-2"
        }
      }
    }   
  ]
}
```

------

Si le cluster Amazon MSK que vous souhaitez utiliser avec votre connecteur est un cluster qui utilise l'authentification IAM, vous devez ajouter la politique d'autorisation suivante au rôle d'exécution du service du connecteur. Pour plus d'informations sur la manière de trouver l'UUID de votre cluster et sur la manière de créer un sujet ARNs, consultez. [Ressources relatives aux politiques d'autorisation](kafka-actions.md#msk-iam-resources)

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:Connect",
                "kafka-cluster:DescribeCluster"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:000000000001:cluster/testClusterName/300d0000-0000-0005-000f-00000000000b-1"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:ReadData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/myCluster/300a0000-0000-0003-000a-00000000000b-6/__amazon_msk_connect_read"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:WriteData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/testCluster/300f0000-0000-0008-000d-00000000000m-7/__amazon_msk_connect_write"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:CreateTopic",
                "kafka-cluster:WriteData",
                "kafka-cluster:ReadData",
                "kafka-cluster:DescribeTopic"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:topic/testCluster/300f0000-0000-0008-000d-00000000000m-7/__amazon_msk_connect_*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafka-cluster:AlterGroup",
                "kafka-cluster:DescribeGroup"
            ],
            "Resource": [
                "arn:aws:kafka:us-east-1:123456789012:group/testCluster/300d0000-0000-0005-000f-00000000000b-1/__amazon_msk_connect_*",
                "arn:aws:kafka:us-east-1:123456789012:group/testCluster/300d0000-0000-0005-000f-00000000000b-1/connect-*"
            ]
        }
    ]
}
```

------

Selon le type de connecteur, vous devrez peut-être également associer au rôle d'exécution du service une politique d'autorisation lui permettant d'accéder aux AWS ressources. Par exemple, si votre connecteur doit envoyer des données à un compartiment S3, le rôle d'exécution du service doit disposer d'une politique d'autorisations autorisant l'écriture dans ce compartiment. À des fins de test, vous pouvez utiliser l'une des politiques IAM prédéfinies qui offrent un accès complet, comme `arn:aws:iam::aws:policy/AmazonS3FullAccess`. Toutefois, pour des raisons de sécurité, nous vous recommandons d'utiliser la politique la plus restrictive qui permette à votre connecteur de lire depuis la AWS source ou d'écrire sur le AWS récepteur.

# Exemple de politique IAM pour MSK Connect
<a name="mkc-iam-policy-examples"></a>

Pour donner à un utilisateur non administrateur un accès complet à toutes les fonctionnalités de MSK Connect, associez une politique telle que la suivante au rôle IAM de l'utilisateur.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "MSKConnectFullAccess",
      "Effect": "Allow",
      "Action": [
        "kafkaconnect:CreateConnector",
        "kafkaconnect:DeleteConnector",
        "kafkaconnect:DescribeConnector",
        "kafkaconnect:ListConnectors",
        "kafkaconnect:UpdateConnector",
        "kafkaconnect:CreateCustomPlugin",
        "kafkaconnect:DeleteCustomPlugin",
        "kafkaconnect:DescribeCustomPlugin",
        "kafkaconnect:ListCustomPlugins",
        "kafkaconnect:CreateWorkerConfiguration",
        "kafkaconnect:DeleteWorkerConfiguration",
        "kafkaconnect:DescribeWorkerConfiguration",
        "kafkaconnect:ListWorkerConfigurations"
      ],
      "Resource": "*"
    },
    {
      "Sid": "IAMPassRole",
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/MSKConnectServiceRole",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "kafkaconnect.amazonaws.com"
        }
      }
    },
    {
      "Sid": "EC2NetworkAccess",
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:DescribeNetworkInterfaces",
        "ec2:DeleteNetworkInterface",
        "ec2:DescribeVpcs",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups"
      ],
      "Resource": "*"
    },
    {
      "Sid": "MSKClusterAccess",
      "Effect": "Allow",
      "Action": [
        "kafka:DescribeCluster",
        "kafka:DescribeClusterV2",
        "kafka:GetBootstrapBrokers"
      ],
      "Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/myCluster/"
    },
    {
      "Sid": "MSKLogGroupAccess",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams",
        "logs:DescribeLogGroups"
      ],
      "Resource": [
        "arn:aws:logs:us-east-1:123456789012:log-group:/aws/msk-connect/*"
      ]
    },
    {
      "Sid": "S3PluginAccess",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1-custom-plugins",
        "arn:aws:s3:::amzn-s3-demo-bucket1-custom-plugins/*"
      ]
    }
  ]
}
```

------

# Prévenir le problème des adjoints confus entre les services
<a name="cross-service-confused-deputy-prevention"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner un problème de confusion chez les adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le *service appelant*) appelle un autre service (le *service appelé*). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé à accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte. 

Nous vous recommandons d'utiliser les clés de contexte de condition globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dans les politiques de ressources afin de limiter les autorisations à la ressource octroyées par MSK Connect à un autre service. Si la valeur `aws:SourceArn` ne contient pas l'ID de compte (par exemple, un Amazon Resource Name (ARN) d'un compartiment Amazon S3 ne contient pas l'ID de compte), vous devez utiliser les deux clés de contexte de condition globale pour limiter les autorisations. Si vous utilisez les deux clés de contexte de condition globale et que la valeur `aws:SourceArn` contient l'ID de compte, la valeur `aws:SourceAccount` et le compte dans la valeur `aws:SourceArn` doivent utiliser le même ID de compte lorsqu'ils sont utilisés dans la même instruction de politique. Utilisez `aws:SourceArn` si vous souhaitez qu'une seule ressource soit associée à l'accès entre services. Utilisez `aws:SourceAccount` si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.

Dans le cas de MSK Connect, la valeur de `aws:SourceArn` doit être un connecteur MSK.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale `aws:SourceArn` avec l’ARN complet de la ressource. Si vous ne connaissez pas l’ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (`*`) pour les parties inconnues de l’ARN. Par exemple, *arn:aws:kafkaconnect:us-east-1:123456789012:connector/\$1* représente tous les connecteurs appartenant au compte portant l'ID 123456789012 dans la région USA Est (Virginie du Nord).

L'exemple suivant montre comment utiliser les clés de contexte de condition globale `aws:SourceArn` et `aws:SourceAccount` dans MSK Connect afin d'éviter le problème de l'adjoint confus. Remplacez *123456789012* et arn:aws:kafkaconnect : *us-east-1* ::connector//par vos informations de connecteur et de connexion. *123456789012* *my-S3-Sink-Connector* *abcd1234-5678-90ab-cdef-1234567890ab* Compte AWS 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": " kafkaconnect.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
        "aws:SourceArn": "arn:aws:kafkaconnect:us-east-1:123456789012:connector/my-S3-Sink-Connector/abcd1234-5678-90ab-cdef-1234567890ab"
        }
      }
    }   
  ]
}
```

------

# AWS politiques gérées pour MSK Connect
<a name="mkc-security-iam-awsmanpol"></a>

Une politique AWS gérée est une politique autonome créée et administrée par AWS. AWS les politiques gérées sont conçues pour fournir des autorisations pour de nombreux cas d'utilisation courants afin que vous puissiez commencer à attribuer des autorisations aux utilisateurs, aux groupes et aux rôles.

N'oubliez pas que les politiques AWS gérées peuvent ne pas accorder d'autorisations de moindre privilège pour vos cas d'utilisation spécifiques, car elles sont accessibles à tous les AWS clients. Nous vous recommandons de réduire encore les autorisations en définissant des [politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) qui sont propres à vos cas d’utilisation.

Vous ne pouvez pas modifier les autorisations définies dans les politiques AWS gérées. Si les autorisations définies dans une politique AWS gérée sont AWS mises à jour, la mise à jour affecte toutes les identités principales (utilisateurs, groupes et rôles) auxquelles la politique est attachée. AWS est le plus susceptible de mettre à jour une politique AWS gérée lorsqu'une nouvelle politique Service AWS est lancée ou lorsque de nouvelles opérations d'API sont disponibles pour les services existants.

Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*.

## AWS politique gérée : Amazon MSKConnect ReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonMSKConnectReadOnlyAccess"></a>

Cette politique accorde à l'utilisateur les autorisations nécessaires pour répertorier et décrire les ressources MSK Connect.

Vous pouvez associer la politique `AmazonMSKConnectReadOnlyAccess` à vos identités IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kafkaconnect:ListConnectors",
                "kafkaconnect:ListCustomPlugins",
                "kafkaconnect:ListWorkerConfigurations"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafkaconnect:DescribeConnector"
            ],
            "Resource": [
                "arn:aws:kafkaconnect:*:*:connector/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafkaconnect:DescribeCustomPlugin"
            ],
            "Resource": [
                "arn:aws:kafkaconnect:*:*:custom-plugin/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kafkaconnect:DescribeWorkerConfiguration"
            ],
            "Resource": [
                "arn:aws:kafkaconnect:*:*:worker-configuration/*"
            ]
        }
    ]
}
```

------

## AWS politique gérée : KafkaConnectServiceRolePolicy
<a name="security-iam-awsmanpol-KafkaConnectServiceRolePolicy"></a>

Cette politique accorde au service  Connect les autorisations nécessaires pour créer et gérer les interfaces réseau dotées de la balise `AmazonMSKConnectManaged:true`. Ces interfaces réseau donnent à MSK Connect l'accès réseau aux ressources de votre VPC Amazon, telles qu'un cluster Apache Kafka, une source ou un récepteur.

Vous ne pouvez pas vous associer KafkaConnectServiceRolePolicy à vos entités IAM. Cette politique est attachée à un rôle lié au service qui permet à MSK Connect d'effectuer des actions en votre nom.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"aws:RequestTag/AmazonMSKConnectManaged": "true"
				},
				"ForAllValues:StringEquals": {
					"aws:TagKeys": "AmazonMSKConnectManaged"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface"
			],
			"Resource": [
				"arn:aws:ec2:*:*:subnet/*",
				"arn:aws:ec2:*:*:security-group/*"
			]
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:CreateTags"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:CreateAction": "CreateNetworkInterface"
				}
			}
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeNetworkInterfaces",
				"ec2:CreateNetworkInterfacePermission",
				"ec2:AttachNetworkInterface",
				"ec2:DetachNetworkInterface",
				"ec2:DeleteNetworkInterface"
			],
			"Resource": "arn:aws:ec2:*:*:network-interface/*",
			"Condition": {
				"StringEquals": {
					"ec2:ResourceTag/AmazonMSKConnectManaged": "true"
				}
			}
		}
	]
}
```

------

## Mises à jour des politiques AWS gérées par MSK Connect
<a name="security-iam-awsmanpol-updates"></a>

Consultez les détails des mises à jour apportées aux politiques AWS gérées pour MSK Connect depuis que ce service a commencé à suivre ces modifications.


| Modifier | Description | Date | 
| --- | --- | --- | 
|  Mise à jour de la politique en lecture seule de MSK Connect  |  MSK Connect a mis à jour la MSKConnect ReadOnlyAccess politique d'Amazon afin de supprimer les restrictions relatives aux opérations de mise en vente.  | 13 octobre 2021 | 
|  MSK Connect a commencé à suivre les modifications  |  MSK Connect a commencé à suivre les modifications apportées à ses politiques AWS gérées.  | 14 septembre 2021 | 

# Utiliser des rôles liés à un service pour MSK Connect
<a name="mkc-using-service-linked-roles"></a>

Amazon MSK Connect utilise des rôles liés à un [service Gestion des identités et des accès AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) (IAM). Un rôle lié à un service est un type unique de rôle IAM lié directement à MSK Connect. Les rôles liés au service sont prédéfinis par MSK Connect et incluent toutes les autorisations dont le service a besoin pour appeler AWS d'autres services en votre nom. 

Un rôle lié à un service simplifie la configuration de MSK Connect, car vous n'avez pas besoin d'ajouter manuellement les autorisations requises. MSK Connect définit les autorisations de ses rôles liés à un service ; sauf définition contraire, seul MSK Connect peut endosser ses rôles. Les autorisations définies comprennent la politique d'approbation et la politique d'autorisation. De plus, cette politique d'autorisation ne peut pas être attachée à une autre entité IAM.

Pour plus d'informations sur les autres services qui prennent en charge les rôles liés à un service, veuillez consulter [Services AWS qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) et recherchez les services où **Oui **figure dans la colonne **Rôle lié à un service**. Choisissez un **Oui** ayant un lien permettant de consulter les détails du rôle pour ce service.

## Autorisations de rôle lié à un service pour MSK Connect
<a name="slr-permissions"></a>

MSK Connect utilise le rôle lié au service nommé — **AWSServiceRoleForKafkaConnect**Autorise Amazon MSK Connect à accéder aux ressources Amazon en votre nom.

Le rôle AWSService RoleForKafkaConnect lié au service fait confiance au `kafkaconnect.amazonaws.com` service pour assumer le rôle.

Pour obtenir des informations sur la politique d'autorisations utilisé par le rôle, consultez [AWS politique gérée : KafkaConnectServiceRolePolicy](mkc-security-iam-awsmanpol.md#security-iam-awsmanpol-KafkaConnectServiceRolePolicy).

Vous devez configurer les autorisations de manière à permettre à une entité IAM (comme un utilisateur, un groupe ou un rôle) de créer, modifier ou supprimer un rôle lié à un service. Pour plus d'informations, consultez [Autorisations du rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dans le *Guide de l'utilisateur IAM*.

## Création d'un rôle lié à un service pour MSK Connect
<a name="create-slr"></a>

Vous n’avez pas besoin de créer manuellement un rôle lié à un service. Lorsque vous créez un connecteur dans le AWS Management Console, le ou l' AWS API AWS CLI, MSK Connect crée le rôle lié au service pour vous. 

Si vous supprimez ce rôle lié à un service et que vous avez ensuite besoin de le recréer, vous pouvez utiliser la même procédure pour recréer le rôle dans votre compte. Lorsque vous créez un connecteur, MSK Connect recrée automatiquement le rôle lié au service. 

## Modification d'un rôle lié à un service pour MSK Connect
<a name="edit-slr"></a>

MSK Connect ne vous permet pas de modifier le rôle lié au AWSService RoleForKafkaConnect service. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas changer le nom du rôle, car plusieurs entités peuvent faire référence au rôle. Néanmoins, vous pouvez modifier la description du rôle à l’aide d’IAM. Pour plus d'informations, consultez [Modification d'un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dans le *Guide de l'utilisateur IAM*.

## Suppression d'un rôle lié à un service pour MSK Connect
<a name="delete-slr"></a>

Vous pouvez utiliser la console IAM, AWS CLI ou l' AWS API pour supprimer manuellement le rôle lié à un service. Pour ce faire, vous devez d'abord supprimer manuellement tous vos connecteurs MSK Connect, puis supprimer manuellement le rôle. Pour plus d'informations, veuillez consulter [Suppression d'un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l'utilisateur IAM*.

## Régions prises en charge pour les rôles liés à un service MSK Connect
<a name="slr-regions"></a>

MSK Connect prend en charge l'utilisation des rôles liés à un service dans toutes les régions où le service est disponible. Pour plus d'informations, consultez [Régions et Points de terminaison AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html).