Ruoli e utenti predefiniti Kubernetes creati da Amazon EKS - Amazon EKS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ruoli e utenti predefiniti Kubernetes creati da Amazon EKS

Quando crei un cluster Kubernetes, su tale cluster vengono create diverse identità Kubernetes predefinite per il corretto funzionamento di Kubernetes. Amazon EKS crea identità Kubernetes per ciascuno dei suoi componenti predefiniti. Le identità forniscono un controllo delle autorizzazioni basato sui ruoli (RBAC) Kubernetes per i componenti del cluster. Per ulteriori informazioni, consulta Utilizzo dell'autorizzazione RBAC nella documentazione di Kubernetes.

Quando installi componenti aggiuntivi opzionali nel tuo cluster, è possibile che vengano aggiunte identità supplementari Kubernetes al cluster. Per ulteriori informazioni sulle identità non trattate in questo argomento, consulta la documentazione del componente aggiuntivo.

Puoi visualizzare l'elenco delle identità Kubernetes create da Amazon EKS sul tuo cluster utilizzando lo strumento a riga di comando della AWS Management Console o kubectl. Tutte le identità degli utenti vengono visualizzate nei registri di kube controllo disponibili tramite Amazon. CloudWatch

AWS Management Console
Prerequisito

Il principale IAM che devi utilizzare deve disporre delle autorizzazioni descritte in Autorizzazioni richieste.

Per visualizzare le identità create da Amazon EKS utilizzando AWS Management Console
  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home#/clusters.

  2. Nell'elenco Cluster, seleziona il cluster contenente le identità da visualizzare.

  3. Scegliere la scheda Resources (Risorse).

  4. In Resource types (Tipi di risorse), scegli Authorization (Autorizzazione).

  5. Scegli, ClusterRoles, ClusterRoleBindings, Ruoli o RoleBindings. Tutte le risorse con il prefisso eks sono create da Amazon EKS. Le risorse di identità supplementari create da Amazon EKS sono:

    • La ClusterRolee ClusterRoleBindingdenominata aws-node. Le risorse aws-node supportano il Amazon VPC CNI plugin for Kubernetes, che Amazon EKS installa su tutti i cluster.

    • Un ClusterRolenome vpc-resource-controller-rolee un ClusterRoleBindingnome. vpc-resource-controller-rolebinding Queste risorse supportano il Amazon VPC resource controller (Controller risorse Amazon VPC), che Amazon EKS installa su tutti i cluster.

    Oltre alle risorse visualizzate nella console, nel cluster esistono le seguenti identità utente speciali, anche se non sono visibili nella configurazione del cluster:

    • eks:cluster-bootstrap: utilizzato per operazioni kubectl durante il bootstrap del cluster.

    • eks:support-engineer: utilizzato per le operazioni di gestione del cluster.

  6. Scegli una risorsa specifica per visualizzarne i dettagli. Per impostazione predefinita, le informazioni sono mostrate in Structured view (Visualizzazione strutturata). Nell'angolo superiore destro della pagina dei dettagli puoi scegliere la Raw view (Visualizzazione non elaborata) per vedere tutte le informazioni per la risorsa.

Kubectl
Prerequisito

L'entità che utilizzi (AWS Identity and Access Management (IAM) o OpenID Connect (OIDC)) per elencare le Kubernetes risorse sul cluster deve essere autenticata da IAM o dal tuo provider di OIDC identità. All'entità devono essere concesse le autorizzazioni per utilizzare i verbi get e list di Kubernetes per le risorse Role, ClusterRole, RoleBinding e ClusterRoleBinding nel cluster che devono essere utilizzate dall'entità. Per ulteriori informazioni sulla concessione alle entità IAM dell'accesso al tuo cluster, consulta Concedi l'accesso alle Kubernetes API . Per ulteriori informazioni sulla concessione alle entità autenticate dal tuo provider OIDC dell'accesso al tuo cluster, consulta Autentica gli utenti del tuo cluster da un provider di OpenID Connect identità.

Come visualizzare le identità create da Amazon EKS tramite kubectl

Esegui il comando per il tipo di risorsa da visualizzare. Tutte le risorse restituite con il prefisso eks sono create da Amazon EKS. Oltre alle risorse restituite nell'output dai comandi, nel cluster esistono le seguenti identità utente speciali, anche se non sono visibili nella configurazione del cluster:

  • eks:cluster-bootstrap – Utilizzato per operazioni kubectl durante il bootstrap del cluster.

  • eks:support-engineer: utilizzato per le operazioni di gestione del cluster.

ClusterRolesClusterRoles sono limitati al cluster, quindi qualsiasi autorizzazione concessa a un ruolo si applica alle risorse in qualsiasi spazio dei Kubernetes nomi del cluster.

Il comando seguente restituisce tutti i ClusterRoles di Kubernetes creati da Amazon EKS nel tuo cluster.

kubectl get clusterroles | grep eks

Oltre ai ClusterRoles restituiti nell'output con prefisso, esistono i seguenti ClusterRoles.

Per visualizzare le specifiche di un ClusterRole, sostituisci eks:k8s-metrics nel comando seguente con un ClusterRole restituito nell'output del comando precedente. L'esempio seguente restituisce la specifica per ClusterRole eks:k8s-metrics.

kubectl describe clusterrole eks:k8s-metrics

Di seguito viene riportato un output di esempio:

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 sono limitati al cluster.

Il comando seguente restituisce tutti i ClusterRoleBindings Kubernetes creati da Amazon EKS nel tuo cluster.

kubectl get clusterrolebindings | grep eks

Oltre ai ClusterRoleBindings restituiti nell'output, esistono i seguenti ClusterRoleBindings.

Per visualizzare le specifiche di un ClusterRoleBinding, sostituisci eks:k8s-metrics nel comando seguente con un ClusterRoleBinding restituito nell'output del comando precedente. L'esempio seguente restituisce la specifica per ClusterRoleBinding eks:k8s-metrics.

kubectl describe clusterrolebinding eks:k8s-metrics

Di seguito viene riportato un output di esempio:

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

Roles (Ruoli): i Roles sono racchiusi in uno spazio dei nomi Kubernetes. Tutti i Roles creati da Amazon EKS sono racchiusi nello spazio dei nomi kube-system.

Il comando seguente restituisce tutti i Roles Kubernetes creati da Amazon EKS nel tuo cluster.

kubectl get roles -n kube-system | grep eks

Per visualizzare le specifiche di un Role, sostituisci eks:k8s-metrics nel comando seguente con un Role restituito nell'output del comando precedente. L'esempio seguente restituisce la specifica per eks:k8s-metrics Role.

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

Di seguito viene riportato un output di esempio:

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 sono limitati a uno Kubernetes spazio dei nomi. Tutti i RoleBindings creati da Amazon EKS rientrano nell'ambito dello spazio nomi kube-system.

Il comando seguente restituisce tutti i RoleBindings Kubernetes creati da Amazon EKS nel tuo cluster.

kubectl get rolebindings -n kube-system | grep eks

Per visualizzare le specifiche di un RoleBinding, sostituisci eks:k8s-metrics nel comando seguente con un RoleBinding restituito nell'output del comando precedente. L'esempio seguente restituisce la specifica per RoleBinding eks:k8s-metrics.

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

Di seguito viene riportato un output di esempio:

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