Comprendre les RBAC rôles et les utilisateurs EKS créés par Amazon - 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 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.

Comprendre les RBAC rôles et les utilisateurs EKS créés par Amazon

Lorsque vous créez un Kubernetes cluster, plusieurs par défaut Kubernetes des identités sont créées sur ce cluster pour le bon fonctionnement de Kubernetes. Amazon EKS crée Kubernetes identités pour chacun de ses composants par défaut. Les identités fournissent Kubernetes contrôle d'autorisation basé sur les rôles (RBAC) pour les composants du cluster. Pour plus d'informations, consultez la section Utilisation de RBAC l'autorisation dans le Kubernetes .

Lorsque vous installez des modules complémentaires facultatifs sur votre cluster, Kubernetes des identités peuvent être ajoutées à votre cluster. Pour plus d'informations sur les identités non abordées dans cette rubrique, consultez la documentation du module complémentaire.

Vous pouvez consulter la liste des Amazon EKS créés Kubernetes identités sur votre cluster à l'aide de l'outil de ligne de kubectl commande AWS Management Console or. Toutes les identités des utilisateurs apparaissent dans les journaux kube d'audit mis à votre disposition via Amazon CloudWatch.

AWS Management Console
Prérequis

Le IAMprincipal que vous utilisez doit disposer des autorisations décrites dansAutorisations nécessaires.

Pour consulter les identités EKS créées par Amazon à l'aide du AWS Management Console
  1. Ouvrez la EKS console Amazon à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

  2. Dans la liste Clusters, sélectionnez le cluster qui contient les identités que vous souhaitez afficher.

  3. Sélectionnez l'onglet Ressources.

  4. Sous Resource types (Types de ressources), sélectionnez Authorization (Autorisation).

  5. Choisissez, ClusterRoles, ClusterRoleBindings, Rôles ou RoleBindings. Toutes les ressources préfacées avec eks sont créées par AmazonEKS. Les ressources d'identité supplémentaires EKS créées par Amazon sont les suivantes :

    • Le ClusterRoleet ClusterRoleBindingnommé aws-node. Les ressources aws-node prennent en charge le Amazon VPC CNI plugin for Kubernetes, qu'Amazon EKS installe sur tous les clusters.

    • Un ClusterRolenom vpc-resource-controller-roleet un ClusterRoleBindingnom vpc-resource-controller-rolebinding. Ces ressources prennent en charge le contrôleur de VPC ressources Amazon, qu'Amazon EKS installe sur tous les clusters.

    Outre les ressources visibles sur la console, les identités d'utilisateur spéciales suivantes sont disponibles sur votre cluster, même si elles n'apparaissent pas dans la configuration du cluster :

    • eks:cluster-bootstrap : utilisée pour les opérations kubectl lors de l'amorçage du cluster.

    • eks:support-engineer : utilisée pour les opérations de gestion des clusters.

  6. Choisissez une ressource spécifique pour afficher les détails la concernant. Par défaut, les informations s'affichent en mode Structured view (Vue structurée). Dans le coin supérieur droit de la page de détails, vous pouvez sélectionner Raw view (Vue brute) pour afficher toutes les informations relative à la ressource.

Kubectl
Prérequis

L'entité que vous utilisez AWS Identity and Access Management (IAM) ou OpenID Connect (OIDC)) pour répertorier les Kubernetes les ressources du cluster doivent être authentifiées par IAM ou par votre OIDC fournisseur d'identité. L'entité doit être autorisée à utiliser le Kubernetes getet list des verbes désignant le RoleClusterRole,RoleBinding, et les ClusterRoleBinding ressources de votre cluster avec lesquelles vous souhaitez que l'entité fonctionne. Pour plus d'informations sur l'octroi d'un accès aux IAM entités à votre cluster, consultezAccorder IAM aux utilisateurs et aux rôles l'accès à Kubernetes APIs. Pour plus d'informations sur l'octroi d'entités authentifiées par vos propres moyens OIDC accès du fournisseur à votre cluster, voirAccorder aux utilisateurs l'accès Kubernetes auprès d'un OIDC fournisseur externe.

Pour afficher les identités EKS créées par Amazon à l'aide de kubectl

