Berechtigungen und Richtlinien in IAM - AWS Identity and Access Management

Berechtigungen und Richtlinien in IAM

Sie verwalten den Zugriff in AWS, indem Sie Richtlinien erstellen und diese an IAM-Identitäten (Benutzer, Benutzergruppen oder Rollen) oder AWS-Ressourcen anfügen. Eine Richtlinie ist ein Objekt in AWS, das, wenn es einer Identität oder Ressource zugeordnet wird, deren Berechtigungen definiert. AWS wertet diese Richtlinien aus, wenn ein IAM-Auftraggeber (Benutzer oder Rolle) eine Anforderung ausgibt. Berechtigungen in den Richtlinien bestimmen, ob die Anforderung zugelassen oder abgelehnt wird. Die meisten Richtlinien werden in AWS als JSON-Dokumente gespeichert. AWS unterstützt sechs Richtlinientypen: identitätsbasierte Richtlinien, ressourcenbasierte Richtlinien, Berechtigungsgrenzen, Organizations-SCPs, ACLs und Sitzungsrichtlinien.

IAM-Richtlinien definieren Berechtigungen für eine Aktion unabhängig von der Methode, die Sie zur Ausführung der Aktion verwenden. Wenn beispielsweise eine Richtlinie die GetUser-Aktion erlaubt, kann ein Benutzer mit dieser Richtlinie Benutzerinformationen über die AWS Management Console, die AWS CLI oder die AWS-API abrufen. Wenn Sie einen IAM-Benutzer erstellen, können Sie auswählen, ob Konsolen- oder Programmzugriff erlaubt sind. Wenn Konsolenzugriff erlaubt ist, kann sich der IAM-Benutzer mit einem Benutzernamen und Passwort an der Konsole anmelden. Oder wenn der programmatische Zugriff zulässig ist, kann der Benutzer Zugriffsschlüssel verwenden, um mit der CLI oder der API zu arbeiten.

Richtlinientypen

Die folgenden Richtlinientypen, aufgelistet in der Reihenfolge von am häufigsten verwendeten bis zu seltener verwendeten, stehen für die Verwendung in AWS. Weitere Informationen finden Sie in den folgenden Abschnitten zu den einzelnen Richtlinientypen.

  • Identitätsbasierte Richtlinien – Fügen Sie verwaltete Richtlinien und Inline-Richtlinien an IAM-Identitäten (Benutzer, Gruppen, zu denen Benutzer gehören, oder Rollen) an. Identitätsbasierte Richtlinien erteilen Berechtigungen für eine Identität.

  • Ressourcenbasierte Richtlinien – Fügen Inline-Richtlinien an Ressourcen an. Die häufigsten Beispiele für ressourcenbasierte Richtlinien sind Amazon S3-Bucket-Richtlinien und Vertrauensrichtlinien für IAM-Rollen. Ressourcenbasierte Richtlinien erteilen dem Auftraggeber Berechtigungen, der in der Richtlinie angegeben ist. Auftraggeber können sich in demselben Konto wie die Ressource oder in anderen Konten befinden.

  • Berechtigungsgrenzen – Verwenden Sie eine verwaltete Richtlinie als Berechtigungsgrenze für eine IAM-Entität (Benutzer oder Rolle). Diese Richtlinie definiert die maximalen Berechtigungen, die die identitätsbasierten Richtlinien einer Entität erteilen können, sie erteilt jedoch keine Berechtigungen. Berechtigungsgrenzen definieren nicht die maximalen Berechtigungen, die eine ressourcenbasierte Richtlinie einer Entität erteilen kann.

  • Organizations-SCPs – Verwenden Sie eine AWS Organizations-Service-Kontrollrichtlinie (Service Control Policy, SCP), um die maximalen Berechtigungen für Kontomitglieder einer Organisation oder Organisationseinheit (OU) zu definieren. SCPs schränken Berechtigungen ein, die identitätsbasierte Richtlinien oder ressourcenbasierte Richtlinien Entitäten (Benutzern oder Rollen) innerhalb des Kontos erteilen, aber sie gewähren keine Berechtigungen.

  • Zugriffssteuerungslisten (ACLs) – Verwenden Sie ACLs, um zu kontrollieren, welche Auftraggeber in anderen Konten auf eine Ressource zugreifen dürfen, an die die ACL angefügt ist. ACLs sind ähnlich wie ressourcenbasierten Richtlinien, obwohl sie der einzige Richtlinientyp sind, der die JSON-Richtliniendokumentstruktur nicht verwendet. ACLs sind kontoübergreifende Berechtigungsrichtlinien, mit denen dem angegebenen Auftraggeber Berechtigungen erteilt werden. ACLs können keine Berechtigungen für Entitäten innerhalb desselben Kontos erteilen.

  • Sitzungsrichtlinien – Übergeben Sie eine erweiterte Sitzungsrichtlinie, wenn Sie die AWS CLI oder AWS-API verwenden, um eine Rolle oder einen Verbundbenutzer anzunehmen. Sitzungsrichtlinien begrenzen die Berechtigungen, die die identitätsbasierten Richtlinien der Rolle oder des Benutzers der Sitzung zu gewähren. Sitzungsrichtlinien begrenzen Berechtigungen für eine erstellte Sitzung, aber sie gewähren keine Berechtigungen. Weitere Informationen finden Sie unter Sitzungsrichtlinien

