Rôles IAM pour les modules complémentaires Amazon EKS - Amazon EKS

Aidez à améliorer cette page

Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.

Rôles IAM pour les modules complémentaires Amazon EKS

Certains modules complémentaires Amazon EKS nécessitent des rôles IAM et des autorisations pour appeler des API AWS. Par exemple, le module complémentaire Amazon VPC CNI appelle certaines API AWS afin de configurer des ressources réseau dans votre compte. Ces modules complémentaires doivent obtenir des autorisations via IAM. Plus précisément, le compte de service du pod exécutant le module complémentaire doit être associé à un rôle IAM doté d’une politique IAM spécifique.

La méthode recommandée pour accorder des autorisations AWS aux charges de travail du cluster consiste à utiliser la fonctionnalité Amazon EKS d’identité du pod. Vous pouvez utiliser une association d’identité du pod pour mapper le compte de service d’un module complémentaire à un rôle IAM. Si un pod utilise un compte de service qui a une association, Amazon EKS définit des variables d’environnement dans les conteneurs du pod. Les variables d’environnement configurent les kits SDK AWS, y compris la CLI AWS, pour utiliser les informations d’identification d’identité du pod EKS. Pour plus d’informations, consultez Découvrir comment l’identité du pod Amazon EKS accorde aux pods l’accès aux services AWS.

Les modules complémentaires Amazon EKS peuvent aider à gérer le cycle de vie des associations d’identité de pod liées à un module complémentaire. Par exemple, vous pouvez créer ou mettre à jour un module complémentaire Amazon EKS et l’association d’identité de pod correspondante en un seul appel d’API. Amazon EKS fournit aussi une API permettant d’extraire les politiques IAM recommandées.

  1. Vérifiez que l’agent d’identité du pod Amazon EKS est configuré sur votre cluster.

  2. Déterminez si le module complémentaire que vous souhaitez installer nécessite des autorisations IAM en utilisant l’opération describe-addon-versions de la CLI AWS. Si le paramètre requiresIamPermissions est défini sur true, utilisez l’opération describe-addon-configurations pour connaître les autorisations nécessaires au module complémentaire. La réponse inclut une liste de politiques IAM gérées recommandées.

  3. Extrayez le nom du compte de service Kubernetes et de la politique IAM à l’aide de l’opération describe-addon-configuration de la CLI. Évaluez la portée de la politique recommandée au regard de vos exigences de sécurité.

  4. Créez un rôle IAM utilisant la politique d’autorisation recommandée ainsi que la politique d’approbation requise par l’identité du pod. Pour de plus amples informations, consultez Créer une association d’identité du pod (console AWS).

  5. Créez ou mettez à jour un module complémentaire Amazon EKS à l’aide de la CLI. Spécifiez au moins une association d’identité de pod. Une association d’identité de pod correspond au nom d’un compte de service Kubernetes et à l’ARN du rôle IAM.

    • Les associations d’identité de pod créées via les API des modules complémentaires sont gérées par le module complémentaire concerné. Si vous supprimez le module complémentaire, l’association d’identité de pod est également supprimée. Vous pouvez éviter cette suppression en cascade en utilisant l’option preserve lors de la suppression d’un module complémentaire via la CLI AWS ou l’API. Vous pouvez également mettre à jour ou supprimer directement l’association d’identité de pod si nécessaire. Les modules complémentaires ne peuvent pas prendre la propriété d’associations d’identité de pod déjà existantes. Vous devez supprimer l’association existante, puis la recréer via une opération de création ou de mise à jour du module complémentaire.

    • Amazon EKS recommande d’utiliser les associations d’identité de pod pour gérer les autorisations IAM des modules complémentaires. La méthode précédente, les rôles IAM pour les comptes de service (IRSA), est toujours prise en charge. Vous pouvez spécifier à la fois un serviceAccountRoleArn IRSA et une association d’identité de pod pour un module complémentaire. Si l’agent d’identité de pod EKS est installé sur le cluster, le serviceAccountRoleArn est ignoré et EKS utilise l’association d’identité de pod fournie. Si l’identité du pod n’est pas activée, le serviceAccountRoleArn est utilisé.

    • Si vous mettez à jour les associations d’identité de pod d’un module complémentaire existant, Amazon EKS lance un redémarrage progressif des pods du module complémentaire.