IAMRôle EKS du nœud Amazon - Amazon EKS

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.

IAMRôle EKS du nœud Amazon

Le kubelet daemon du EKS nœud Amazon effectue des appels AWS APIs en votre nom. Les nœuds reçoivent des autorisations pour ces API appels via un profil d'IAMinstance et les politiques associées. Avant de lancer des nœuds et de les enregistrer dans un cluster, vous devez créer un IAM rôle que ces nœuds utiliseront lors de leur lancement. Cette exigence s'applique aux nœuds lancés avec l'Amazon EKS Optimized AMI fourni par Amazon, ou avec tout autre nœud AMIs que vous avez l'intention d'utiliser. En outre, cette exigence s'applique à la fois aux groupes de nœuds gérés et aux nœuds autogérés.

Note

Vous ne pouvez pas utiliser le même rôle que celui utilisé pour créer des clusters.

Avant de créer des nœuds, vous devez créer un IAM rôle avec les autorisations suivantes :

  • Autorisations kubelet permettant de décrire les EC2 ressources Amazon dans leVPC, telles que fournies par la mazonEKSWorker NodePolicy politique A. Cette politique fournit également les autorisations pour l'agent Amazon EKS Pod Identity.

  • Autorisations relatives kubelet à l'utilisation d'images de conteneurs provenant d'Amazon Elastic Container Registry (AmazonECR), telles que prévues par la EC2ContainerRegistryPullOnly politique d'Amazon. Les autorisations d'utilisation des images de conteneur d'Amazon Elastic Container Registry (AmazonECR) sont requises car les modules complémentaires intégrés pour la mise en réseau exécutent des pods qui utilisent des images de conteneurs d'AmazonECR.

  • (Facultatif) Autorisations permettant à l'agent Amazon EKS Pod Identity d'utiliser l'eks-auth:AssumeRoleForPodIdentityaction pour récupérer les informations d'identification des pods. Si vous n'utilisez pas le A mazonEKSWorker NodePolicy, vous devez fournir cette autorisation en plus des EC2 autorisations d'utilisation de EKS Pod Identity. * (Optional) If you don’t use IRSA or EKS Pod Identity to give permissions to the VPC CNI pods, then you must provide permissions for the VPC CNI on the instance role. You can use either the ` AmazonEKS_CNI_Policy politique gérée (si vous avez créé votre cluster avec la famille IPv4 `) ou une IPv6politique que vous créez (si vous avez créé votre cluster avec la IPv6 famille). Plutôt que d'associer la politique à ce rôle, nous vous recommandons de l'associer à un rôle distinct utilisé spécifiquement pour le VPC CNI module complémentaire Amazon. Pour plus d'informations sur la création d'un rôle distinct pour le VPC CNI module complémentaire Amazon, consultezConfigurer le VPC CNI plugin Amazon à utiliser IRSA.

Note

Les groupes de EC2 nœuds Amazon doivent avoir un IAM rôle différent de celui du profil Fargate. Pour de plus amples informations, veuillez consulter Amazon EKS Pod IAMrôle d'exécution.

Recherche d'un rôle de nœud existant