Identitätsbasierte Richtlinien

Identitätsbasierte Richtlinien sind JSON-Berechtigungsrichtliniendokumente, die steuern, welche Aktionen eine Identität (Benutzer, Benutzergruppen und Rollen) für welche Ressourcen und unter welchen Bedingungen ausführen kann. Identitätsbasierte Richtlinien können weiter kategorisiert werden:

  • Verwaltete Richtlinien – Dies sind eigenständige, identitätsbasierte Richtlinien, die Sie an mehrere Benutzer, Gruppen und Rollen in Ihrem AWS-Konto anfügen können. Es gibt zwei Typen von verwalteten Richtlinien:

    • Verwaltete AWS-Richtlinien –Verwaltete Richtlinien, die von AWS erstellt und verwaltet werden.

    • Vom Kunden verwaltete Richtlinien – Dies sind verwaltete Richtlinien, die Sie in Ihrem AWS-Konto erstellen und verwalten. Vom Kunden verwaltete Richtlinien bieten eine genauere Kontrolle über Ihre Richtlinien als durch AWS verwaltete Richtlinien.

  • Eingebundene Richtlinien – Richtlinien, die Sie direkt zu einem einzelnen Benutzer, einer einzelnen Gruppe oder einer einzelnen Rolle hinzufügen. Bei Inline-Richtlinien besteht eine strikte Eins-zu-Eins-Beziehung zwischen einer Richtlinie und einer Identität. Sie werden gelöscht, wenn Sie die Identität löschen.

Informationen darüber, wie Sie entscheiden können, ob Sie eine verwaltete Richtlinie oder eine Inline-Richtlinie verwenden sollten, finden Sie unter Auswahl zwischen verwalteten und eingebundenen Richtlinien.

Ressourcenbasierte Richtlinien

Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource wie einen Amazon S3-Bucket anfügen. Diese Richtlinien erteilen dem angegebenen Auftraggeber die Berechtigung zum Ausführen bestimmter Aktionen für diese Ressource und definiert, unter welchen Bedingungen dies gilt. Ressourcenbasierte Richtlinien sind Inline-Richtlinien. Es gibt keine verwalteten ressourcenbasierten Richtlinien.

