Logik für die kontenübergreifende Richtlinienauswertung - AWS Identitäts- und Zugriffsverwaltung

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.

Logik für die kontenübergreifende Richtlinienauswertung

Sie können einem Auftraggeber in einem Konto gestatten, auf Ressourcen in einem zweiten Konto zuzugreifen. Dies wird als kontenübergreifender Zugriff bezeichnet. Wenn Sie kontenübergreifenden Zugriff zulassen, wird das Konto, in dem der Auftraggeber existiert, als vertrauenswürdiges-Konto bezeichnet. Das Konto, in dem die Ressource existiert, ist das vertrauende Konto.

Um den kontenübergreifenden Zugriff zu ermöglichen, weisen Sie eine ressourcenbasierte Richtlinie für die freizugebende Ressource zu. Sie müssen außerdem eine identitätsbasierte Richtlinie für die Identität zuweisen, die in der Anforderung als Prinzipal fungiert. Die ressourcenbasierte Richtlinie im vertrauenden Konto muss den Auftraggeber des vertrauenswürdigen Kontos angeben, der Zugriff auf die Ressource hat. Sie können das gesamte Konto oder seine IAM Benutzer, Verbundbenutzer, IAM Rollen oder Sitzungen mit übernommenen Rollen angeben. Sie können auch eine angeben AWS Dienst als Principal. Weitere Informationen finden Sie unter Wie spezifiziert man einen Prinzipal.

Die identitätsbasierte Richtlinie des Auftraggebers muss den angeforderten Zugriff auf die Ressource im vertrauenden Service zulassen. Sie können dies tun, indem Sie die ARN der Ressource angeben oder den Zugriff auf alle Ressourcen zulassen (*).

In IAM können Sie einer Rolle eine ressourcenbasierte Richtlinie zuordnen, damit Prinzipale in anderen Konten diese IAM Rolle übernehmen können. Die ressourcenbasierte Richtlinie der Rolle wird als Rollenvertrauensrichtlinie bezeichnet. Nach dem Übernehmen dieser Rolle können die zugelassenen Auftraggeber die resultierenden temporären Anmeldeinformationen verwenden, um auf mehrere Ressourcen in Ihrem Konto zuzugreifen. Dieser Zugriff wird in der identitätsbasierten Berechtigungsrichtlinie der Rolle definiert. Informationen darüber, wie sich das Zulassen von kontenübergreifendem Zugriff mit Rollen von dem Zulassen von kontenübergreifendem Zugriff mit anderen ressourcenbasierten Richtlinien unterscheidet, finden Sie unter Kontoübergreifender Ressourcenzugriff in IAM.

Wichtig

Andere Services können sich auf die Richtlinienauswertungslogik auswirken. Zum Beispiel AWS Organizations unterstützt Dienststeuerungsrichtlinien, die auf Prinzipale mit einem oder mehreren Konten angewendet werden können. AWS Resource Access Manager unterstützt Richtlinienfragmente, die steuern, welche Aktionen Prinzipale mit Ressourcen ausführen dürfen, die mit ihnen gemeinsam genutzt werden.

Festlegen, ob eine kontenübergreifende Anforderung zulässig ist

Bei kontenübergreifenden Anforderungen muss der Anforderer in der vertrauenswürdigen AccountA eine identitätsbasierte Richtlinie haben. Diese Richtlinie muss ihnen gestatten, eine Anforderung an die Ressource in der vertrauenden AccountB zu stellen. Zusätzlich muss die ressourcenbasierte Richtlinie in AccountB dem Anforderer in AccountA den Zugriff auf die Ressource gestatten.

Wenn Sie eine kontoübergreifende Anfrage stellen, AWS führt zwei Bewertungen durch. AWS bewertet die Anfrage im vertrauenswürdigen Konto und im vertrauenswürdigen Konto. Weitere Informationen darüber, wie eine Anforderung innerhalb eines einzelnen Kontos ausgewertet wird, finden Sie unter Ermitteln, ob eine Anforderung innerhalb eines Kontos zugelassen oder verweigert wird. Die Anforderung ist nur dann zulässig, wenn beide Auswertungen eine Entscheidung von Allow zurückgeben.

