Serviceübergreifende Vermeidung verwirrter Stellvertreter in Amazon EKS - Amazon EKS

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.

Serviceübergreifende Vermeidung verwirrter Stellvertreter in Amazon EKS

Das Problem des verwirrten Stellvertreters ist ein Sicherheitsproblem, bei dem eine Entität, die keine Berechtigung zur Durchführung einer Aktion hat, eine privilegiertere Entität zur Durchführung der Aktion zwingen kann. In AWS kann der serviceübergreifende Identitätswechsel zu Confused-Deputy-Problem führen. Ein serviceübergreifender Identitätswechsel kann auftreten, wenn ein Service (der Anruf-Service) einen anderen Service anruft (den aufgerufenen Service). Der Aufruf-Service kann so manipuliert werden, dass er seine Berechtigungen verwendet, um auf die Ressourcen eines anderen Kunden zu reagieren, auf die er sonst nicht zugreifen dürfte. Um dies zu verhindern, bietet AWS Tools, mit denen Sie Ihre Daten für alle Services mit Serviceprinzipalen schützen können, die Zugriff auf Ressourcen in Ihrem Konto erhalten haben.

Wir empfehlen die Verwendung der globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount in Ressourcenrichtlinien, um die Berechtigungen einzuschränken, die Amazon Elastic Kubernetes Service (Amazon EKS) einem anderen Service für die Ressource gewährt.

aws:SourceArn

Verwenden Sie aws:SourceArn, um nur einer Ressource den serviceübergreifenden Zugriff zuzuordnen.

aws:SourceAccount

Verwenden Sie aws:SourceAccount, um jede Ressource in diesem Konto der serviceübergreifenden Nutzung zuzuordnen.

Der effektivste Weg, um sich vor dem Confused-Deputy-Problem zu schützen, ist die Verwendung des globalen Bedingungskontext-Schlüssels aws:SourceArn mit dem vollständigen ARN der Ressource. Wenn Sie die vollständige ARN der Ressource nicht kennen oder mehrere Ressourcen angeben, verwenden Sie den globalen Kontextbedingungsschlüssel aws:SourceArn mit Platzhalterzeichen (*) für die unbekannten Teile der ARN. Beispiel, arn:aws:<servicename>:*:<123456789012>:*.

Wenn der aws:SourceArn-Wert die Konto-ID nicht enthält, z. B. einen Amazon-S3-Bucket-ARN, müssen Sie sowohl aws:SourceAccount als auch aws:SourceArn verwenden, um Berechtigungen einzuschränken.

Serviceübergreifende Vermeidung verwirrter Stellvertreter in Amazon-EKS-Cluster-Rollen

Für jeden Cluster ist eine IAM-Rolle für Amazon-EKS-Cluster erforderlich. Von Amazon EKS verwaltete Kubernetes-Cluster verwenden diese Rolle zur Verwaltung von Knoten, und der veraltete Cloud-Anbieter nutzt diese Rolle, um Load Balancer mit Elastic Load Balancing für Services zu erstellen. Diese Cluster-Aktionen können sich nur auf dasselbe Konto auswirken. Daher empfehlen wir, jede Cluster-Rolle auf diesen Cluster und dieses Konto zu beschränken. Dies ist eine spezifische Anwendung der AWS-Empfehlung, in Ihrem Konto dem Prinzip der geringsten Berechtigung zu folgen.

Format der Quell-ARN

Der Wert von aws:SourceArn muss die ARN eines EKS-Clusters im Format arn:aws:eks:region:account:cluster/cluster-name sein. Beispiel, arn:aws:eks:us-west-2:123456789012:cluster/my-cluster.

Format für Vertrauensrichtlinie für EKS-Cluster-Rollen

Das folgende Beispiel zeigt, wie Sie die globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount für Amazon EKS verwenden können, um das Problem mit verwirrtem Stellvertreter zu verhindern.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }