Accorder IAM aux utilisateurs et aux rôles l'accès à Kubernetes APIs - Amazon EKS

Aidez à améliorer cette page

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.

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 contribueront à améliorer notre guide de l'utilisateur pour tous.

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.

Accorder IAM aux utilisateurs et aux rôles l'accès à Kubernetes APIs

Votre cluster possède un Kubernetes API. Kubectl l'utilise. API Vous pouvez vous authentifier à API l'aide de deux types d'identités :

  • Un principal (rôle ou utilisateurIAM) d' AWS Identity and Access Management () : ce type nécessite une authentification auprès deIAM. Les utilisateurs peuvent se connecter en AWS tant qu'IAMutilisateur ou avec une identité fédérée en utilisant les informations d'identification fournies par le biais d'une source d'identité. Les utilisateurs ne peuvent se connecter avec une identité fédérée que si votre administrateur a préalablement configuré la fédération d'identité à l'aide de IAM rôles. Lorsque les utilisateurs accèdent AWS par le biais de la fédération, ils assument indirectement un rôle. Lorsque les utilisateurs utilisent ce type d'identité :

    • Peut les attribuer Kubernetes autorisations afin qu'ils puissent travailler avec Kubernetes objets de votre cluster. Pour plus d'informations sur la manière d'attribuer des autorisations à IAM vos principaux afin qu'ils puissent accéder Kubernetes objets de votre cluster, voirOctroi IAM accès des utilisateurs à Kubernetes avec entrées EKS d'accès.

    • Peut leur attribuer IAM des autorisations afin qu'ils puissent travailler avec votre EKS cluster Amazon et ses ressources à l'aide d'Amazon EKSAPI, AWS CLI, AWS CloudFormation, AWS Management Console, oueksctl. Pour plus d'informations, consultez la rubrique Actions définies par Amazon Elastic Kubernetes Service dans la Référence des autorisations de service.

    • Les nœuds rejoignent votre cluster en assumant un IAM rôle. La possibilité d'accéder à votre cluster à l'aide de IAM principes est fournie par l'AWS IAMauthentificateur pour Kubernetes, qui s'exécute sur le plan de contrôle Amazon. EKS

  • Un utilisateur à votre image OpenID Connect (OIDC) fournisseur — Ce type nécessite une authentification auprès de votre OIDCfournisseur. Pour plus d'informations sur la configuration du vôtre OIDC fournisseur associé à votre EKS cluster Amazon, voirAccorder aux utilisateurs l'accès à Kubernetes avec un appareil externe OIDC provider. Lorsque les utilisateurs utilisent ce type d'identité :

    • Peut les attribuer Kubernetes autorisations afin qu'ils puissent travailler avec Kubernetes objets de votre cluster.

    • Impossible de leur attribuer IAM des autorisations afin qu'ils puissent travailler avec votre EKS cluster Amazon et ses ressources à l'aide d'Amazon EKSAPI, AWS CLI, AWS CloudFormation, AWS Management Console, oueksctl.

Vous pouvez utiliser les deux types d'identités avec votre cluster. La méthode IAM d'authentification ne peut pas être désactivée. La méthode OIDC d'authentification est facultative.

Associer IAM des identités aux autorisations Kubernetes

