Hilf mit, diese Seite zu verbessern
Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.
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.
Erfahre wie EKS Pod Identity gewährt Pods Zugriff auf AWS Dienste
Anwendungen in einem PodDie Container können ein AWS SDK oder das verwenden AWS CLI , um API Anfragen an die AWS-Services Verwendung von AWS Identity and Access Management (IAM) -Berechtigungen zu stellen. Anwendungen müssen ihre AWS API Anfragen mit AWS Anmeldeinformationen signieren.
EKSPod-Identitäten bieten die Möglichkeit, Anmeldeinformationen für Ihre Anwendungen zu verwalten, ähnlich wie EC2 Amazon-Instance-Profile Anmeldeinformationen für EC2 Amazon-Instances bereitstellen. Anstatt Ihre AWS Anmeldeinformationen zu erstellen und an die Container zu verteilen oder die Rolle der EC2 Amazon-Instance zu verwenden, verknüpfen Sie eine IAM Rolle mit einem Kubernetes Servicekonto und konfigurieren Sie Ihr Pods um das Dienstkonto zu verwenden.
Jede EKS Pod Identity-Zuordnung ordnet einem Dienstkonto in einem Namespace im angegebenen Cluster eine Rolle zu. Wenn Sie dieselbe Anwendung in mehreren Clustern haben, können Sie in jedem Cluster identische Zuordnungen vornehmen, ohne die Vertrauensrichtlinie der Rolle zu ändern.
Wenn ein Pod ein Dienstkonto verwendet, das über eine Verknüpfung verfügt, EKS legt Amazon Umgebungsvariablen in den Containern des Pods fest. Die Umgebungsvariablen konfigurieren die AWS SDKs, einschließlich der AWS CLI, für die Verwendung der EKS Pod-Identity-Anmeldeinformationen.
Vorteile von EKS Pod-Identitäten
EKSPod-Identitäten bieten die folgenden Vorteile:
-
Geringste Rechte — Sie können IAM Berechtigungen auf ein Dienstkonto beschränken, und zwar nur Pods Personen, die dieses Dienstkonto verwenden, haben Zugriff auf diese Berechtigungen. Mit diesem Feature entfällt auch die Notwendigkeit von Drittanbieterlösungen wie
kiam
oderkube2iam
. -
Isolierung von Anmeldeinformationen — A Pod's Container können nur Anmeldeinformationen für die IAM Rolle abrufen, die dem vom Container verwendeten Dienstkonto zugeordnet ist. Ein Container hat niemals Zugriff auf Anmeldeinformationen, die von anderen Containern in anderen Containern verwendet werden Pods. Bei der Verwendung von Pod Identities Pod's Container haben auch die der EKSIAMAmazon-Knotenrolle zugewiesenen Berechtigungen, es sei denn, Sie blockieren Pod Zugriff auf den Amazon EC2 Instance Metadata Service (IMDS). Weitere Informationen finden Sie unter Beschränken Sie den Zugriff auf das Instance-Profil, das dem Worker-Knoten zugewiesen ist
. -
Überprüfbarkeit — Der Zugriff und die Protokollierung von Ereignissen sind über verfügbar AWS CloudTrail , um nachträgliche Prüfungen zu erleichtern.
EKSPod Identity ist eine einfachere Methode alsIAM-Rollen für Servicekonten, da diese Methode nicht verwendet OIDC Identitätsanbieter. EKSPod Identity bietet die folgenden Verbesserungen:
-
Unabhängiger Betrieb — In vielen Organisationen OIDC Für Identitätsanbieter sind andere Teams verantwortlich als für die Verwaltung der Kubernetes Cluster erwägen. EKSPod Identity verfügt über eine klare Aufgabentrennung, bei der die gesamte Konfiguration der EKS Pod Identity-Verknüpfungen in Amazon EKS und die gesamte Konfiguration der IAM Berechtigungen in erfolgtIAM.
-
Wiederverwendbarkeit — EKS Pod Identity verwendet einen einzigen IAM Prinzipal anstelle der separaten Prinzipale für jeden Cluster, den IAM Rollen für Dienstkonten verwenden. Ihr IAM Administrator fügt der Vertrauensrichtlinie jeder Rolle den folgenden Prinzipal hinzu, damit sie von EKS Pod Identities verwendet werden kann.
"Principal": { "Service": "pods.eks.amazonaws.com" }
-
Skalierbarkeit — Jeder Satz temporärer Anmeldeinformationen wird von der EKS Auth Dienst in EKS Pod Identity, nicht in jedem AWS SDK, den Sie in jedem Pod ausführen. Anschließend gibt der Amazon EKS Pod Identity Agent, der auf jedem Knoten ausgeführt wird, die Anmeldeinformationen an den ausSDKs. Dadurch wird die Last für jeden Knoten reduziert und nicht in jedem Pod dupliziert. Weitere Details zu diesem Prozess finden Sie unter Verstehe wie EKS Pod Identity funktioniert.
Weitere Informationen zum Vergleich der beiden Alternativen finden Sie unter Gewähren Sie Kubernetes-Workloads Zugriff auf die Verwendung von AWSKubernetes Dienstkonten.
Überblick über die Einrichtung von EKS Pod-Identitäten
Gehen Sie wie folgt vor, um EKS Pod-Identitäten zu aktivieren:
-
Richten Sie den Amazon EKS Pod Identity Agent ein – Sie führen dieses Verfahren für jeden Cluster nur einmal durch.
-
Weisen Sie eine zu IAM Rolle einem Kubernetes Dienstkonto – Führen Sie dieses Verfahren für jeden eindeutigen Satz von Berechtigungen aus, über den eine Anwendung verfügen soll.
-
Konfiguration pods um mit AWS Dienstkonten auf Dienste zuzugreifen— Führen Sie dieses Verfahren für jedes Pod das benötigt Zugriff auf AWS-Services.
-
Verwenden Sie Pod Identity mit dem AWS SDK— Vergewissern Sie sich, dass AWS SDK der Workload eine unterstützte Version verwendet und dass der Workload die standardmäßige Anmeldeinformationskette verwendet.
EKSÜberlegungen zur Pod-Identität
-
Sie können jeder IAM Rolle eine Rolle zuordnen Kubernetes Dienstkonto in jedem Cluster. Sie können ändern, welche Rolle dem Dienstkonto zugeordnet ist, indem Sie die EKS Pod Identity-Zuordnung bearbeiten.
-
Sie können nur Rollen zuordnen, die sich im selben AWS-Konto Cluster befinden. Sie können den Zugriff von einem anderen Konto auf die Rolle in diesem Konto delegieren, die Sie für die Verwendung von EKS Pod-Identitäten konfigurieren. Eine Anleitung zum Delegieren von Zugriff und
AssumeRole
finden Sie unter AWS Kontoübergreifendes Delegieren des Zugriffs mithilfe von IAM Rollen im Benutzerhandbuch. IAM -
Der EKS Pod Identity Agent ist erforderlich. Er läuft als Kubernetes
DaemonSet
auf Ihren Knoten und stellt nur Anmeldeinformationen für Pods auf dem Knoten bereit, auf dem es ausgeführt wird. -
Der EKS Pod Identity Agent verwendet den
hostNetwork
des Knotens und verwendet Port80
und Port2703
an einer link-lokalen Adresse auf dem Knoten. Diese Adresse ist für169.254.170.23
IPv4 und[fd00:ec2::23]
für IPv6 Cluster erwägen.Wenn Sie
IPv6
Adressen deaktivieren oder auf andere WeiseIPv6
Localhost-IP-Adressen verhindern, kann der Agent nicht gestartet werden. Um den Agenten auf Knoten zu starten, die nicht verwendet werden könnenIPv6
, folgen Sie den Schritten unter IPv6Im EKS Pod Identity Agent deaktivieren So deaktivieren Sie dieIPv6
Konfiguration.
EKSPod Identity-Cluster-Versionen
Um EKS Pod-Identitäten verwenden zu können, muss der Cluster über eine Plattformversion verfügen, die mit der in der folgenden Tabelle aufgeführten Version identisch oder höher ist, oder eine Kubernetes Version, die später ist als die in der Tabelle aufgeführten Versionen.
Kubernetes version | Plattformversion |
---|---|
1.30 |
eks.2 |
1.29 |
eks.1 |
1.28 |
eks.4 |
1.27 |
eks.8 |
1.26 |
eks.9 |
1.25 |
eks.10 |
1.24 |
eks.13 |