Um kontoübergreifenden Zugriff zu ermöglichen, können Sie ein gesamtes Konto oder IAM-Entitäten in einem anderen Konto als Auftraggeber in einer ressourcenbasierten Richtlinie angeben. Durch das Hinzufügen eines kontoübergreifenden Auftraggebers zu einer ressourcenbasierten Richtlinie ist nur die halbe Vertrauensbeziehung eingerichtet. Wenn sich der Auftraggeber und die Ressource in separaten AWS-Konten befinden, müssen Sie auch eine identitätsbasierte Richtlinie verwenden, um dem Auftraggeber Zugriff auf die Ressource zu erteilen. Wenn jedoch eine ressourcenbasierte Richtlinie Zugriff auf einen Auftraggeber in demselben Konto gewährt, ist keine zusätzliche identitätsbasierte Richtlinie erforderlich. Eine Schritt-für-Schritt-Anleitung für die Gewährung von dienstübergreifendem Zugriff finden Sie unter Tutorial: Delegieren des Zugriffs in allen AWS-Konten mithilfe von IAM-Rollen.

Der IAM-Service unterstützt nur eine Art von ressourcenbasierter Richtlinie, die als Rollen-Vertrauensrichtlinie bezeichnet wird, die einer IAM-Rolle zugewiesen ist. Eine IAM-Rolle ist sowohl eine Identität als auch eine Ressource, die ressourcenbasierte Richtlinien unterstützt. Aus diesem Grund müssen Sie einer IAM-Rolle eine Vertrauensrichtlinie und eine identitätsbasierte Richtlinie anfügen. Vertrauensrichtlinien definieren, welche Auftraggeber-Entitäten (Konten, Benutzer, Rollen und Verbundbenutzer) die Rolle übernehmen können. Informationen darüber, inwieweit sich IAM-Rollen von anderen ressourcenbasierten Richtlinien unterscheiden, finden Sie unter So unterscheiden sich IAM-Rollen von ressourcenbasierten Richtlinien.

Informationen darüber, welche anderen Services ressourcenbasierte Richtlinien unterstützen, finden Sie unter AWS-Services, die mit IAM funktionieren. Weitere Informationen zu ressourcenbasierten Richtlinien finden Sie unter Identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien. Informationen darüber, ob Auftraggeber 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?.

IAM-IBerechtigungsgrenzen

Eine Berechtigungsgrenze ist eine erweiterte Funktion, die Ihnen ermöglicht, die maximalen Berechtigungen festzulegen, die eine identitätsbasierte Richtlinie einer IAM-Entität gewähren kann. Wenn Sie eine Berechtigungsgrenze für eine Entität festlegen, kann die Entität nur die Aktionen durchführen, die sowohl von den identitätsbasierten Richtlinien als auch den Berechtigungsgrenzen erlaubt werden. Ressourcenbasierte Richtlinien, die den Benutzer oder die Rolle als Auftraggeber angeben, werden nicht durch Berechtigungsgrenzen eingeschränkt. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft. Weitere Informationen über Berechtigungsgrenzen finden Sie unter Berechtigungsgrenzen für IAM-Entitäten.

Service-Kontrollrichtlinien (SCPs)

AWS Organizations ist ein Service für die Gruppierung und zentrale Verwaltung der AWS-Konten Ihres Unternehmens. Wenn Sie innerhalb einer Organisation alle Funktionen aktivieren, können Sie Service-Kontrollrichtlinien (SCPs) auf alle oder einzelne Ihrer Konten anwenden. SCPs sind JSON-Richtlinien, die die maximalen Berechtigungen für eine Organisation oder Organisationseinheit (OU) festlegen. Eine SCP beschränkt die Berechtigungen für Entitäten in Mitgliedskonten, einschließlich aller AWS-Konto-Stammbenutzer. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft.

Weitere Informationen über Organizations und SCPs finden Sie unter Funktionsweise von SCPs im AWS Organizations-Leitfaden.

Zugriffskontrolllisten (ACLs)