Kontoübergreifende Auswertung
  1. Wenn ein Auftraggeber in einem Konto eine Anforderung für den Zugriff auf eine Ressource in einem anderen Konto stellt, ist dies eine kontenübergreifende Anforderung.

  2. Der anfordernde Auftraggeber ist im vertrauenswürdigen Konto (AccountA) vorhanden. Wann AWS bewertet dieses Konto und überprüft die identitätsbasierte Richtlinie sowie alle Richtlinien, die eine identitätsbasierte Richtlinie einschränken können. Weitere Informationen finden Sie unter Auswerten von Richtlinien in einem einzelnen Konto.

  3. Die angeforderte Ressource ist im vertrauenden Konto (AccountB) vorhanden. Wann AWS bewertet dieses Konto und überprüft die ressourcenbasierte Richtlinie, die mit der angeforderten Ressource verknüpft ist, sowie alle Richtlinien, die eine ressourcenbasierte Richtlinie einschränken können. Weitere Informationen finden Sie unter Auswerten von Richtlinien in einem einzelnen Konto.

  4. AWS lässt die Anfrage nur zu, wenn beide Bewertungen der Kontorichtlinien die Anfrage zulassen.

Beispiel für kontenübergreifende Richtlinienauswertung

Das folgende Beispiel veranschaulicht ein Szenario, in dem einem Benutzer in einem Konto Berechtigungen durch eine ressourcenbasierte Richtlinie in einem zweiten Konto gewährt werden.

Gehen Sie davon aus, dass Carlos ein Entwickler mit einem IAM Benutzer mit dem carlossalazar Konto 1111111111 ist. Er möchte eine Datei im amzn-s3-demo-bucket-production-logs Amazon S3-Bucket im Konto 222222222222 speichern.

Gehen Sie außerdem davon aus, dass die folgende Richtlinie an den Benutzer angehängt ist. carlossalazar IAM

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3ListRead", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Sid": "AllowS3ProductionObjectActions", "Effect": "Allow", "Action": "s3:*Object*", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-production/*" }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::*log*", "arn:aws:s3:::*log*/*" ] } ] }

Die AllowS3ListRead-Anweisung in dieser Richtlinie erlaubt es Carlos, eine Liste aller Buckets in Amazon S3 anzuzeigen. Die AllowS3ProductionObjectActions-Anweisung gewährt Carlos Vollzugriff auf Objekte im amzn-s3-demo-bucket-production-Bucket. Die DenyS3Logs-Anweisung verweigert Carlos den Zugriff auf S3-Buckets mit der Zeichenfolge log im Namen. Außerdem wird der Zugriff auf alle Objekte in diesen Buckets verweigert.

Zusätzlich wird die folgende ressourcenbasierte Richtlinie (eine so genannte Bucket-Richtlinie) an den amzn-s3-demo-bucket-production-Bucket im Konto 222222222222 angehängt.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject*", "s3:PutObject*", "s3:ReplicateObject", "s3:RestoreObject" ], "Principal": { "AWS": "arn:aws:iam::111111111111:user/carlossalazar" }, "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-production/*" } ] }

Mit dieser Richtlinie kann der carlossalazar-Benutzer auf Objekte im amzn-s3-demo-bucket-production-Bucket zugreifen. Er kann die Objekte im Bucket erstellen und bearbeiten, aber nicht löschen. Er kann den Bucket nicht selbst verwalten.

Wenn Carlos seine Anfrage stellt, eine Datei im amzn-s3-demo-bucket-production-logs Bucket zu speichern, AWS bestimmt, welche Richtlinien für die Anfrage gelten. In diesem Fall ist die identitätsbasierte Richtlinie, die Benutzer carlossalazar zugeordnet ist, die einzige Richtlinie, die in Konto 111111111111 gilt. In Konto 222222222222 ist keine ressourcenbasierte Richtlinie für den amzn-s3-demo-bucket-production-logs-Bucket festgelegt. Wann AWS bewertet das Konto 111111111111 und gibt eine Entscheidung von Deny zurück. Das liegt daran, dass die DenyS3Logs-Anweisung in der identitätsbasierten Richtlinie den Zugriff auf alle Log-Buckets explizit verweigert. Weitere Informationen darüber, wie eine Anforderung innerhalb eines einzelnen Kontos ausgewertet wird, finden Sie unter Ermitteln, ob eine Anforderung innerhalb eines Kontos zugelassen oder verweigert wird.

Da die Anforderung innerhalb eines der Konten explizit verweigert wird, besteht die endgültige Entscheidung darin, die Anforderung zu verweigern.

Anfrage an amzn-s3-bucket demo-bucket-production-logs

Gehen Sie davon aus, dass Carlos dann seinen Fehler erkennt und versucht, die Datei im Bucket zu speichern. Production AWS überprüft zunächst das Konto111111111111, um festzustellen, ob die Anfrage zulässig ist. Es gilt nur die identitätsbasierte Richtlinie, die die Anfrage zulässt. AWS überprüft dann das Konto. 222222222222 Nur die ressourcenbasierte Richtlinie, die dem Production-Bucket zugeordnet ist, gilt und lässt die Anforderung zu. Da beide Konten die Anforderung zulassen, besteht die endgültige Entscheidung darin, die Anforderung zuzulassen.

Anforderung an den Produktions-Bucket