Rôle IAM d'exécution de Pod Amazon EKS - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.

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 d'exécution de Pod Amazon EKS

Le rôle Pod d'exécution Amazon EKS est requis pour fonctionner Pods sur AWS Fargate l'infrastructure.

Lorsque votre cluster crée une Pods AWS Fargate infrastructure, les composants exécutés sur l'infrastructure Fargate doivent appeler les API en votre AWS nom. Cela leur permet d'effectuer des actions telles que l'extraction d'images de conteneurs depuis Amazon ECR ou le routage des journaux vers d'autres AWS services. Pour ce faire, le rôle d'exécution de Pod Amazon EKS fournit les autorisations IAM.

Lorsque vous créez un profil Fargate, vous devez spécifier un rôle d'exécution de Pod pour les composants Amazon EKS qui s'exécutent sur l'infrastructure Fargate utilisant le profil. Ce rôle est ajouté au contrôle d'accès basé sur les rôles (RBAC) du cluster Kubernetes à des fins d'autorisation. Cela permet au kubelet s'exécutant sur l'infrastructure Fargate de s'enregistrer dans votre cluster Amazon EKS, afin qu'il puisse apparaître dans votre cluster en tant que nœud.

Note

Le profil Fargate doit avoir un rôle IAM différent des groupes de nœuds Amazon EC2.

Important

Les conteneurs s'exécutant dans le Pod Fargate ne peuvent pas assumer les autorisations IAM associées à un rôle d'exécution de Pod. Pour autoriser les conteneurs de votre Pod Fargate à accéder à d' AWS autres services, vous devez utiliser. Rôles IAM pour les comptes de service

Avant de créer un profil Fargate, vous devez créer un rôle IAM avec l'AmazonEKSFargatePodExecutionRolePolicy.

Recherche d'un rôle d'exécution de Pod existant correctement configuré

Vous pouvez utiliser la procédure suivante pour vérifier et voir si votre compte possède déjà un rôle d'exécution de Pod Amazon EKS correctement configuré. Pour éviter le problème de sécurité du député confus, il est important que le rôle restreigne l'accès en fonction de SourceArn. Vous pouvez modifier le rôle d'exécution si nécessaire pour inclure la prise en charge des profils Fargate sur d'autres clusters.

