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.
Autoriser les utilisateurs et les rôles IAM à accéder aux API Kubernetes
Votre cluster dispose d’un point de terminaison API Kubernetes. Kubectl utilise cette API. Vous pouvez vous authentifier auprès de cette API à l’aide de deux types d’identités :
-
Un principal (rôle ou utilisateur) de gestion des identités et des accès (IAM) AWS : ce type nécessite une authentification auprès de l’IAM. Les utilisateurs peuvent se connecter à AWS en tant qu'utilisateur IAM ou avec une identité fédérée
à l'aide des informations d'identification fournies par le biais d'une source d'identité. Les utilisateurs ne peuvent se connecter qu'avec une identité fédérée si votre administrateur a précédemment configuré une fédération d'identité avec des rôles IAM. Lorsque les utilisateurs accèdent à AWS en utilisant la fédération, ils endossent indirectement un rôle. Lorsque les utilisateurs utilisent ce type d'identité : -
Vous pouvez leur attribuer des autorisations Kubernetes afin qu’ils puissent travailler avec les objets Kubernetes sur votre cluster. Pour plus d’informations sur la manière d’attribuer des autorisations à vos principaux IAM afin qu’ils puissent accéder aux objets Kubernetes sur votre cluster, consultez Attribution de l’accès Kubernetes aux utilisateurs IAM avec les entrées d’accès EKS.
-
Vous pouvez leur attribuer des autorisations IAM afin qu’ils puissent travailler avec votre cluster Amazon EKS et ses ressources à l’aide de l’API Amazon EKS, de l’interface CLI AWS, de CloudFormation AWS, AWS Management Console ou
eksctl. 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 endossant un rôle IAM. La possibilité d’accéder à votre cluster à l’aide des principaux IAM est fournie par l’authentificateur IAM AWS pour Kubernetes
, qui s’exécute sur le plan de contrôle Amazon EKS.
-
-
Un utilisateur de votre propre fournisseur OpenID Connect (OIDC) : ce type nécessite une authentification auprès de votre fournisseur OIDC
. Pour plus d’informations sur la configuration de votre propre fournisseur OIDC avec votre cluster Amazon EKS, consultez Accès des utilisateurs à Kubernetes via un fournisseur OIDC externe. Lorsque les utilisateurs utilisent ce type d'identité : -
Vous pouvez leur attribuer des autorisations Kubernetes afin qu’ils puissent travailler avec les objets Kubernetes sur votre cluster.
-
Vous ne pouvez pas leur attribuer des autorisations IAM afin qu’ils puissent travailler avec votre cluster Amazon EKS et ses ressources à l’aide de l’API Amazon EKS, de l’interface CLI AWS, de CloudFormation AWS, AWS Management Console ou
eksctl.
-
Vous pouvez utiliser les deux types d'identités avec votre cluster. La méthode d’authentification IAM ne peut pas être désactivée. La méthode d’authentification OIDC est facultative.
Associer les identités IAM aux autorisations Kubernetes
AWSL’authentificateur IAM pour Kubernetes
-
Création d’entrées d’accès : si votre cluster est à la version de plate-forme indiquée dans la section Conditions préalables pour la version Kubernetes de votre cluster ou à une version ultérieure, nous vous recommandons d’utiliser cette option.
Utilisez les entrées d’accès pour gérer les autorisations Kubernetes des principaux IAM depuis l’extérieur du cluster. Vous pouvez ajouter et gérer l’accès au cluster à l’aide de l’API EKS, de l’interface de ligne de commande AWS, des SDK AWS, de CloudFormation AWS et de 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 les instructions eks/latest/userguide/setting-up-access-entries.html[Modifier le mode d’authentification pour utiliser les entrées d’accès,type=« documentation »], puis Migrer les entrées ConfigMap aws-auth existantes vers les entrées d’accès.
-
Ajouter des entrées au
aws-authConfigMap: si la version de plateforme de votre cluster est antérieure à celle indiquée dans la section Prérequis, vous devez utiliser cette option. Si la version de plateforme de votre cluster est égale ou supérieure à la version de plateforme indiquée dans la section Conditions préalables pour la version Kubernetes de votre cluster, et que vous avez ajouté des entrées au fichierConfigMap, nous vous recommandons de migrer ces entrées vers les entrées d’accès. Vous ne pouvez toutefois pas migrer les entrées qu’Amazon EKS a ajoutées à laConfigMap, telles que les entrées pour les rôles IAM utilisés avec des groupes de nœuds gérés ou des profils Fargate. Pour de plus amples informations, consultez Autoriser les utilisateurs et les rôles IAM à accéder aux API Kubernetes.-
Si vous devez utiliser l'option
ConfigMapaws-auth, vous pouvez ajouter des entrées à laConfigMapà l'aide de la commandeeksctl create iamidentitymapping. Pour plus d'informations, consultez la section Gérer les utilisateurs et les rôles IAMdans la documentation eksctl.
-
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 les principaux IAM à accéder aux objets Kubernetes de votre cluster. Il existe trois modes d'authentification.
Important
Une fois la méthode d’accès activée, elle ne peut plus être désactivée.
Si la méthode ConfigMap n’est pas activée lors de la création du cluster, elle ne peut pas être activée ultérieurement. Tous les clusters créés avant l’introduction des entrées d’accès ont cette méthode ConfigMap activée.
Si vous utilisez des nœuds hybrides avec votre cluster, vous devez utiliser les modes d’authentification ou cluster API ou API_AND_CONFIG_MAP.
- Le
aws-authConfigMapà l’intérieur du cluster -
Il s'agit du mode d'authentification d'origine pour les clusters Amazon EKS. Le principal IAM qui a créé le cluster est l'utilisateur initial à avoir accès au cluster au moyen de
kubectl. L'utilisateur initial doit ajouter d'autres utilisateurs à la liste dans laConfigMapaws-authet 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 à gérer dans laConfigMap. - À la fois le
ConfigMapet les entrées d’accès -
Avec ce mode d'authentification, vous pouvez utiliser les deux méthodes pour ajouter des principaux IAM au cluster. Notez que chaque méthode stocke des entrées distinctes ; par exemple, si vous ajoutez une entrée d’accès depuis l’AWS CLI, la
ConfigMapaws-authn’est pas mise à jour. - Accès aux entrées uniquement
-
Avec ce mode d’authentification, vous pouvez utiliser l’API EKS, l’interface de ligne de commande AWS, les SDK AWS, CloudFormation AWS et AWS Management Console pour gérer l’accès au cluster pour les principaux IAM.
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 type STANDARD et les groupes RBAC Kubernetes pour attribuer des autorisations personnalisées.
| Mode d’authentification | Méthodes |
|---|---|
|
|
|
|
API EKS et |
entrées d’accès dans l’API EKS, l’interface de la ligne de commande AWS, kits SDK AWS, AWS CloudFormation et AWS Management Console, et |
|
API EKS uniquement ( |
entrées d’accès dans l’API EKS, l’interface de la ligne de commande AWS, kits SDK AWS, AWS CloudFormation et AWS Management Console |
Note
Le mode automatique Amazon EKS nécessite des entrées d’accès.