So unterscheiden sich IAM-Rollen von ressourcenbasierten Richtlinien - AWS Identity and Access Management

So unterscheiden sich IAM-Rollen von ressourcenbasierten Richtlinien

Bei einigen AWS-Services können Sie kontenübergreifenden Zugriff auf Ihre Ressourcen gewähren. Fügen Sie dazu der Ressource, die Sie freigeben möchten, direkt eine Richtlinie an, anstatt eine Rolle als Proxy zu verwenden. Die Ressource, die Sie freigeben möchten, muss ressourcenbasierte Richtlinien unterstützen. Im Gegensatz zu einer identitätsbasierten Richtlinie legt eine ressourcenbasierte Richtlinie fest, wer (welcher Prinzipal) auf diese Ressource zugreifen kann.

Anmerkung

IAM Rollen und ressourcenbasierte Richtlinien delegieren den Zugriff auf Konten nur innerhalb einer einzelnen Partition. Angenommen, Sie haben ein Konto in USA West (Nordkalifornien) in der aws-Standardpartition. Sie haben auch ein Konto in China (Peking) in der aws-cn-Partition. Sie können keine ressourcenbasierte Amazon S3-Richtlinie in Ihrem Konto in China (Peking) verwenden, um Benutzern in Ihrem aws-Standardkonto Zugriff zu gewähren.

Der kontenübergreifende Zugriff mit einer ressourcenbasierten Richtlinie hat einige Vorteile gegenüber dem kontenübergreifenden Zugriff mit einer Rolle. Bei einer Ressource, auf die über eine ressourcenbasierte Richtlinie zugegriffen wird, arbeitet der Prinzipal weiterhin im vertrauenswürdigen Konto und muss seine Berechtigungen nicht aufgeben, um die Berechtigungen der Rolle zu erhalten. Mit anderen Worten, der Prinzipal hat nach wie vor Zugriff auf Ressourcen im vertrauenswürdigen Konto, aber gleichzeitig auch Zugriff auf die Ressource im vertrauenden Konto. Dies ist nützlich für Aufgaben wie das Kopieren von Daten in die oder aus der gemeinsam genutzten Ressource im anderen Konto.Informationen darüber, ob Prinzipalen in Konten außerhalb Ihrer Vertrauenszone (vertrauenswürdige Organisation oder Konto) Zugriff zur Annahme Ihrer Rollen haben, finden Sie unter Was ist IAM Access Analyzer?.

Zu den Prinzipalen, die Sie in einer ressourcenbasierten Richtlinie angeben können, gehören Konten, IAM-Benutzer, Verbundbenutzer, IAM-Rollen, Sitzungen mit angenommenen Rollen oder AWS-Services. Weitere Informationen finden Sie unter Angeben eines Prinzipals.

Die folgende Liste enthält einige der AWS-Services, die ressourcenbasierte Richtlinien unterstützen. Eine vollständige Liste der wachsenden Anzahl von AWS-Services, die das Anfügen von Berechtigungsrichtlinien an Ressourcen anstelle von Prinzipalen unterstützen, finden Sie unter AWS-Services, die mit IAM funktionieren. Suchen Sie hier die Services, die Ja in der Spalte Ressourcenbasiert aufweisen.

  • Amazon S3-Buckets – Die Richtlinie ist dem Bucket angefügt, allerdings steuert die Richtlinie sowohl den Zugriff auf den Bucket als auch auf die darin befindlichen Objekte. Weitere Informationen finden Sie unter Zugriffskontrolle im Entwicklerhandbuch für Amazon Simple Storage Service.

    In einigen Fällen kann es sinnvoll sein, Rollen für den kontenübergreifenden Zugriff auf Amazon S3 zu verwenden. Weitere Informationen finden Sie in den Beispielanleitungen im Entwicklerhandbuch für Amazon Simple Storage Service.

  • Amazon Simple Notification Service (Amazon SNS)-Themen – Weitere Informationen finden Sie unter Verwaltung von Zugriffsberechtigungen für Ihre Amazon SNS-Themen im Entwicklerhandbuch für Amazon Simple Notification Service.

  • Amazon Simple Queue Service (Amazon SQS)-Warteschlangen – Weitere Informationen finden Sie unter Anhang: Die Sprache der Zugriffsrichtlinien im Amazon Simple Queue Service-Entwicklerhandbuch.

Informationen zum Erteilen von AWS-Berechtigungen in einer ressourcenbasierten Richtlinie

Wenn eine Ressource den Prinzipalen in Ihrem Konto Berechtigungen gewährt, können Sie diese Berechtigungen dann an bestimmte IAM-Identitäten delegieren. Identitäten sind Benutzer, Benutzergruppen oder Rollen in Ihrem Konto. Sie delegieren Berechtigungen, indem Sie eine Richtlinie mit der Identität verknüpfen. Sie können maximal die vom ressourcenbesitzenden Konto gewährten Berechtigungen gewähren.

