Funktionsweise von Amazon EKS mit IAM - Amazon EKS

Funktionsweise von Amazon EKS mit IAM

Bevor Sie IAM verwenden, um den Zugriff auf Amazon EKS zu verwalten, sollten Sie verstehen, welche IAM-Funktionen für die Verwendung mit Amazon EKS verfügbar sind. Einen Überblick darüber, wie Amazon EKS und andere AWS-Services mit IAM arbeiten, finden Sie unter AWS-Services, die mit IAM arbeiten im IAM-Benutzerhandbuch.

Identitätsbasierte Amazon-EKS-Richtlinien

Mit identitätsbasierten IAM-Richtlinien können Sie angeben, welche Aktionen und Ressourcen zugelassen oder abgelehnt werden. Darüber hinaus können Sie die Bedingungen festlegen, unter denen Aktionen zugelassen oder abgelehnt werden. Amazon EKS unterstützt bestimmte Aktionen, Ressourcen und Zustandsschlüssel. Informationen zu sämtlichen Elementen, die Sie in einer JSON-Richtlinie verwenden, finden Sie in der IAM-Referenz für JSON-Richtlinienelemente im IAM-Benutzerhandbuch.

Aktionen

Administratoren können mit AWS-JSON-Richtlinien festlegen, welche Personen zum Zugriff auf welche Ressourcen berechtigt sind. Das heißt, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen.

Das Element Action einer JSON-Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Richtlinienaktionen haben normalerweise denselben Namen wie die zugehörige AWS-API-Operation. Es gibt einige Ausnahmen, z. B. Aktionen, die nur mit Genehmigung durchgeführt werden können und für die es keinen passenden API-Vorgang gibt. Es gibt auch einige Operationen, die mehrere Aktionen in einer Richtlinie erfordern. Diese zusätzlichen Aktionen werden als abhängige Aktionen bezeichnet.

Schließen Sie Aktionen in eine Richtlinie ein, um Berechtigungen zur Durchführung der zugeordneten Operation zu erteilen.

Richtlinienaktionen in Amazon EKS verwenden das folgende Präfix vor der Aktion: eks:. Um jemandem beispielsweise die Berechtigung zum Abrufen von Informationen zu einem Amazon-EKS-Cluster zu erteilen, fügen Sie die Aktion DescribeCluster in seine Richtlinie ein. Richtlinienanweisungen müssen entweder ein Action- oder ein NotAction-Element enthalten.

Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:

"Action": ["eks:action1", "eks:action2"]

Sie können auch Platzhalter verwenden, um mehrere Aktionen anzugeben. Beispielsweise können Sie alle Aktionen festlegen, die mit dem Wort Describe beginnen, einschließlich der folgenden Aktion:

"Action": "eks:Describe*"

Eine Liste der Amazon-EKS-Aktionen finden Sie unter Von Amazon Elastic Kubernetes Service definierte Aktionen in der Serviceautorisierungsreferenz.

Ressourcen

Administratoren können mit AWS-JSON-Richtlinien festlegen, welche Personen zum Zugriff auf welche Ressourcen berechtigt sind. Das bedeutet die Festlegung, welcher Prinzipal Aktionen für welche Ressourcen unter welchen Bedingungen ausführen kann.

Das JSON-Richtlinienelement Resource gibt die Objekte an, auf die die Aktion angewendet wird. Anweisungen müssen entweder ein Resource- oder ein NotResource-Element enthalten. Als bewährte Methode geben Sie eine Ressource mit dem zugehörigen Amazon-Ressourcennamen (ARN) an. Sie können dies für Aktionen tun, die einen bestimmten Ressourcentyp unterstützen, der als Berechtigungen auf Ressourcenebene bezeichnet wird.

Verwenden Sie für Aktionen, die keine Berechtigungen auf Ressourcenebene unterstützen, z. B. Auflistungsoperationen, einen Platzhalter (*), um anzugeben, dass die Anweisung für alle Ressourcen gilt.

"Resource": "*"

Die Amazon-EKS-Cluster-Ressource verfügt über den folgenden ARN:

arn:${Partition}:eks:${Region}:${Account}:cluster/${ClusterName}

Weitere Informationen zum Format von ARNs finden Sie unter Amazon-Ressourcennamen (ARNs) und AWS-Service-Namespaces.

Um beispielsweise den Cluster dev in Ihrer Anweisung anzugeben, verwenden Sie den folgenden ARN:

"Resource": "arn:aws:eks:region-code:111122223333:cluster/dev"

Um alle Cluster anzugeben, die zu einem bestimmten Konto und einer bestimmten AWS-Region gehören, verwenden Sie den Platzhalter (*):

"Resource": "arn:aws:eks:region-code:111122223333:cluster/*"

Einige Amazon-EKS-Aktionen, z. B. das Erstellen von Ressourcen, können auf bestimmten Ressourcen nicht ausgeführt werden. In diesen Fällen müssen Sie den Platzhalter (*) verwenden.

"Resource": "*"

Eine Liste der Amazon-EKS-Ressourcentypen und ihrer ARNs finden Sie unter Von Amazon Elastic Kubernetes Service definierte Ressourcen in der Service-Autorisierungsreferenz. Um zu erfahren, mit welchen Aktionen Sie den ARN jeder Ressource angeben können, lesen Sie von Amazon Elastic Kubernetes Service definierte Aktionen.

Bedingungsschlüssel

Amazon EKS definiert seinen eigenen Satz von Konditionsschlüsseln und unterstützt auch die Verwendung einiger globaler Konditionsschlüssel. Eine Liste aller globalen AWS-Bedingungsschlüssel finden Sie unter Globale AWS-Bedingungskontextschlüssel im IAM-Benutzerhandbuch.

Sie können Bedingungsschlüssel festlegen, wenn Sie Ihrem Cluster einen OpenID Connect-Anbieter zuordnen. Weitere Informationen finden Sie unter Beispiel für eine IAM-Richtlinie.

Alle Amazon EC2-Aktionen unterstützen die Bedingungsschlüssel aws:RequestedRegion und ec2:Region. Weitere Informationen finden Sie unter Beispiel: Einschränken des Zugriffs auf eine bestimmte AWS-Region.

Eine Liste der Amazon EKS-Bedingungsschlüssel finden Sie unter Bedingungsschlüssel für Amazon Elastic Kubernetes Service in der Service-Autorisierungsreferenz. Um zu erfahren, mit welchen Aktionen und Ressourcen Sie einen Bedingungsschlüssel verwenden können, lesen Sie von Amazon Elastic Kubernetes Service definierte Aktionen.

Beispiele

Beispiele für identitätsbasierte Amazon-EKS-Richtlinien finden Sie unter Beispiele für identitätsbasierte Amazon-EKS-Richtlinien.

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.

Ressourcenbasierte Amazon-EKS-Richtlinien

Amazon EKS unterstützt keine ressourcenbasierten Richtlinien.

Autorisierung auf der Basis von Amazon-EKS-Tags

Sie können Tags an Amazon-EKS-Ressourcen anhängen oder Tags in einer Anforderung an Amazon EKS übergeben. Um den Zugriff auf der Grundlage von Tags zu steuern, geben Sie im Bedingungselement einer Richtlinie Tag-Informationen an, indem Sie die Schlüssel eks:ResourceTag/<key-name>, aws:RequestTag/<key-name>, oder aws:TagKeysBedingung verwenden. Weitere Informationen über die Markierung von Amazon-EKS-Ressourcen finden Sie unter Kennzeichnen Ihrer Amazon EKS-Ressourcen .

Amazon EKS IAM-Rollen

Eine IAM-Rolle ist eine Entität in Ihrem AWS-Konto mit spezifischen Berechtigungen.

Verwenden temporärer Anmeldeinformationen mit Amazon EKS

Sie können temporäre Anmeldeinformationen verwenden, um sich über einen Verbund anzumelden, eine IAM-Rolle anzunehmen oder eine kontenübergreifende Rolle anzunehmen. Temporäre Sicherheitsanmeldeinformationen erhalten Sie durch Aufrufen von AWS STS-API-Vorgängen wie AssumeRole oder GetFederationToken.

Amazon EKS unterstützt die Verwendung temporärer Anmeldeinformationen.

Serviceverknüpfte Rollen

Serviceverknüpfte Rollen erlauben AWS-Services den Zugriff auf Ressourcen in anderen Services, um eine Aktion in Ihrem Auftrag auszuführen. Serviceverknüpfte Rollen werden in Ihrem IAM-Konto angezeigt und gehören zum Service. Ein IAM-Administrator kann die Berechtigungen für serviceverknüpfte Rollen anzeigen, aber nicht bearbeiten.

Amazon EKS unterstützt Service-verknüpfte Rollen. Details zum Erstellen oder Verwalten von serviceverknüpften Amazon-EKS-Rollen finden Sie unter Verwendung von serviceverknüpften Rollen für Amazon EKS.

Servicerollen

Diese Funktion ermöglicht einem Service das Annehmen einer Servicerolle in Ihrem Namen. Diese Rolle gewährt dem Service Zugriff auf Ressourcen in anderen Services, um eine Aktion in Ihrem Namen auszuführen. Servicerollen werden in Ihrem IAM-Konto angezeigt und gehören zum Konto. Dies bedeutet, dass ein IAM-Administrator die Berechtigungen für diese Rolle ändern kann. Dies kann jedoch die Funktionalität des Services beeinträchtigen.

Amazon EKS unterstützt Servicerollen. Weitere Informationen finden Sie unter Amazon-EKS-Cluster-IAM-Rolle und Amazon-EKS-Knoten-IAM-Rolle.

Auswählen einer IAM-Rolle in Amazon EKS

Wenn Sie eine Clusterressource in Amazon EKS erstellen, müssen Sie eine Rolle auswählen, damit Amazon EKS in Ihrem Namen auf mehrere andere AWS-Ressourcen zugreifen kann. Wenn Sie zuvor eine Servicerolle erstellt haben, stellt Ihnen Amazon EKS eine Liste der Rollen bereit, aus denen Sie auswählen können. Es ist wichtig, eine Rolle auszuwählen, an die die von Amazon EKS verwalteten Richtlinien angefügt sind. Weitere Informationen finden Sie unter Überprüfen, ob eine Clusterrolle vorhanden ist und Nach einer vorhandenen Knotenrolle suchen.