Pods Zugriff auf AWS Ressourcen basierend auf Tags gewähren - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Pods Zugriff auf AWS Ressourcen basierend auf Tags gewähren

Die attributbasierte Zugriffskontrolle (ABAC) gewährt Benutzern Rechte anhand von Richtlinien, die Attribute miteinander kombinieren. EKS Pod Identity fügt den temporären Anmeldeinformationen für jeden Pod Tags mit Attributen wie Cluster-Name, Namespace und Servicekonto-Name hinzu. Diese Rollensitzungs-Tags ermöglichen es Administratoren, eine einzelne Rolle zu erstellen, die für alle Dienstkonten verwendet werden kann, indem sie den Zugriff auf AWS Ressourcen auf der Grundlage übereinstimmender Tags ermöglicht. Durch den zusätzlichen Support für Rollensitzungs-Tags können Kunden engere Sicherheitsgrenzen zwischen Clustern und Workloads innerhalb von Clustern durchsetzen und gleichzeitig dieselben IAM-Rollen und IAM-Richtlinien wiederverwenden.

Beispiel-Richtlinie mit Tags

Nachfolgend finden Sie ein Beispiel für eine IAM-Richtlinie, die s3:GetObject-Berechtigungen gewährt, wenn das entsprechende Objekt mit dem EKS-Clusternamen gekennzeichnet ist.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/eks-cluster-name": "${aws:PrincipalTag/eks-cluster-name}" } } } ] }

Aktivieren oder Deaktivieren von Sitzungs-Tags

EKS Pod Identity fügt einen vordefinierten Satz von Sitzungs-Tags hinzu, wenn es die Rolle übernimmt. Diese Sitzungs-Tags ermöglichen es Administratoren, eine einzelne Rolle zu erstellen, die ressourcenübergreifend verwendet werden kann, indem sie den Zugriff auf AWS Ressourcen auf der Grundlage übereinstimmender Tags ermöglicht.

Aktivieren von Sitzungs-Tags

Sitzungstags werden automatisch mit EKS Pod Identity aktiviert – Ihrerseits sind keine Maßnahmen erforderlich. Standardmäßig fügt EKS Pod Identity Ihrer Sitzung eine Reihe vordefinierter Tags hinzu. Um in Richtlinien auf diese Tags zu verweisen, verwenden Sie die Syntax ${aws:PrincipalTag/ gefolgt vom Tag-Schlüssel. Beispiel, ${aws:PrincipalTag/kubernetes-namespace}.

  • eks-cluster-arn

  • eks-cluster-name

  • kubernetes-namespace

  • kubernetes-service-account

  • kubernetes-pod-name

  • kubernetes-pod-uid

Deaktivieren von Sitzungs-Tags

AWS komprimiert Inline-Sitzungsrichtlinien, verwaltete Richtlinien ARNs und Sitzungs-Tags in ein gepacktes Binärformat mit separatem Limit. Wenn Sie einen PackedPolicyTooLarge-Fehler erhalten, die darauf hinweist, dass das gepackte Binärformat die Größenbeschränkung überschritten hat, können Sie diese Größe reduzieren, indem Sie die von EKS Pod Identity hinzugefügten Sitzungs-Tags deaktivieren. Um diese Sitzungs-Tags zu deaktivieren, führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die Amazon-EKS-Konsole.

  2. Wählen Sie im linken Navigationsbereich Clusters und anschließend den Namen des Clusters, den Sie ändern möchten.

  3. Wählen Sie die Registerkarte Zugriff aus.

  4. Wählen Sie unter Pod-Identity-Zuordnungen die Zuordnungs-ID, die Sie ändern möchten, und klicken Sie dann auf Bearbeiten.

  5. Wählen Sie unter Sitzungs-Tags die Option Sitzungs-Tags deaktivieren.

  6. Wählen Sie Änderungen speichern aus.

Kontoübergreifende Tags

Alle Sitzungs-Tags, die von EKS Pod Identity hinzugefügt werden, sind transitiv. Die Tag-Schlüssel und -Werte werden an alle AssumeRole-Aktionen weitergegeben, die Ihre Workloads verwenden, um Rollen auf ein anderes Konto zu wechseln. Sie können diese Tags in Richtlinien in anderen Konten verwenden, um den Zugriff in kontoübergreifenden Szenarien einzuschränken. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Verketten von Rollen mit Sitzungs-Tags.

Benutzerdefinierte Tags

EKS Pod Identity kann der AssumeRole-Aktion, die es ausführt, keine zusätzlichen benutzerdefinierten Tags hinzufügen. Tags, die Sie auf die IAM-Rolle anwenden, sind jedoch immer im gleichen Format verfügbar: ${aws:PrincipalTag/ gefolgt vom Schlüssel, zum Beispiel ${aws:PrincipalTag/MyCustomTag}.

Anmerkung

Tags, die der Sitzung über die sts:AssumeRole-Anfrage hinzugefügt wurden, haben im Konfliktfall Vorrang. Nehmen wir zum Beispiel an:

  • Amazon EKS fügt der Sitzung einen Schlüssel eks-cluster-name und einen Wert my-cluster hinzu, wenn EKS die Kundenrolle übernimmt und

  • Sie fügen der IAM-Rolle ein eks-cluster-name-Tag mit dem Wert my-own-cluster hinzu.

In diesem Fall hat Ersteres Vorrang und der Wert für das eks-cluster-name-Tag ist my-cluster.