Exécutez la commande correspondant au type de ressource que vous souhaitez consulter. Toutes les ressources renvoyées préfacées par eks sont créées par AmazonEKS. Outre les ressources renvoyées dans la sortie des commandes, les identités d'utilisateur spéciales suivantes sont disponibles sur votre cluster, même si elles n'apparaissent pas dans la configuration du cluster :

  • eks:cluster-bootstrap : utilisée pour les opérations kubectl lors de l'amorçage du cluster.

  • eks:support-engineer : utilisée pour les opérations de gestion des clusters.

ClusterRolesClusterRoles sont limitées à votre cluster, de sorte que toute autorisation accordée à un rôle s'applique aux ressources de n'importe quel Kubernetes espace de noms sur le cluster.

La commande suivante renvoie tous les Amazon EKS créés Kubernetes ClusterRolessur votre cluster.

kubectl get clusterroles | grep eks

Outre les ClusterRoles renvoyés dans la sortie, les ClusterRoles suivants sont disponibles.

Pour voir les spécifications d'unClusterRole, remplacez eks:k8s-metrics dans la commande suivante avec un ClusterRole renvoyé dans la sortie de la commande précédente. L'exemple suivant renvoie la spécification pour le eks:k8s-metrics ClusterRole.

kubectl describe clusterrole eks:k8s-metrics

L'exemple qui suit illustre un résultat.

Name: eks:k8s-metrics Labels: <none> Annotations: <none> PolicyRule: Resources Non-Resource URLs Resource Names Verbs --------- ----------------- -------------- ----- [/metrics] [] [get] endpoints [] [] [list] nodes [] [] [list] pods [] [] [list] deployments.apps [] [] [list]

ClusterRoleBindingsClusterRoleBindings sont limités à votre cluster.

La commande suivante renvoie tous les Amazon EKS créés Kubernetes ClusterRoleBindingssur votre cluster.

kubectl get clusterrolebindings | grep eks

En plus des ClusterRoleBindings renvoyés dans la sortie, les ClusterRoleBindings suivants sont disponibles.

Pour voir les spécifications d'unClusterRoleBinding, remplacez eks:k8s-metrics dans la commande suivante avec un ClusterRoleBinding renvoyé dans la sortie de la commande précédente. L'exemple suivant renvoie la spécification pour le eks:k8s-metrics ClusterRoleBinding.

kubectl describe clusterrolebinding eks:k8s-metrics

L'exemple qui suit illustre un résultat.

Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics

Rôles : Roles ils sont limités à un Kubernetes espace de noms. Toutes les EKS créations Amazon Roles sont limitées à l'espace de kube-system noms.

La commande suivante renvoie tous les Amazon EKS créés Kubernetes Rolessur votre cluster.

kubectl get roles -n kube-system | grep eks

Pour voir les spécifications d'unRole, remplacez eks:k8s-metrics dans la commande suivante avec le nom de a Role renvoyé dans la sortie de la commande précédente. L'exemple suivant renvoie la spécification pour le eks:k8s-metrics Role.

kubectl describe role eks:k8s-metrics -n kube-system

L'exemple qui suit illustre un résultat.

Name: eks:k8s-metrics Labels: <none> Annotations: <none> PolicyRule: Resources Non-Resource URLs Resource Names Verbs --------- ----------------- -------------- ----- daemonsets.apps [] [aws-node] [get] deployments.apps [] [vpc-resource-controller] [get]

RoleBindingsRoleBindings sont limités à un Kubernetes espace de noms. Toutes les EKS créations Amazon RoleBindings sont limitées à l'espace de kube-system noms.

La commande suivante renvoie tous les Amazon EKS créés Kubernetes RoleBindingssur votre cluster.

kubectl get rolebindings -n kube-system | grep eks

Pour voir les spécifications d'unRoleBinding, remplacez eks:k8s-metrics dans la commande suivante avec un RoleBinding renvoyé dans la sortie de la commande précédente. L'exemple suivant renvoie la spécification pour le eks:k8s-metrics RoleBinding.

kubectl describe rolebinding eks:k8s-metrics -n kube-system

L'exemple qui suit illustre un résultat.

Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: Role Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics