Beispiele für identitätsbasierte Amazon-EKS-Richtlinien - Amazon EKS

Beispiele für identitätsbasierte Amazon-EKS-Richtlinien

Standardmäßig haben IAM-Benutzer und -Rollen nicht die Berechtigung, Amazon-EKS-Ressourcen zu erstellen oder zu ändern. Sie können auch keine Aufgaben ausführen, die die AWS Management Console-, AWS CLI- oder AWS-API benutzen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Benutzern und Rollen die Berechtigung zum Ausführen bestimmter API-Operationen für die angegebenen Ressourcen gewähren, die diese benötigen. Der Administrator muss diese Richtlinien anschließend den IAM-Benutzern oder -Gruppen anfügen, die diese Berechtigungen benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter Erstellen von Richtlinien auf der JSON-Registerkarte im IAM-Benutzerhandbuch.

Wenn Sie einen Amazon-EKS-Cluster erstellen, werden dem Benutzer oder der Rolle der AWS Identity and Access Management(IAM)-Entität, z. B. einem Verbundbenutzer, der den Cluster erstellt, automatisch system:masters-Berechtigungen in der rollenbasierten Zugriffssteuerungs(RBAC)-Konfiguration des Clusters in der Amazon-EKS-Steuerebene erteilt. Diese IAM-Entität wird in keiner sichtbaren Konfiguration angezeigt. Achten Sie daher darauf, welche IAM-Entität den Cluster ursprünglich erstellt hat. Um zusätzlichen AWS-Benutzern oder Rollen die Möglichkeit zu geben, mit Ihrem Cluster zu interagieren, müssen Sie die aws-auth ConfigMap innerhalb von Kubernetes bearbeiten und ein Kubernetes rolebinding oder clusterrolebinding mit dem Namen einer group erstellen, den Sie in der aws-auth ConfigMap angeben.

Weitere Informationen zum Arbeiten mit der ConfigMap finden Sie unter Aktivieren des IAM-Benutzer- und Rollenzugriffs auf Ihren Cluster.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien sind sehr leistungsfähig. Sie bestimmen, ob jemand Amazon-EKS-Ressourcen in Ihrem Konto erstellen, aufrufen oder löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Starten Sie mit AWS verwalteten Richtlinien – Um Amazon EKS schnell zu nutzen, verwenden Sie AWS verwaltete Richtlinien, um Ihren Mitarbeitern die erforderlichen Berechtigungen zu erteilen. Diese Richtlinien sind bereits in Ihrem Konto verfügbar und werden von AWS. Weitere Informationen finden Sie unter Erste Schritte zur Verwendung von Berechtigungen mit AWS-verwalteten Richtlinien im IAM-Benutzerhandbuch.

  • Gewähren von geringsten Rechten – Gewähren Sie beim Erstellen benutzerdefinierter Richtlinien nur die Berechtigungen, die zum Ausführen einer Aufgabe erforderlich sind. Beginnen Sie mit einem Mindestsatz von Berechtigungen und gewähren Sie zusätzliche Berechtigungen wie erforderlich. Dies ist sicherer, als mit Berechtigungen zu beginnen, die zu weit gefasst sind, und dann später zu versuchen, sie zu begrenzen. Weitere Informationen finden Sie unter Gewähren von geringsten Rechten im IAM-Benutzerhandbuch.

  • Aktivieren von MFA für sensible Vorgänge – Sie sollten die Verwendung der Multi-Faktor-Authentifizierung (MFA) von IAM-Benutzern fordern, um beim Zugriff auf sensible Ressourcen oder API-Operationen zusätzliche Sicherheit zu erhalten. Weitere Informationen finden Sie unter Verwenden der Multi-Faktor-Authentifizierung (MFA) in AWS im IAM-Benutzerhandbuch.

  • Verwenden von Richtlinienbedingungen für zusätzliche Sicherheit – Definieren Sie die Bedingungen, unter denen Ihre identitätsbasierten Richtlinien den Zugriff auf eine Ressource zulassen, soweit praktikabel. Beispielsweise können Sie Bedingungen schreiben, die eine Reihe von zulässigen IP-Adressen festlegen, von denen eine Anforderung stammen muss. Sie können auch Bedingungen schreiben, die Anforderungen nur innerhalb eines bestimmten Datums- oder Zeitbereichs zulassen oder die Verwendung von SSL oder MFA fordern. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

Verwenden der Amazon-EKS-Konsole

Um auf die Amazon-EKS-Konsole zugreifen zu können, muss eine IAM-Entität wie ein Benutzer oder eine Rolle über einen Mindestsatz von Berechtigungen verfügen. Diese Berechtigungen müssen es ermöglichen, Details über die Amazon-EKS-Ressourcen in Ihrem AWS-Konto aufzulisten und anzuzeigen. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die restriktiver als die mindestens erforderlichen Berechtigungen ist, funktioniert die Konsole für Entitäten, denen diese Richtlinie zugewiesen ist, nicht wie vorgesehen.

Um sicherzustellen, dass Ihre IAM-Entitäten die Amazon-EKS-Konsole weiterhin verwenden können, erstellen Sie eine Richtlinie mit Ihrem eigenen eindeutigen Namen, z. B. AmazonEKSAdminPolicy. Fügen Sie die Richtlinie an die Entitäten an. Weitere Informationen finden Sie unter Hinzufügen von Berechtigungen zu einem Benutzer im IAM-Benutzerhandbuch.

Wichtig

Mit der folgenden Beispielrichtlinie kann eine Entität Informationen auf der Registerkarte Configuration (Konfiguration) in der Konsole anzeigen. Um auf Informationen auf den Registerkarten Overview (Übersicht) und Resources (Ressourcen) in der AWS Management Console zuzugreifen, benötigt die Entität zudem Kubernetes-Berechtigungen. Weitere Informationen finden Sie unter Erforderliche Berechtigungen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "eks.amazonaws.com" } } } ] }

Für Benutzer, die nur Aufrufe an die AWS CLI oder AWS-API durchführen, müssen Sie keine Mindestberechtigungen in der Konsole erteilen. Stattdessen sollten Sie nur Zugriff auf die Aktionen zulassen, die den API-Operation entsprechen, die Sie ausführen möchten.

Gewähren der Berechtigung zur Anzeige der eigenen Berechtigungen für Benutzer

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, die IAM-Benutzern die Berechtigung zum Anzeigen der eingebundenen Richtlinien und verwalteten Richtlinien gewährt, die ihrer Benutzeridentität angefügt sind. Diese Richtlinie enthält Berechtigungen für die Ausführung dieser Aktion auf der Konsole oder für die programmgesteuerte Ausführung über die AWS CLI oder die AWS-API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Aktualisieren eines Kubernetes-Clusters

Das folgende Beispiel zeigt, wie Sie eine Richtlinie erstellen, mit der ein Benutzer die Kubernetes-Version eines dev-Clusters für ein Konto in einer beliebigen Region aktualisieren kann.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "eks:UpdateClusterVersion", "Resource": "arn:aws:eks:*:<111122223333>:cluster/<dev>" } ] }

Auflisten oder Beschreiben aller Cluster

In diesem Beispiel wird gezeigt, wie Sie eine Richtlinie erstellen, mit der ein Benutzer schreibgeschützten Zugriff zum Auflisten oder Beschreiben aller Cluster erhält. Ein Konto muss in der Lage sein, Cluster aufzulisten und zu beschreiben, damit der AWS CLI-Befehl update-kubeconfig verwendet werden kann.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:DescribeCluster", "eks:ListClusters" ], "Resource": "*" } ] }