Zugriffskontrolllisten (ACLs) sind Service-Richtlinien, mit denen Sie steuern können, welche Auftraggeber in einem anderen Konto auf eine Ressource zugreifen können. ACLs können nicht verwendet werden, um den Zugriff für einen Auftraggeber innerhalb desselben Kontos zu steuern. ACLs sind ähnlich wie ressourcenbasierten Richtlinien, obwohl sie der einzige Richtlinientyp sind, der das JSON-Richtliniendokumentformat nicht verwendet. Amazon S3, AWS WAF und Amazon VPC sind Beispiele für Services, die ACLs unterstützen. Weitere Informationen zu ACLs finden Sie unter Zugriffskontrollliste (ACL) Übersicht (Access Control List) im Amazon-Simple-Storage-Service Developer Guide.

Sitzungsrichtlinien

Sitzungsrichtlinien sind erweiterte Richtlinien, die Sie als Parameter übergeben, wenn Sie programmgesteuert eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer erstellen. Die Berechtigungen für eine Sitzung stammen aus den identitätsbasierten Richtlinien für die IAM-Entität (Benutzer oder Rolle), die zum Erstellen der Sitzung und der Sitzungsrichtlinie verwendet wurde. Berechtigungen können auch aus einer ressourcenbasierten Richtlinie stammen. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft.

Sie können eine Rollensitzung erstellen und eine Sitzungsrichtlinie programmgesteuert mithilfe der API-Operationen AssumeRole, AssumeRoleWithSAML oder AssumeRoleWithWebIdentity übergeben. Sie können ein einzelnes JSON-Inline-Sitzungsrichtliniendokument mit dem Parameter Policy übergeben. Sie können mit dem Parameter PolicyArns bis zu 10 verwaltete Sitzungsrichtlinien angeben. Weitere Informationen zum Erstellen einer Rollensitzung finden Sie unter Anfordern temporärer Sicherheitsanmeldeinformationen.

Beim Erstellen einer Sitzung für Verbundbenutzer verwenden Sie einen Zugriffsschlüssel des IAM-Benutzers, um die GetFederationToken-API-Operation programmgesteuert aufzurufen. Außerdem müssen Sie Sitzungsrichtlinien übergeben. Die resultierenden Sitzungsberechtigungen stammen aus der identitätsbasierten Richtlinie des IAM-Benutzers und der Sitzungsrichtlinie. Weitere Informationen zum Erstellen von einer Sitzung für Verbundbenutzer finden Sie unter GetFederationToken - Verbund durch einen benutzerdefinierten Identity Broker.

Eine ressourcenbasierte Richtlinie kann den ARN des Benutzers oder der Rolle als Auftraggeber angeben. In diesem Fall werden die Berechtigungen aus der ressourcenbasierten Richtlinie an die Rolle oder die identitätsbasierte Richtlinie des Benutzers vor der Erstellung der Sitzung hinzugefügt. Die Sitzungsrichtlinie beschränkt die Gesamtzahl der Berechtigungen, die von der ressourcenbasierten Richtlinie und der identitätsbasierten Richtlinie erteilt werden. Die resultierenden Sitzungsberechtigungen ergeben sich aus den Sitzungsrichtlinien und entweder der ressourcenbasierten Richtlinie oder der identitätsbasierten Richtlinie.


          Auswertung der Sitzungsrichtlinie mit einer ressourcenbasierten Richtlinie, die den Entitäts-ARN angibt

Eine ressourcenbasierte Richtlinie kann den ARN der Sitzung als Auftraggeber angeben. In diesem Fall werden die Berechtigungen aus der ressourcenbasierten Richtlinie nach dem Erstellen der Sitzung hinzugefügt. Die Berechtigungen der ressourcenbasierte Richtlinie werden nicht von der Sitzungsrichtlinie eingeschränkt. Die resultierende Sitzung verfügt über alle Berechtigungen der ressourcenbasierten Richtlinie plus die Berechtigungen, die sowohl von der identitätsbasierten Richtlinie als auch von der Sitzungsrichtlinie erteilt werden.


          Auswertung der Sitzungsrichtlinie mit einer ressourcenbasierten Richtlinie, die den Sitzungs-ARN angibt