Pour vérifier un rôle d'exécution de Pod Amazon EKS dans la console IAM
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de gauche, choisissez Rôles.

  3. Sur la page Rôles, recherchez la liste des rôles pour Amazoneks. FargatePodExecutionRole Si le rôle n'existe pas, consultez Création du rôle d'exécution de Pod Amazon EKS pour le créer. Si le rôle existe, sélectionnez-le.

  4. Sur la page FargatePodExecutionRoleAmazoneks, procédez comme suit :

    1. Choisissez Autorisations.

    2. Assurez-vous que la politique gérée par Amazon FargatePodExecutionRolePolicy Amazoneks est attachée au rôle.

    3. Choisissez Trust Relationships (Relations d'approbation).

    4. Choisissez Edit trust policy (Modifier la politique).

  5. Dans la page Edit trust policy (Modifier la politique), vérifiez que la relation d'approbation contient la politique suivante, ainsi qu'une ligne pour les profils Fargate sur votre cluster. Dans ce cas, sélectionnez Cancel (Annuler).

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Si la politique correspond, mais ne possède pas de ligne spécifiant les profils Fargate sur votre cluster, vous pouvez ajouter la ligne suivante en haut de l'objet ArnLike. Remplacez region-code par la Région AWS dans laquelle se trouve votre cluster, 111122223333 par l'ID de votre compte et my-cluster par le nom de votre cluster.

    "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*",

    Si la politique ne correspond pas, copiez entièrement la politique précédente dans le formulaire et choisissez Mettre à jour une politique. Remplacez region-code par la Région AWS dans laquelle se trouve votre cluster. Si vous souhaitez utiliser le même rôle Régions AWS dans tous les éléments de votre compte, remplacez le code de région us-iso-east par. * Remplacez 111122223333 par l'ID de votre compte et my-cluster par le nom de votre cluster. Si vous souhaitez utiliser le même rôle pour tous les clusters de votre compte, remplacez my-cluster par *.

Création du rôle d'exécution de Pod Amazon EKS

Si vous ne possédez pas encore le rôle Pod d'exécution Amazon EKS pour votre cluster, vous pouvez utiliser le AWS Management Console ou le AWS CLI pour le créer.

AWS Management Console
Pour créer un rôle d'exécution de PodAWS Fargate avec la AWS Management Console
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation de gauche, choisissez Rôles.

  3. Sur la page Rôles, choisissez Créer un rôle.

  4. Sur la page Select trusted entity (Sélectionner une entité de confiance), procédez comme suit :

    1. Sous la section Type d'entité de confiance, sélectionnez Service AWS .

    2. Dans la liste déroulante Use cases for other Services AWS (Cas d'utilisation pour d'autres ), sélectionnez EKS.

    3. Sélectionnez EKS : Pod Fargate.

    4. Choisissez Suivant.

  5. Sur la page Add permissions (Ajouter des autorisations), sélectionnez Next (Suivant).

  6. Sur la page Name, review, and create (Nommer, vérifier et créer), procédez comme suit :

    1. Pour Role name (Nom de rôle), saisissez un nom unique pour votre rôle, par exemple, AmazonEKSFargatePodExecutionRole.

    2. Sous Ajouter des balises (Facultatif), ajoutez des métadonnées au rôle en attachant les identifications sous forme de paires clé-valeur. Pour plus d'informations sur l'utilisation des balises dans IAM, consultez la rubrique Balisage des ressources IAM dans le Guide de l'utilisateur IAM.

    3. Sélectionnez Créer un rôle.

  7. Sur la page Rôles, recherchez la liste des rôles pour Amazoneks. FargatePodExecutionRole Choisissez le rôle.

  8. Sur la page FargatePodExecutionRoleAmazoneks, procédez comme suit :

    1. Choisissez Trust Relationships (Relations d'approbation).

    2. Choisissez Edit trust policy (Modifier la politique).

  9. Dans la page Edit trust policy (Modifier la politique), procédez comme suit :

    1. Copiez le contenu suivant et collez-le dans le formulaire Edit trust policy (Modifier la politique). Remplacez le code de région us-iso-east par Région AWS celui dans lequel se trouve votre cluster. Si vous souhaitez utiliser le même rôle Régions AWS dans tous les éléments de votre compte, remplacez le code de région us-iso-east par. * Remplacez 111122223333 par l'ID de votre compte et my-cluster par le nom de votre cluster. Si vous souhaitez utiliser le même rôle pour tous les clusters de votre compte, remplacez my-cluster par *.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Choisissez Mettre à jour une politique.

AWS CLI
Pour créer un rôle AWS FargatePod d'exécution avec AWS CLI
  1. Copiez le contenu suivant et collez-le dans un fichier nommé pod-execution-role-trust-policy.json. Remplacez le code de région us-iso-east par Région AWS celui dans lequel se trouve votre cluster. Si vous souhaitez utiliser le même rôle Régions AWS dans tous les éléments de votre compte, remplacez le code de région us-iso-east par. * Remplacez 111122223333 par l'ID de votre compte et my-cluster par le nom de votre cluster. Si vous souhaitez utiliser le même rôle pour tous les clusters de votre compte, remplacez my-cluster par *.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Créez un rôle IAM d'exécution de Pod.

    aws iam create-role \ --role-name AmazonEKSFargatePodExecutionRole \ --assume-role-policy-document file://"pod-execution-role-trust-policy.json"
  3. Attachez la politique IAM gérée par Amazon EKS au rôle.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy \ --role-name AmazonEKSFargatePodExecutionRole