Unterstützung für die Verbesserung dieser Seite beitragen
Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.
Die von Amazon EKS erstellten RBAC-Rollen und -Benutzer verstehen
Wenn Sie einen Kubernetes-Cluster erstellen, werden für das ordnungsgemäße Funktionieren von Kubernetes mehrere Kubernetes-Standardidentitäten in diesem Cluster erstellt. Amazon EKS erstellt Kubernetes-Identitäten für jede seiner Standardkomponenten. Die Identitäten stellen eine rollenbasierte Autorisierungskontrolle (RBAC) von Kubernetes für die Cluster-Komponenten bereit. Weitere Informationen finden Sie unter Using RBAC Authorization
Wenn Sie optionale Add-Ons zu Ihrem Cluster installieren, werden Ihrem Cluster möglicherweise zusätzliche Kubernetes-Identitäten hinzugefügt. Weitere Informationen zu Identitäten, die in diesem Thema nicht behandelt werden, finden Sie in der Dokumentation des Add-Ons.
Sie können die Liste der von Amazon EKS erstellten Kubernetes-Identitäten auf Ihrem Cluster mit dem AWS-Managementkonsole- oder kubectl-Befehlszeilen-Tool anzeigen. Alle Benutzeridentitäten werden in den kube-Prüfungsprotokollen angezeigt, die Ihnen über Amazon CloudWatch zur Verfügung stehen.
AWS-Managementkonsole
Voraussetzung
Der von Ihnen verwendete IAM-Prinzipal muss über die unter Erforderliche Berechtigungen beschriebenen Berechtigungen verfügen.
So zeigen Sie von Amazon EKS erstellte Identitäten mit dem AWS-Managementkonsole an
-
Öffnen Sie die Amazon-EKS-Konsole
. -
Wählen Sie in der Liste Clusters (Cluster) den Cluster aus, der die anzuzeigenden Identitäten enthält.
-
Wählen Sie die Registerkarte Resources (Ressourcen) aus.
-
Wählen Sie unter Resource types (Ressourcentypen) die Option Authorization (Autorisierung) aus.
-
Wählen Sie ClusterRoles, ClusterRoleBindings, Roles oder RoleBindings aus. Alle Ressourcen, denen eks vorangestellt ist, wurden von Amazon EKS erstellt. Weitere von Amazon EKS erstellte Identitätsressourcen sind:
-
Die ClusterRole und das ClusterRoleBinding mit dem Namen aws-node. Die aws-node-Ressourcen unterstützen das Amazon-VPC-CNI-Plugin für Kubernetes, das Amazon EKS auf allen Clustern installiert.
-
Eine ClusterRole mit dem Namen vpc-resource-controller-role und ein ClusterRoleBinding mit dem Namen vpc-resource-controller-rolebinding. Diese Ressourcen unterstützen den Amazon-VPC-Ressourcencontroller
, den Amazon EKS auf allen Clustern installiert.
Zusätzlich zu den Ressourcen, die Sie in der Konsole sehen, sind die folgenden speziellen Benutzeridentitäten in Ihrem Cluster vorhanden, obwohl sie in der Konfiguration des Clusters nicht sichtbar sind:
-
eks:cluster-bootstrap– Wird fürkubectl-Vorgänge während des Cluster-Bootstraps verwendet. -
eks:support-engineer– Wird für Cluster-Management-Operationen verwendet.
-
-
Wählen Sie eine bestimmte Ressource aus, um Details dazu anzuzeigen. Standardmäßig werden Ihnen Informationen in der Strukturierten Ansicht angezeigt. In der oberen rechten Ecke der Detailseite können Sie die Raw view (Rohansicht) auswählen, um alle Informationen für die Ressource anzuzeigen.
Kubectl
Voraussetzung
Die Entität, die Sie zum Auflisten der Kubernetes-Ressourcen im Cluster verwenden (AWS Identity and Access Management (IAM) oder OpenID Connect (OIDC)), muss von IAM oder Ihrem OIDC-Identitätsanbieter authentifiziert werden. Der Entität müssen Berechtigungen zur Verwendung der Kubernetes-Verben get und list für die Role-, ClusterRole-, RoleBinding- und ClusterRoleBinding-Ressourcen in Ihrem Cluster gewährt werden, mit denen die Entität arbeiten soll. Weitere Informationen zum Gewähren von Zugriff auf IAM-Entitäten auf Ihren Cluster finden Sie unter Gewähren von Zugriff auf Kubernetes-APIs für IAM-Benutzer und Rollen. Weitere Informationen zum Gewähren von Zugriff auf Ihren Cluster durch Entitäten, die von Ihrem eigenen OIDC-Anbieter authentifiziert wurden, finden Sie unter Benutzern Zugriff auf Kubernetes mit einem externen OIDC-Anbieter gewähren.
So zeigen Sie von Amazon EKS erstellte Identitäten mit dem kubectl an
Führen Sie den Region aus, die Sie anzeigen möchten. Alle zurückgegebenen Ressourcen, denen eks vorangestellt ist, wurden von Amazon EKS erstellt. Zusätzlich zu den Ressourcen, die in der Ausgabe der Befehle zurückgegeben werden, sind die folgenden speziellen Benutzeridentitäten in Ihrem Cluster vorhanden, obwohl sie in der Konfiguration des Clusters nicht sichtbar sind:
-
eks:cluster-bootstrap– Wird fürkubectl-Vorgänge während des Cluster-Bootstraps verwendet. -
eks:support-engineer– Wird für Cluster-Management-Operationen verwendet.
ClusterRoles – ClusterRoles sind auf Ihren Cluster beschränkt, d. h. jede Berechtigung, die einer Rolle gewährt wird, gilt für Ressourcen in jedem -Namespace des Clusters.
Der folgende Befehl gibt alle von Amazon EKS erstellten Kubernetes ClusterRoles in Ihrem Cluster zurück.
kubectl get clusterroles | grep eks
Zusätzlich zu dem in der Ausgabe zurückgegebenen ClusterRoles, dem etwas vorangestellt ist, sind die folgenden ClusterRoles vorhanden.
-
aws-node– DieseClusterRoleunterstützt das Amazon-VPC-CNI-Plugin für Kubernetes, das Amazon EKS in allen Clustern installiert. -
vpc-resource-controller-role– DieseClusterRoleunterstützt den Amazon-VPC-Ressourcen-Controller, den Amazon EKS in allen Clustern installiert.
Um die Spezifikation für ein ClusterRole anzuzeigen, ersetzen Sie eks:k8s-metrics im folgenden Befehl durch eine ClusterRole, die in der Ausgabe des vorherigen Befehls zurückgegeben wird. Das folgende Beispiel gibt die Spezifikation für die eks:k8s-metrics ClusterRole zurück.
kubectl describe clusterrole eks:k8s-metrics
Eine Beispielausgabe sieht wie folgt aus.
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 – ClusterRoleBindings sind auf Ihren Cluster beschränkt.
Der folgende Befehl gibt alle von Amazon EKS erstellten Kubernetes ClusterRoleBindings in Ihrem Cluster zurück.
kubectl get clusterrolebindings | grep eks
Zusätzlich zu dem in der Ausgabe zurückgegebenen ClusterRoleBindings, sind die folgenden ClusterRoleBindings vorhanden.
-
aws-node– DieseClusterRoleBindingunterstützt das Amazon-VPC-CNI-Plugin für Kubernetes, das Amazon EKS in allen Clustern installiert. -
vpc-resource-controller-rolebinding– DieseClusterRoleBindingunterstützt den Amazon-VPC-Ressourcen-Controller, den Amazon EKS in allen Clustern installiert.
Um die Spezifikation für ein ClusterRoleBinding anzuzeigen, ersetzen Sie eks:k8s-metrics im folgenden Befehl durch eine ClusterRoleBinding, die in der Ausgabe des vorherigen Befehls zurückgegeben wird. Das folgende Beispiel gibt die Spezifikation für die eks:k8s-metrics ClusterRoleBinding zurück.
kubectl describe clusterrolebinding eks:k8s-metrics
Eine Beispielausgabe sieht wie folgt aus.
Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: ClusterRole Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics
Rollen – Roles sind auf einen Kubernetes-Namespace beschränkt. Alle mit Roles erstellten Amazon EKS sind auf den kube-system-Namespace beschränkt.
Der folgende Befehl gibt alle von Amazon EKS erstellten Kubernetes Roles in Ihrem Cluster zurück.
kubectl get roles -n kube-system | grep eks
Um die Spezifikation für ein Role anzuzeigen, ersetzen Sie eks:k8s-metrics im folgenden Befehl durch den Namen eines Role, das in der Ausgabe des vorherigen Befehls zurückgegeben wird. Das folgende Beispiel gibt die Spezifikation für die eks:k8s-metrics Role zurück.
kubectl describe role eks:k8s-metrics -n kube-system
Eine Beispielausgabe sieht wie folgt aus.
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 – RoleBindings sind auf einen Kubernetes-Namespace beschränkt. Alle mit RoleBindings erstellten Amazon EKS sind auf den kube-system-Namespace beschränkt.
Der folgende Befehl gibt alle von Amazon EKS erstellten Kubernetes RoleBindings in Ihrem Cluster zurück.
kubectl get rolebindings -n kube-system | grep eks
Um die Spezifikation für ein RoleBinding anzuzeigen, ersetzen Sie eks:k8s-metrics im folgenden Befehl durch eine RoleBinding, die in der Ausgabe des vorherigen Befehls zurückgegeben wird. Das folgende Beispiel gibt die Spezifikation für die eks:k8s-metrics RoleBinding zurück.
kubectl describe rolebinding eks:k8s-metrics -n kube-system
Eine Beispielausgabe sieht wie folgt aus.
Name: eks:k8s-metrics Labels: <none> Annotations: <none> Role: Kind: Role Name: eks:k8s-metrics Subjects: Kind Name Namespace ---- ---- --------- User eks:k8s-metrics