Ein Berechtigungsgrenze kann für einen Benutzer oder eine Rolle die Höchstzahl der Berechtigungen festlegen, die für die Erstellung der Sitzung verwendet werden. In diesem Fall ergeben sich die resultierenden Sitzungsberechtigungen aus der Sitzungsrichtlinie, der Berechtigungsgrenze und der identitätsbasierten Richtlinie. Eine Berechtigungsgrenze schränkt jedoch nicht die Berechtigungen ein, die von einer ressourcenbasierten Richtlinie gewährt werden, die den ARN der resultierenden Sitzung angibt.


          Auswertung der Sitzungsrichtlinie mit einer Berechtigungsgrenze

Richtlinien und Stammbenutzer

Die AWS-Konto ist von einigen Richtlinientypen betroffen, aber nicht von allen. Sie können dem Stammbenutzer keine identitätsbasierten Richtlinien zuweisen und Sie können die Berechtigungsgrenze für den Stammbenutzer nicht festlegen. Sie können jedoch die Stammbenutzer; als Auftraggeber in einer ressourcenbasierten Richtlinie oder einer ACL angeben. Ein Stammbenutzer ist immer noch das Mitglied eines Kontos. Wenn dieses Konto Mitglied einer Organisation in AWS Organizations ist, ist der Stammbenutzer von allen SCPs für dieses Konto betroffen.

Übersicht über JSON-Richtlinien

Die meisten Richtlinien werden in AWS als JSON-Dokumente gespeichert. Identitätsbasierte Richtlinien und Richtlinien zum Festlegen von Berechtigungsgrenzen sind JSON-Richtliniendokumente, die Sie einem Benutzer oder einer Rolle anfügen. Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anfügen. SCPs sind JSON-Richtliniendokumente mit eingeschränkter Syntax, die Sie einer AWS Organizations-Organisationseinheit (OU) anfügen. ACLs werden auch einer Ressource angefügt. Sie müssen jedoch einen anderen Syntax verwenden. Sitzungsrichtlinien sind JSON-Richtlinien, die Sie bereitstellen, wenn Sie in einer Sitzung eine Rolle oder einen Verbundbenutzer annehmen.

Es ist nicht notwendig, dass Sie die JSON-Syntax verstehen. Mit dem visuellen Editor in der AWS Management Console können Sie durch den Kunden verwaltete Richtlinien erstellen und bearbeiten, ohne JSON zu verwenden. Wenn Sie jedoch eingebundene Richtlinien für Gruppen oder komplexe Richtlinien verwenden, müssen Sie diese Richtlinien im JSON-Editor unter Verwendung der Konsole erstellen und bearbeiten. Weitere Informationen zur Verwendung des visuellen Editors finden Sie unter Erstellen von IAM-Richtlinien und Bearbeiten von IAM-Richtlinien.

Wenn Sie eine JSON-Richtlinie erstellen oder bearbeiten, kann IAM eine Richtlinienvalidierung durchführen, um Ihnen beim Erstellen einer effektiven Richtlinie zu helfen. IAM identifiziert JSON-Syntaxfehler, während IAM Access Analyzer zusätzliche Richtlinienüberprüfungen mit Empfehlungen zur weiteren Verfeinerung Ihrer Richtlinien bietet. Weitere Informationen zur Richtlinienvalidierung finden Sie unter Validieren von IAM-Richtlinien. Weitere Informationen zu IAM Access Analyzer Richtlinienvalidierungen und umsetzbaren Empfehlungen finden Sie unter IAM Access Analyzer-Richtlinienvalidierung.

JSON-Richtliniendokumentstruktur

Wie in der folgenden Abbildung dargestellt, umfasst ein JSON-Richtliniendokument die folgenden Elemente:

  • Optionale richtlinienweite Informationen oben im Dokument.

  • Eine oder mehrere einzelne Anweisungen

