Contribuisci a migliorare questa pagina
Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.
Comprendere ruoli e utenti creati da Amazon EKS tramite RBAC
Quando si crea 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à offrono un controllo delle autorizzazioni basato sul ruolo (RBAC) Kubernetes per i componenti del cluster. Per ulteriori informazioni, consulta Utilizzo dell'autorizzazione RBAC
Quando si installano componenti aggiuntivi opzionali nel cluster, è possibile che vengano aggiunte identità Kubernetes supplementari al cluster. Per ulteriori informazioni sulle identità non trattate in questo argomento, consulta la documentazione del componente aggiuntivo.
Ѐ possibile visualizzare l’elenco delle identità Kubernetes create da Amazon EKS sul cluster utilizzando lo strumento a riga di comando della Console di gestione AWS o kubectl. Tutte le identità dell'utente appariranno nei log di controllo kube disponibili per i clienti tramite Amazon CloudWatch.
Console di gestione AWS
Prerequisito
Il principale IAM da utilizzare deve disporre delle autorizzazioni descritte alla pagina Required permissions.
Come visualizzare le identità create da Amazon EKS utilizzando la Console di gestione AWS
-
Aprire la Console Amazon EKS
. -
Nell'elenco Cluster, seleziona il cluster contenente le identità da visualizzare.
-
Scegliere la scheda Resources (Risorse).
-
In Resource types (Tipi di risorse), scegli Authorization (Autorizzazione).
-
Scegli ClusterRoles, ClusterRoleBindings, Roles o RoleBindings. Tutte le risorse con il prefisso eks sono create da Amazon EKS. Le risorse di identità supplementari create da Amazon EKS sono:
-
ClusterRole e ClusterRoleBinding denominati aws-node. Le risorse aws-node supportano il plugin CNI di Amazon VPC per Kubernetes, che Amazon EKS installa su tutti i cluster.
-
Un ClusterRole denominato vpc-resource-controller-role e un ClusterRoleBinding denominato 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 operazionikubectldurante il bootstrap del cluster. -
eks:support-engineer: utilizzato per le operazioni di gestione del cluster.
-
-
Scegli una risorsa specifica per visualizzarne i dettagli. Per impostazione predefinita, le informazioni sono mostrate in Vista 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à utilizzata (AWS Identity and Access Management (IAM) oppure OpenID Connect (OIDC)) per elencare le risorse Kubernetes nel cluster deve essere autenticata da IAM o dal gestore di identità OIDC. All’entità devono essere concesse autorizzazioni per utilizzare i verbi Kubernetes get e list 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 Concedere agli utenti e ai ruoli IAM l’accesso alle API Kubernetes. Per ulteriori informazioni sulla concessione dell’accesso al cluster alle entità autenticate dal gestore OIDC, consultare Concedere agli utenti l’accesso a Kubernetes con un provider OIDC esterno.
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 operazionikubectldurante il bootstrap del cluster. -
eks:support-engineer: utilizzato per le operazioni di gestione del cluster.
ClusterRoles: i ClusterRoles rientrano nell’ambito del cluster, per cui qualunque autorizzazione concessa a un ruolo si applica alle risorse in ogni namespace Kubernetes del cluster.
Il comando seguente restituisce tutti i ClusterRoles Kubernetes creati da Amazon EKS nel cluster.
kubectl get clusterroles | grep eks
Oltre ai ClusterRoles restituiti nell'output con prefisso, esistono i seguenti ClusterRoles.
-
aws-node: questoClusterRolesupporta il plugin CNI di Amazon VPC per Kubernetes, che Amazon EKS installa su tutti i cluster. -
vpc-resource-controller-role: questoClusterRolesupporta il controller di risorse Amazon VPC, che Amazon EKS installa su tutti i cluster.
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]
clusterRoleBindings: i ClusterRoleBindings rientrano nell'ambito del tuo cluster.
Il comando seguente restituisce tutti i ClusterRoleBindings Kubernetes creati da Amazon EKS nel cluster.
kubectl get clusterrolebindings | grep eks
Oltre ai ClusterRoleBindings restituiti nell'output, esistono i seguenti ClusterRoleBindings.
-
aws-node: questoClusterRoleBindingsupporta il plugin CNI di Amazon VPC per Kubernetes, che Amazon EKS installa su tutti i cluster. -
vpc-resource-controller-rolebinding: questoClusterRoleBindingsupporta il controller di risorse Amazon VPC, che Amazon EKS installa su tutti i cluster.
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: i Roles sono racchiusi in un namespace Kubernetes. Tutti i Roles creati da Amazon EKS rientrano nell'ambito dello spazio nomi kube-system.
Il comando seguente restituisce tutti i Roles Kubernetes creati da Amazon EKS nel 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]
RoleBindings: i RoleBindings sono racchiusi in un namespace Kubernetes. 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 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