Vous pouvez utiliser la procédure suivante pour vérifier si votre compte possède déjà le rôle de EKS nœud Amazon.

  1. Ouvrez la IAM console à l'adresse https://console.aws.amazon.com/iam/.

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

  3. Recherchez eksNodeRole, AmazonEKSNodeRole ou NodeInstanceRole dans la liste des rôles. Si aucun rôle portant l'un de ces noms n'existe, reportez-vous Création du IAM rôle de EKS nœud Amazon à la section Création du rôle. Si un rôle qui contient eksNodeRole, AmazonEKSNodeRole ou NodeInstanceRole existe, sélectionnez-le pour afficher les politiques attachées.

  4. Choisissez Autorisations.

  5. Assurez-vous que les politiques EC2ContainerRegistryPullOnly gérées par A mazonEKSWorker NodePolicy et Amazon sont associées au rôle ou qu'une politique personnalisée est attachée avec les autorisations minimales.

    Note

    Si la politique Amazon EKS _ CNI _Policy est attachée au rôle, nous vous recommandons de la supprimer et de l'associer à un IAM rôle mappé au aws-node Kubernetes compte de service à la place. Pour de plus amples informations, veuillez consulter Configurer le VPC CNI plugin Amazon à utiliser IRSA.

  6. Sélectionnez l'onglet Trust relationships (Relations d'approbation), puis Edit trust policy (Modifier la relation d'approbation).

  7. Vérifiez que la relation d'approbation contient la politique suivante. Si la relation d'approbation correspond à la politique ci-dessous, sélectionnez Annuler. Si la relation de confiance ne correspond pas, copiez la politique dans la fenêtre Modifier la politique de confiance et choisissez Mettre à jour la politique.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Création du IAM rôle de EKS nœud Amazon

Vous pouvez créer le IAM rôle de nœud avec le AWS Management Console ou le AWS CLI.

AWS Management Console
  1. Ouvrez la IAM console à 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. Dans la section Type d'entité fiable, sélectionnez AWS service.

    2. Sous Use case (Cas d'utilisation), choisissez EC2.

    3. Choisissez Suivant.

  5. Sur la page Ajouter des autorisations, associez une stratégie personnalisée ou procédez comme suit :

    1. Dans la zone Filter policies (Politiques de filtre), saisissez AmazonEKSWorkerNodePolicy.

    2. Cochez la case située à gauche de A mazonEKSWorker NodePolicy dans les résultats de recherche.

    3. Sélectionnez Clear filters (Effacer les filtres).

    4. Dans la zone Filter policies (Politiques de filtre), saisissez AmazonEC2ContainerRegistryPullOnly.

    5. Cochez la case située à gauche d'Amazon EC2ContainerRegistryPullOnly dans les résultats de recherche.

      La CNIpolitique gérée par Amazon EKS _ _Policy ou une IPv6politique que vous créez doit également être attachée à ce rôle ou à un autre rôle mappé au aws-node Kubernetes compte de service. Nous vous recommandons d'attribuer la politique au rôle associé au Kubernetes compte de service au lieu de l'attribuer à ce rôle. Pour de plus amples informations, veuillez consulter Configurer le VPC CNI plugin Amazon à utiliser IRSA.

    6. Choisissez 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, AmazonEKSNodeRole.

    2. Pour Description, remplacez le texte actuel par un texte descriptif tel que Amazon EKS - Node role.

    3. 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 balisesIAM, consultez les IAMressources relatives au balisage dans le guide de l'IAMutilisateur.

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

AWS CLI
  1. Exécutez la commande ci-dessous pour créer un fichiernode-role-trust-relationship.json.

    cat >node-role-trust-relationship.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } EOF
  2. Créez le IAM rôle.

    aws iam create-role \ --role-name AmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-relationship.json"
  3. Associez deux politiques IAM gérées requises au IAM rôle.

    aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name AmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly \ --role-name AmazonEKSNodeRole
  4. Associez l'une des IAM politiques suivantes au IAM rôle en fonction de la famille d'adresses IP avec laquelle vous avez créé votre cluster. La politique doit être attachée à ce rôle ou à un rôle associé au Kubernetes aws-nodecompte de service utilisé pour Amazon VPC CNI plugin for Kubernetes. Nous vous recommandons d'attribuer la politique au rôle associé au Kubernetes compte de service. Pour attribuer la politique au rôle associé au Kubernetes compte de service, voirConfigurer le VPC CNI plugin Amazon à utiliser IRSA.

    • IPv4

      aws iam attach-role-policy \ --policy-arn arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name AmazonEKSNodeRole
    • IPv6

      1. Copiez la politique suivante et enregistrez-la dans un fichier appelé vpc-cni-ipv6-policy.json.

        { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignIpv6Addresses", "ec2:DescribeInstances", "ec2:DescribeTags", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstanceTypes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws: ec2:*:*:network-interface/*" ] } ] }
      2. Créez la IAM politique.

        aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
      3. Associez la IAM politique au IAM rôle. Remplacez 111122223333 avec votre identifiant de compte.

        aws iam attach-role-policy \ --policy-arn arn:aws: iam::111122223333:policy/AmazonEKS_CNI_IPv6_Policy \ --role-name AmazonEKSNodeRole