Jede Anweisung enthält Angaben über die jeweilige Berechtigung. Wenn eine Richtlinie mehrere Anweisungen umfasst, wendet AWS auf alle Anweisungen zum Bewertungszeitpunkt ein logisches OR an. Wenn mehrere Richtlinien auf eine Anforderung angewendet werden, wendet AWS auf alle diese Richtlinien zum Bewertungszeitpunkt ein logisches OR an.


          JSON-Richtliniendokumentstruktur

Die Informationen in einer Anweisung sind in einer Reihe von Elementen enthalten.

  • Version – Geben Sie die Version der Richtliniensprache an, die Sie verwenden möchten. Verwenden Sie als bewährte Methode die neueste Version 2012-10-17.

  • Statement – Verwenden Sie dieses Haupt-Richtlinienelement als Container für die folgenden Elemente. Sie können mehrere Anweisungen in eine Richtlinie aufnehmen.

  • Sid (Optional) – Fügen Sie eine optionale Statement-ID an, um Ihre Anweisungen unterscheiden zu können.

  • Effect – Verwenden Sie Allow oder Deny, um anzugeben, ob die Richtlinie den Zugriff erlaubt oder verweigert.

  • Principal (Nur in einigen Fällen erforderlich) – Wenn Sie eine ressourcenbasierte Richtlinie erstellen, müssen Sie das Konto, den Benutzer, die Rolle oder den Verbundbenutzer angeben, für das Sie den Zugriff zulassen oder verweigern möchten. Wenn Sie eine IAM-Berechtigung zum Anfügen für einen Benutzer oder eine Rolle erstellen, können Sie dieses Element nicht aufnehmen. Der Auftraggeber wird als dieser Benutzer oder diese Rolle impliziert.

  • Action – Binden Sie eine Liste der Aktionen ein, die durch die Richtlinie erlaubt oder verweigert werden.

  • Resource (Nur in einigen Fällen erforderlich) – Wenn Sie eine IAM-Berechtigungsrichtlinie erstellen, müssen Sie eine Liste der Ressourcen angeben, für die die Aktionen gelten. Wenn Sie eine ressourcenbasierte Richtlinie erstellen, ist dieses Element optional. Wenn Sie dieses Element nicht einschließen, ist die Ressource, auf die die Aktion angewendet wird, die Ressource, der die Richtlinie angefügt ist.

  • Condition (Optional) – Geben Sie die Bedingungen an, unter denen die Richtlinie die Berechtigung erteilt.

Weitere Informationen zu diesen und erweiterten Richtlinienelementen finden Sie unter IAM-JSON-Richtlinienelementreferenz.

Mehrere Anweisungen und mehrere Richtlinien

Wenn Sie mehr als eine Berechtigung für eine Entity (Benutzer, Gruppe oder Rolle) definieren möchten, können Sie in einer einzigen Richtlinie mehrere Anweisungen verwenden. Sie können auch mehrere Richtlinien anfügen. Wenn Sie versuchen, mehrere Berechtigungen in einer einzigen Anweisung zu definieren, gewährt Ihre Richtlinie möglicherweise nicht den Zugriff, den Sie erwarten. Als bewährte Methode unterteilen Sie Richtlinien nach Ressourcentyp.

Aufgrund der eingeschränkten Größe der Richtlinienmüssen Sie für komplexere Berechtigungen möglicherweise mehrere Richtlinien verwenden. Es ist auch sinnvoll, funktionale Gruppierungen von Berechtigungen in einer separaten, vom Kunden verwalteten Richtlinie zu erstellen. Beispiel: Erstellen Sie eine Richtlinie für die IAM-Benutzerverwaltung, eine für die Selbstverwaltung und eine weitere Richtlinie für die Verwaltung von S3-Buckets. Unabhängig von der Kombination aus mehreren Bescheinigungen und mehreren Policen werden Ihre Policen auf dieselbe Weise AWS bewertet.