L'AWS IAMauthentificateur pour Kubernetes est installé sur le plan de contrôle de votre cluster. Il active les principes (rôles et utilisateursIAM) d'AWS Identity and Access Management () auxquels vous autorisez l'accès Kubernetes les ressources de votre cluster. Vous pouvez autoriser IAM les directeurs à accéder Kubernetes objets de votre cluster à l'aide de l'une des méthodes suivantes :

  • Création d'entrées d'accès : si votre cluster est identique ou supérieur à la version de plate-forme répertoriée dans la section Conditions préalables pour votre cluster Kubernetes version, nous vous recommandons d'utiliser cette option.

    Utilisez les entrées d'accès pour gérer les Kubernetes autorisations des IAM principaux extérieurs au cluster. Vous pouvez ajouter et gérer l'accès au cluster à l'aide de l'interface de ligne de AWS commande EKS API AWS SDKs, AWS CloudFormation, et AWS Management Console. Cela signifie que vous pouvez gérer les utilisateurs avec les mêmes outils que ceux avec lesquels vous avez créé le cluster.

    Pour commencer, suivez Changer le mode d'authentification pour utiliser les entrées d'accès, puis Migration des entrées aws-auth existantes pour accéder aux ConfigMap entrées.

  • Ajouter des entrées au aws-auth ConfigMap — Si la version de la plate-forme de votre cluster est antérieure à la version répertoriée dans la section Conditions préalables, vous devez utiliser cette option. Si la version de plate-forme de votre cluster est identique ou ultérieure à la version de plate-forme répertoriée dans la section Conditions préalables pour votre cluster Kubernetes , et vous avez ajouté des entrées auConfigMap, alors nous vous recommandons de migrer ces entrées pour accéder aux entrées. Vous ne pouvez ConfigMap toutefois pas migrer les entrées qu'Amazon EKS y a ajoutées, telles que les entrées pour les IAM rôles utilisés avec des groupes de nœuds gérés ou des profils Fargate. Pour de plus amples informations, veuillez consulter Accorder IAM aux utilisateurs et aux rôles l'accès à Kubernetes APIs.

    • Si vous devez utiliser l'option ConfigMap aws-auth, vous pouvez ajouter des entrées à la ConfigMap à l'aide de la commande eksctl create iamidentitymapping. Pour plus d'informations, consultez la section Gérer IAM les utilisateurs et les rôles dans la eksctl documentation.

Définir le mode d'authentification du cluster

Chaque cluster possède un mode d'authentification. Le mode d'authentification détermine les méthodes que vous pouvez utiliser pour autoriser IAM les principaux à accéder Kubernetes objets de votre cluster. Il existe trois modes d'authentification.

Important

Une fois que la méthode de saisie d'accès est activée, elle ne peut pas être désactivée.

Si la ConfigMap méthode n'est pas activée lors de la création du cluster, elle ne pourra pas être activée ultérieurement. La ConfigMap méthode est activée pour tous les clusters créés avant l'introduction des entrées d'accès.

Si vous utilisez des nœuds hybrides avec votre cluster, vous devez utiliser les modes d'authentification API ou de API_AND_CONFIG_MAP cluster.

L'aws-authConfigMapintérieur du cluster

Il s'agit du mode d'authentification d'origine pour les EKS clusters Amazon. Le IAM principal qui a créé le cluster est l'utilisateur initial qui peut accéder au cluster en utilisantkubectl. L'utilisateur initial doit ajouter d'autres utilisateurs à la liste dans la ConfigMap aws-auth et attribuer des autorisations qui affectent les autres utilisateurs au sein du cluster. Ces autres utilisateurs ne peuvent pas gérer ou supprimer l'utilisateur initial, car il n'y a aucune entrée ConfigMap à gérer dans le.

À la fois les entrées ConfigMap et les entrées d'accès

Avec ce mode d'authentification, vous pouvez utiliser les deux méthodes pour ajouter IAM des principaux au cluster. Notez que chaque méthode stocke des entrées distinctes ; par exemple, si vous ajoutez une entrée d'accès depuis le AWS CLI, elle n'aws-authConfigMapest pas mise à jour.

Accès aux entrées uniquement

Avec ce mode d'authentification, vous pouvez utiliser l'EKSAPIinterface de ligne de AWS commande AWS SDKs, AWS CloudFormation, et AWS Management Console pour gérer l'accès au cluster pour IAM les principaux.

Chaque entrée d'accès possède un type et vous pouvez utiliser la combinaison d'une portée d'accès pour limiter le principal à un espace de noms spécifique et d'une stratégie d'accès pour définir des politiques d'autorisations réutilisables préconfigurées. Vous pouvez également utiliser le STANDARD type et Kubernetes RBAC groupes pour attribuer des autorisations personnalisées.

Mode d’authentification Méthodes

ConfigMap uniquement (CONFIG_MAP)

aws-auth ConfigMap

EKSAPIet ConfigMap (API_AND_CONFIG_MAP)

accéder aux entrées dans EKS API l'interface de ligne de AWS commande AWS SDKs AWS CloudFormation,, AWS Management Console et aws-auth ConfigMap

EKSAPIuniquement (API)

accéder aux entrées dans EKS API l'interface de ligne de AWS commande AWS SDKs, AWS CloudFormation, et AWS Management Console

Note

Amazon EKS Auto Mode nécessite des entrées Access.