Nehmen Sie an, dass eine ressourcenbasierte Richtlinie allen Prinzipalen in Ihrem Konto vollen administrativen Zugriff auf eine Ressource gewährt. Dann können Sie Prinzipalen in Ihrem AWS-Konto vollen Zugriff, Nur-Lese-Zugriff oder jeden anderen Teilzugriff gewähren. Wenn die ressourcenbasierte Richtlinie nur Listenberechtigungen gewährt, können Sie alternativ nur den Listenzugriff delegieren. Wenn Sie versuchen, mehr Berechtigungen zu delegieren, als Ihr Konto hat, haben Ihre Prinzipale immer noch nur Listenzugriff. Informationen zum Zuweisen einer Richtlinie an eine IAM-Identität finden Sie unter Verwalten von IAMRichtlinien.

Anmerkung

IAM Rollen und ressourcenbasierte Richtlinien delegieren den Zugriff auf Konten nur innerhalb einer einzelnen Partition. Beispielsweise können Sie keinen kontenübergreifenden Zugriff zwischen einem Konto in der aws-Standardpartition und einem Konto in der aws-cn-Partition hinzufügen.

Nehmen Sie beispielsweise an, dass Sie AccountA und AccountB verwalten. In AccountA haben Sie den Amazon S3-Bucket namens BucketA. Sie weisen BucketA eine ressourcenbasierte Richtlinie zu, die allen Prinzipalen in AccountB Vollzugriff auf Objekte in Ihrem Bucket gewährt. Sie können beliebige Objekte in diesem Bucket erstellen, lesen oder löschen. In AccountB weisen Sie dem IAM-Benutzer mit dem Namen User2 eine Richtlinie zu. Diese Richtlinie erlaubt dem Benutzer nur Lesezugriff auf die Objekte in BucketA. Das bedeutet, dass User2 die Objekte anzeigen, aber nicht erstellen, bearbeiten oder löschen kann.


        Erteilen des Zugriffs auf ein AWS-Konto
  1. AccountA gewährt AccountB Vollzugriff auf BucketA durch die Benennung von AccountB als Prinzipal in der ressourcenbasierten Richtlinie. Folglich ist AccountB berechtigt, jede Aktion an BucketA auszuführen, und der AccountB-Administrator kann den Zugriff an seine Benutzer in AccountB delegieren.

  2. Der AccountB Root-Benutzer verfügt über alle Berechtigungen, die dem Konto gewährt werden. Daher hat der Root-Benutzer Vollzugriff auf BucketA.

  3. Der AccountB-Administrator gewährt keinen Zugriff auf User1. Standardmäßig haben Benutzer keine anderen Berechtigungen als die, die explizit gewährt werden. Daher hat der User1 keinen Zugriff auf BucketA.

  4. Der AccountB-Administrator gewährt User2 nur Lesezugriff auf BucketA. User2 kann die Objekte im Bucket anzeigen. Die maximale Zugriffsebene, die AccountB delegieren kann, ist die Zugriffsebene, die dem Konto gewährt wird. In diesem Fall gewährt die ressourcenbasierte Richtlinie Vollzugriff auf AccountB, aber User2 wird nur der schreibgeschützte Zugriff gewährt.

IAM wertet die Berechtigungen eines Prinzipals zu dem Zeitpunkt aus, zu dem der Prinzipal eine Anfrage stellt. Wenn Sie daher Platzhalter (*) verwenden, um Benutzern Vollzugriff auf Ihre Ressourcen zu gewähren, können Prinzipale auf alle Ressourcen zugreifen, auf die Ihr AWS-Konto Zugriff hat. Dies gilt auch für Ressourcen, die Sie nach der Erstellung der Benutzerrichtlinie hinzufügen oder auf die Sie Zugriff erhalten.

Hätte AccountB im vorhergehenden Beispiel eine Richtlinie zu User2 zugewiesen, die Vollzugriff auf alle Ressourcen in allen Konten gewährt, hätte User2 automatisch Zugriff auf alle Ressourcen, auf die AccountB Zugriff hat. Dies schließt den BucketA-Zugriff und den Zugriff auf alle anderen Ressourcen ein, die durch ressourcenbasierte Richtlinien in AccountA gewährt werden.

Wichtig

Gewähren Sie nur Zugriff auf Entitäten, denen Sie vertrauen, und gewähren Sie nur das erforderliche Mindestmaß an Zugriff. Wenn es sich bei der vertrauenswürdigen Entität um ein anderes AWS-Konto handelt, kann dieses Konto im Gegenzug all seinen IAM-Benutzern Zugriff gewähren. Das vertrauenswürdige AWS-Konto kann nur in dem Umfang Zugriff gewähren, indem ihm selber Zugriff erteilt wurde. Es kann nicht mehr Zugriff gewähren, als ihm selbst erteilt wurde.

Weitere Informationen über Berechtigungen, Richtlinien und die Sprache der Berechtigungsrichtlinie, mit der Sie die Richtlinien erstellen, finden Sie unter Zugriffsverwaltung.