Die folgende Richtlinie enthält beispielsweise drei Anweisungen, von denen jede einen eigenen Satz Berechtigungen innerhalb eines einzelnen Kontos definiert. Die Anweisungen definieren Folgendes:

  • Mit der ersten Anweisung mit der Sid (Statement-ID) FirstStatement kann der Benutzer mit der zugeordneten Richtlinie das eigene Passwort ändern. Das Resource-Element in dieser Anweisung ist * (das bedeutet "alle Ressourcen"). In der Praxis wirkt sich die API-Operation ChangePassword (oder der entsprechende CLI-Befehl change-password) praktisch nur auf das Passwort des Benutzers aus, der die Anforderung gestellt hat.

  • Über die zweite Anweisung kann der Benutzer alle Amazon S3-Buckets in seinem AWS-Konto auflisten. Das Resource-Element in dieser Anweisung ist "*" (das bedeutet "alle Ressourcen"). Da aber Richtlinien den Zugriff nicht auf Ressourcen in anderen Konten erteilen können, kann der Benutzer nur die Buckets in seinem eigenen AWS-Konto auflisten.

  • Durch die dritte Anweisung kann der Benutzer beliebige Objekte auflisten und abrufen, die sich in einem Bucket mit dem Namen confidential-data befinden. Allerdings ist dazu die Authentifizierung des Benutzers durch eine Multi-Factor Authentication (MFA) erforderlich. Das Condition-Element in der Richtlinie erzwingt die MFA-Authentifizierung.

    Wenn eine Richtlinienanweisung ein Condition-Element enthält, ist die Anweisung nur dann wirksam, wenn das Condition-Element mit „true“ ausgewertet wird. In diesem Fall wird Condition mit „true“ ausgewertet, wenn der Benutzer durch MFA authentifiziert ist. Wenn der Benutzer nicht durch MFA authentifiziert ist, wird Condition mit „false“ ausgewertet. In diesem Fall wird die dritte Anweisung in dieser Richtlinie nicht wirksam, sodass der Benutzer keinen Zugriff auf den confidential-data-Bucket hat.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FirstStatement", "Effect": "Allow", "Action": ["iam:ChangePassword"], "Resource": "*" }, { "Sid": "SecondStatement", "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Sid": "ThirdStatement", "Effect": "Allow", "Action": [ "s3:List*", "s3:Get*" ], "Resource": [ "arn:aws:s3:::confidential-data", "arn:aws:s3:::confidential-data/*" ], "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}} } ] }

Beispiele für JSON-Richtliniensyntax

Die folgenden identitätsbasierte Richtlinie erlaubt dem implizierten Auftraggeber, einen einzelnen Amazon S3-Bucket mit dem Namen aufzulisten example_bucket:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::example_bucket" } }

Die folgende ressourcenbasierte Richtlinie kann einem Amazon S3-Bucket angefügt werden. Die Richtlinie gewährt den Mitgliedern eines bestimmten AWS-Kontos das Ausführen von Amazon S3-Aktionen im Bucket mit dem Namen mybucket. Sie erlaubt alle Aktionen, die für einen Bucket oder die darin enthaltenen Objekte durchgeführt werden können. (Da die Richtlinie nur dem Konto eine Vertrauensstellung einräumt, müssen den einzelnen Benutzer nach wie vor Berechtigungen für die angegebenen Amazon S3-Aktionen gewährt werden.)

{ "Version": "2012-10-17", "Statement": [{ "Sid": "1", "Effect": "Allow", "Principal": {"AWS": ["arn:aws:iam::account-id:root"]}, "Action": "s3:*", "Resource": [ "arn:aws:s3:::mybucket", "arn:aws:s3:::mybucket/*" ] }] }

Beispielrichtlinien für gebräuchliche Szenarien finden Sie unter Beispiele für identitätsbasierte Richtlinien in IAM.