Rôle IAM ECS Anywhere - Amazon Elastic Container Service

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ôle IAM ECS Anywhere

Lorsque vous enregistrez un serveur local ou une machine virtuelle (VM) dans votre cluster, le serveur ou la machine virtuelle a besoin d'un rôle IAM pour communiquer avec AWS les API. Vous ne devez créer ce rôle IAM qu'une seule fois pour chaque AWS compte. Toutefois, ce rôle IAM doit être associé à chaque serveur ou machine virtuelle que vous enregistrez sur un cluster. Ce rôle est le ECSAnywhereRole. Vous pouvez créer ce rôle manuellement. De même, Amazon ECS peut créer le rôle en votre nom lorsque vous enregistrez une instance externe dans la AWS Management Console. Vous pouvez utiliser la recherche dans la console IAM pour rechercher ecsAnywhereRole et vérifier si votre compte possède déjà le rôle. Pour plus d'informations, consultez la section Recherche dans la console IAM dans le guide de l'utilisateur d'IAM.

AWS fournit deux politiques IAM gérées qui peuvent être utilisées lors de la création du rôle IAM ECS Anywhere, à savoir les politiques AmazonSSMManagedInstanceCore etAmazonEC2ContainerServiceforEC2Role. La stratégie AmazonEC2ContainerServiceforEC2Role inclut des autorisations qui fournissent probablement plus d'accès que vous n'avez besoin. Par conséquent, en fonction de votre cas d'utilisation spécifique, nous vous recommandons de créer une stratégie personnalisée en ajoutant uniquement les autorisations de cette stratégie dont vous avez besoin. Pour plus d’informations, consultez Rôle IAM d'instance de conteneur Amazon ECS.

Création du rôle ECS Anywhere (ecsAnywhereRole)

Remplacez toutes les entrées utilisateur par vos propres informations.

  1. Créez un fichier local nommé ssm-trust-policy.json avec la politique de confiance suivante.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } }
  2. Créez le rôle et associez la politique de confiance à l'aide de la AWS CLI commande suivante.

    aws iam create-role --role-name ecsAnywhereRole --assume-role-policy-document file://ssm-trust-policy.json
  3. Joignez les politiques AWS gérées à l'aide de la commande suivante.

    aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role

Vous pouvez également utiliser le flux de travail de politique de confiance personnalisée de la console IAM (https://console.aws.amazon.com/iam/) pour créer le rôle. Pour plus d'informations, consultez la section Création d'un rôle à l'aide de politiques de confiance personnalisées (console) dans le guide de l'utilisateur IAM.

Autorisations IAM conditionnelles

Le rôle IAM d'exécution de tâche qui accorde à l'agent de conteneur Amazon ECS l'autorisation d'effectuer des appels d'API AWS en votre nom. Lorsqu'un rôle IAM d'exécution de tâche est utilisé, il doit être spécifié dans votre définition de tâche. Pour plus d’informations, consultez Rôle IAM d'exécution de tâche Amazon ECS.

Le rôle d'exécution de tâche est requis si l'une des conditions suivantes s'applique :

  • Vous envoyez des journaux de conteneurs à CloudWatch Logs à l'aide du pilote de awslogs journal.

  • Votre définition de tâche spécifie une image de conteneur hébergée dans un référentiel privé Amazon ECR. Cependant, si le rôle IAM ECSAnywhereRole associé à votre instance externe inclut également les autorisations nécessaires pour extraire des images d'Amazon ECR, alors votre rôle d'exécution de tâche n'a pas besoin de les inclure.