Richtlinien und Berechtigungen in AWS Identity and Access Management - 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.

Richtlinien und Berechtigungen in AWS Identity and Access Management

Verwalten Sie den Zugriff, AWS indem Sie Richtlinien erstellen und diese IAM Identitäten (Benutzern, Benutzergruppen oder Rollen) oder AWS Ressourcen zuordnen. Eine Richtlinie ist ein Objekt, AWS das, wenn es einer Identität oder Ressource zugeordnet ist, deren Berechtigungen definiert. AWS wertet diese Richtlinien aus, wenn ein IAM Principal (Benutzer oder Rolle) eine Anfrage stellt. Die Berechtigungen in den Richtlinien legen fest, ob eine Anforderung zugelassen oder abgelehnt wird. Die meisten Richtlinien werden in AWS Form von JSON Dokumenten gespeichert. AWS unterstützt sieben Arten von Richtlinien: identitätsbasierte Richtlinien, ressourcenbasierte Richtlinien, Berechtigungsgrenzen, Dienststeuerungsrichtlinien für Organizations (SCPs), Ressourcensteuerungsrichtlinien für Organizations (RCPs), Zugriffskontrolllisten (ACLs) und Sitzungsrichtlinien.

IAMRichtlinien definieren Berechtigungen für eine Aktion, unabhängig von der Methode, mit der Sie den Vorgang ausführen. Wenn eine Richtlinie die GetUserAktion beispielsweise zulässt, kann ein Benutzer mit dieser Richtlinie Benutzerinformationen aus dem AWS Management Console AWS CLI, dem oder dem abrufen AWS API. Wenn Sie einen IAM Benutzer erstellen, können Sie wählen, ob Sie Konsolen- oder programmgesteuerten Zugriff zulassen möchten. Wenn der Konsolenzugriff erlaubt ist, kann sich der IAM Benutzer mit seinen Anmeldeinformationen an der Konsole anmelden. Wenn der programmgesteuerte Zugriff erlaubt ist, kann der Benutzer Zugriffstasten verwenden, um mit dem CLI oder zu arbeiten. API

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 — Ordnen Sie verwaltete Richtlinien und Inline-Richtlinien IAM Identitäten zu (Benutzern, Gruppen, denen Benutzer angehören, oder Rollen). Identitätsbasierte Richtlinien erteilen Berechtigungen für eine Identität.

  • Ressourcenbasierte Richtlinien – Fügen Inline-Richtlinien an Ressourcen an. Die gängigsten Beispiele für ressourcenbasierte Richtlinien sind Amazon S3 S3-Bucket-Richtlinien und IAM Rollenvertrauensrichtlinien. 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 Dienststeuerungsrichtlinie (SCP), um die maximalen Berechtigungen für IAM Benutzer und IAM Rollen innerhalb von Konten in Ihrer Organisation oder Organisationseinheit (OU) zu definieren. SCPsbeschränken Sie die Berechtigungen, die identitätsbasierte Richtlinien oder ressourcenbasierte Richtlinien IAM Benutzern oder IAM Rollen innerhalb des Kontos gewähren. SCPsgewähren Sie keine Berechtigungen.

  • Organizations RCPs — Verwenden Sie eine AWS Organizations Ressourcenkontrollrichtlinie (RCP), um die maximalen Berechtigungen für Ressourcen innerhalb von Konten in Ihrer Organisation oder Organisationseinheit (OU) zu definieren. RCPsschränken Sie die Berechtigungen ein, die identitäts- und ressourcenbasierte Richtlinien Ressourcen in Konten innerhalb Ihrer Organisation gewähren können. RCPsgewähren Sie keine Berechtigungen.

  • Zugriffskontrolllisten (ACLs) — Wird verwendetACLs, um zu steuern, welche Principals in anderen Konten auf die Ressource zugreifen können, an die die angehängt ACL ist. ACLsähneln ressourcenbasierten Richtlinien, obwohl sie der einzige Richtlinientyp sind, der nicht die Richtliniendokumentstruktur verwendet. JSON ACLssind kontoübergreifende Berechtigungsrichtlinien, die dem angegebenen Prinzipal Berechtigungen gewähren. ACLskann Entitäten innerhalb desselben Kontos keine Berechtigungen gewähren.

  • Sitzungsrichtlinien — Übergeben Sie erweiterte Sitzungsrichtlinien, wenn Sie das AWS CLI oder verwenden AWS API, 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 Dokumente mit JSON Berechtigungsrichtlinien, die steuern, welche Aktionen eine Identität (Benutzer, Benutzergruppen und Rollen) auf welchen Ressourcen und unter welchen Bedingungen ausführen kann. Identitätsbasierte Richtlinien können weiter kategorisiert werden:

  • Verwaltete Richtlinien — Eigenständige identitätsbasierte Richtlinien, die Sie mehreren Benutzern, Gruppen und Rollen in Ihrem System zuordnen können. AWS-Konto Es gibt zwei Typen von verwalteten Richtlinien:

    • AWS verwaltete Richtlinien — Verwaltete Richtlinien, die von erstellt und verwaltet werden. AWS

    • 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 AWS verwaltete Richtlinien.

  • Eingebundene Richtlinien – Richtlinien, die Sie direkt zu einem einzelnen Benutzer, einer einzelnen Gruppe oder einer einzelnen Rolle hinzufügen. Inline-Richtlinien sorgen für eine strikte one-to-one 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 Wählen Sie zwischen verwalteten Richtlinien und Inline-Richtlinien.

Ressourcenbasierte Richtlinien

Ressourcenbasierte Richtlinien sind JSON Richtliniendokumente, die Sie an eine Ressource wie einen Amazon S3 S3-Bucket anhängen. 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 den kontoübergreifenden Zugriff zu ermöglichen, können Sie in einer ressourcenbasierten Richtlinie ein ganzes Konto oder IAM Entitäten in einem anderen Konto als Hauptbenutzer angeben. Durch das Hinzufügen eines kontoübergreifenden Auftraggebers zu einer ressourcenbasierten Richtlinie ist nur die halbe Vertrauensbeziehung eingerichtet. Wenn der Prinzipal und die Ressource getrennt sind AWS-Konten, müssen Sie außerdem eine identitätsbasierte Richtlinie verwenden, um dem Prinzipal Zugriff auf die Ressource zu gewähren. 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 IAMTutorial: Zugriff delegieren AWS Konten, die Rollen verwenden IAM.

Der IAM Dienst unterstützt nur eine Art von ressourcenbasierter Richtlinie, die als Rollenvertrauensrichtlinie bezeichnet wird und einer Rolle zugeordnet ist. IAM Eine IAM Rolle ist sowohl eine Identität als auch eine Ressource, die ressourcenbasierte Richtlinien unterstützt. Aus diesem Grund müssen Sie einer Rolle sowohl eine Vertrauensrichtlinie als auch eine identitätsbasierte Richtlinie zuordnen. IAM Vertrauensrichtlinien definieren, welche Prinzipal-Entitäten (Konten, Benutzer, Rollen und Verbundbenutzer) die Rolle übernehmen können. Informationen darüber, wie sich IAM Rollen von anderen ressourcenbasierten Richtlinien unterscheiden, finden Sie unter. Kontoübergreifender Ressourcenzugriff in IAM

Informationen darüber, welche anderen Services ressourcenbasierte Richtlinien unterstützen, finden Sie unter AWS Dienste, die funktionieren mit IAM. Weitere Informationen zu ressourcenbasierten Richtlinien finden Sie unter Identitätsbasierte Richtlinien und ressourcenbasierte Richtlinien. Informationen darüber, ob Prinzipale in Konten außerhalb Ihrer Vertrauenszone (vertrauenswürdige Organisation oder Konto) Zugriff haben, um Ihre Rollen zu übernehmen, finden Sie unter Was ist IAM Access Analyzer? .

IAMBerechtigungen, Grenzen.

Eine Berechtigungsgrenze ist eine erweiterte Funktion, mit der Sie die maximalen Berechtigungen festlegen, 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. Wenn Sie im Hauptelement einer ressourcenbasierten Richtlinie eine Rollensitzung oder einen Benutzer angeben, ist eine ausdrückliche Genehmigung in der Berechtigungsgrenze nicht erforderlich. Wenn Sie jedoch eine Rolle ARN im Hauptelement einer ressourcenbasierten Richtlinie angeben, ist eine ausdrückliche Genehmigung in der Berechtigungsgrenze erforderlich. In beiden Fällen ist eine ausdrückliche Ablehnung innerhalb der Genehmigungsgrenze wirksam. 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.

Richtlinien zur Servicesteuerung von Organizations (SCPs)

Wenn Sie alle Funktionen in einer Organisation aktivieren, können Sie Dienststeuerungsrichtlinien (SCPs) auf einige oder alle Ihre Konten anwenden. SCPssind JSON Richtlinien, die die maximalen Berechtigungen für IAM Benutzer und IAM Rollen innerhalb von Konten einer Organisation oder Organisationseinheit (OU) festlegen. Sie SCP schränkt die Berechtigungen für Prinzipale in Mitgliedskonten ein, einschließlich der einzelnen Root-Benutzer des AWS-Kontos Konten. Eine ausdrückliche Ablehnung in einer dieser Richtlinien hat Vorrang vor einer Zulassung in anderen Richtlinien.

Weitere Informationen zu Organizations und SCPs finden Sie unter Richtlinien zur Dienststeuerung (SCPs) im AWS Organizations Benutzerhandbuch.

Richtlinien zur Ressourcenkontrolle von Organizations (RCPs)

Wenn Sie alle Funktionen in einer Organisation aktivieren, können Sie mithilfe von Ressourcenkontrollrichtlinien (RCPs) zentral Zugriffskontrollen auf mehrere Ressourcen anwenden AWS-Konten. RCPssind JSON Richtlinien, mit denen Sie die maximal verfügbaren Berechtigungen für Ressourcen in Ihren Konten festlegen können, ohne die IAM Richtlinien aktualisieren zu müssen, die jeder Ressource zugeordnet sind, deren Eigentümer Sie sind. Sie RCP schränken die Berechtigungen für Ressourcen in Mitgliedskonten ein und können sich auf die effektiven Berechtigungen für Identitäten auswirken, einschließlich der Root-Benutzer des AWS-Kontos, unabhängig davon, ob sie zu Ihrer Organisation gehören. Eine ausdrückliche Ablehnung in allen zutreffenden RCP Fällen hat Vorrang vor einer Zulassung in anderen Richtlinien, die möglicherweise einzelnen Identitäten oder Ressourcen zugeordnet sind.

Weitere Informationen zu Organizations sowie RCPs eine Liste AWS-Services dieser RCPs Support-Leistungen finden Sie unter Resource Control Policies (RCPs) im AWS Organizations Benutzerhandbuch.

Zugriffskontrolllisten (ACLs)

Zugriffskontrolllisten (ACLs) sind Dienstrichtlinien, mit denen Sie steuern können, welche Principals in einem anderen Konto auf eine Ressource zugreifen können. ACLskann nicht verwendet werden, um den Zugriff für einen Prinzipal innerhalb desselben Kontos zu steuern. ACLsähneln ressourcenbasierten Richtlinien, obwohl sie der einzige Richtlinientyp sind, der nicht das JSON Richtliniendokumentformat verwendet. Amazon S3 und AWS WAF Amazon VPC sind Beispiele für Dienste, die Unterstützung bietenACLs. Weitere Informationen finden Sie in der Übersicht über ACLs die Zugriffskontrollliste (ACL) 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 sind die Schnittmenge der identitätsbasierten Richtlinien für die IAM Entität (Benutzer oder Rolle), die zur Erstellung der Sitzung verwendet wurde, und den Sitzungsrichtlinien. Berechtigungen können auch aus einer ressourcenbasierten Richtlinie stammen. Eine explizite Zugriffsverweigerung in einer dieser Richtlinien setzt eine Zugriffserlaubnis außer Kraft.

Mithilfe der Operationen, oder können Sie eine Rollensitzung programmgesteuert erstellen und Sitzungsrichtlinien übergeben. AssumeRole AssumeRoleWithSAML AssumeRoleWithWebIdentity API Mithilfe des Parameters können Sie ein einzelnes Richtliniendokument für JSON Inline-Sitzungen übergeben. Policy Sie können mit dem Parameter PolicyArns bis zu 10 verwaltete Sitzungsrichtlinien angeben. Weitere Informationen zum Erstellen einer Rollensitzung finden Sie unter Berechtigungen für temporäre Sicherheitsanmeldedaten.

Wenn Sie eine Verbundbenutzersitzung erstellen, verwenden Sie die Zugriffstasten des IAM Benutzers, um den Vorgang programmgesteuert aufzurufen. GetFederationToken API Außerdem müssen Sie Sitzungsrichtlinien übergeben. Die resultierenden Sitzungsberechtigungen stammen aus der identitätsbasierten Richtlinie und der Sitzungsrichtlinie. Weitere Informationen zum Erstellen von einer Sitzung für Verbundbenutzer finden Sie unter Anmeldeinformationen über einen benutzerdefinierten Identity Broker anfordern.

In einer ressourcenbasierten Richtlinie kann der Benutzer oder die Rolle als ARN Prinzipal angegeben werden. 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.

Bewertung der Sitzungsrichtlinie anhand einer ressourcenbasierten Richtlinie unter Angabe der Entität ARN

Eine ressourcenbasierte Richtlinie kann die Sitzung als ARN Hauptbenutzer spezifizieren. 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.

Bewertung der Sitzungsrichtlinie mit einer ressourcenbasierten Richtlinie, die die Sitzung spezifiziert ARN

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 durch eine ressourcenbasierte Richtlinie gewährt werden, die die Dauer ARN der resultierenden Sitzung festlegt.

Auswertung der Sitzungsrichtlinie mit einer Berechtigungsgrenze

Richtlinien und Stammbenutzer

Die Root-Benutzer des AWS-Kontos wird von einigen Richtlinientypen beeinflusst, von anderen jedoch nicht. 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 den Root-Benutzer als Principal in einer ressourcenbasierten Richtlinie oder einer angeben. ACL Ein Stammbenutzer ist immer noch das Mitglied eines Kontos. Wenn dieses Konto Mitglied einer Organisation in ist AWS Organizations, ist der Root-Benutzer von SCPs und RCPs für das Konto betroffen.

Übersicht über JSON-Richtlinien

Die meisten Richtlinien werden in Form AWS von JSON Dokumenten gespeichert. Identitätsbasierte Richtlinien und Richtlinien, die zur Festlegung von Berechtigungsgrenzen verwendet werden, sind JSON Richtliniendokumente, die Sie einem Benutzer oder einer Rolle anhängen. Ressourcenbasierte Richtlinien sind JSON Richtliniendokumente, die Sie an eine Ressource anhängen. SCPsund RCPs sind JSON Richtliniendokumente mit eingeschränkter Syntax, die Sie dem AWS Organizations Organisationsstamm, der Organisationseinheit (OU) oder einem Konto zuordnen. ACLssind ebenfalls an eine Ressource angehängt, aber Sie müssen eine andere Syntax verwenden. Sitzungsrichtlinien sind JSON Richtlinien, die Sie angeben, wenn Sie eine Rolle oder eine Verbundbenutzersitzung annehmen.

Es ist nicht erforderlich, dass Sie die JSON Syntax verstehen. Sie können den visuellen Editor in verwenden, AWS Management Console um vom Kunden verwaltete Richtlinien zu erstellen und zu bearbeiten, ohne sie jemals verwenden zu müssenJSON. Wenn Sie jedoch Inline-Richtlinien für Gruppen oder komplexe Richtlinien verwenden, müssen Sie diese Richtlinien dennoch im JSON Editor mithilfe der Konsole erstellen und bearbeiten. Weitere Informationen zur Verwendung des visuellen Editors finden Sie unter Definieren Sie benutzerdefinierte IAM Berechtigungen mit vom Kunden verwalteten Richtlinien und IAMRichtlinien bearbeiten.

Wenn Sie eine Richtlinie erstellen oder bearbeiten, IAM kann sie eine JSON Richtlinienvalidierung durchführen, um Ihnen bei der Erstellung einer effektiven Richtlinie zu helfen. IAMidentifiziert JSON Syntaxfehler, während IAM Access Analyzer zusätzliche Richtlinienprüfungen mit Empfehlungen bereitstellt, mit denen Sie Ihre Richtlinien weiter verfeinern können. Weitere Informationen zur Richtlinienvalidierung finden Sie unter IAMÜberprüfung der Richtlinien. Weitere Informationen zu IAM Access Analyzer-Richtlinienprüfungen und umsetzbaren Empfehlungen finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung.

JSONStruktur der Richtliniendokumente

Wie in der folgenden Abbildung dargestellt, umfasst ein JSON Strategiedokument 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 Aussagen enthält, AWS wendet sie bei deren Bewertung eine Logik OR auf alle Aussagen an. Wenn mehrere Richtlinien auf eine Anfrage AWS zutreffen, wird bei der Bewertung eine logische Regel OR auf alle diese Richtlinien angewendet.

JSONStruktur der Richtliniendokumente

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. Wir empfehlen, dass Sie die neueste Version 2012-10-17 verwenden. Weitere Informationen finden Sie unter IAMJSONpolitische Elemente: Version

  • 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 Berechtigungsrichtlinie erstellen, die an einen Benutzer oder eine Rolle angehängt werden soll, können Sie dieses Element nicht einbeziehen. 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 unter bestimmten Umständen erforderlich) — Wenn Sie eine IAM Berechtigungsrichtlinie erstellen, müssen Sie eine Liste von 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 IAMJSONReferenz zum politischen Element.

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. Wir empfehlen, dass Sie die Richtlinien nach Ressourcentypen aufteilen.

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. Erstellen Sie beispielsweise eine Richtlinie für die IAM Benutzerverwaltung, eine für die Selbstverwaltung und eine weitere Richtlinie für die S3-Bucketverwaltung. Unabhängig von der Kombination mehrerer Aussagen und mehrerer Richtlinien werden Ihre Richtlinien auf die gleiche 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 der ChangePassword API Vorgang (oder change-password CLI ein entsprechender Befehl) jedoch nur auf das Passwort des Benutzers aus, der die Anfrage stellt.

  • Ü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.

  • Mit der dritten Anweisung kann der Benutzer jedes Objekt auflisten und abrufen, das sich in einem Bucket mit dem Namen befindetamzn-s3-demo-bucket-confidential-data, aber nur, wenn der Benutzer mit der Multi-Faktor-Authentifizierung () MFA authentifiziert wurde. Das Condition Element in der Richtlinie erzwingt die Authentifizierung. MFA

    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 das als wahr Condition ausgewertet, wenn der Benutzer -authentifiziert istMFA. Wenn der Benutzer nicht MFA -authentifiziert ist, ergibt dies den Wert False. Condition In diesem Fall wird die dritte Anweisung in dieser Richtlinie nicht wirksam, sodass der Benutzer keinen Zugriff auf den amzn-s3-demo-bucket-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:::amzn-s3-demo-bucket-confidential-data", "arn:aws:s3:::amzn-s3-demo-bucket-confidential-data/*" ], "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}} } ] }

Beispiele für die Syntax von Richtlinien JSON

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

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

Die folgende ressourcenbasierte Richtlinie kann einem Amazon S3-Bucket angefügt werden. Die Richtlinie ermöglicht es Mitgliedern einer bestimmten Person AWS-Konto , alle Amazon S3 S3-Aktionen in dem genannten Bucket durchzuführenamzn-s3-demo-bucket. 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:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }] }

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

Gewähren der geringsten Berechtigung

Wenn Sie IAM Richtlinien erstellen, befolgen Sie die Standardsicherheitsempfehlungen, d. h. gewähren Sie die geringsten Rechte oder gewähren Sie nur die Berechtigungen, die für die Ausführung einer Aufgabe erforderlich sind. Bestimmen Sie, was Benutzer und Rollen tun müssen, und gestalten Sie dann entsprechende Richtlinien, mit denen die Benutzer nur diese Aufgaben ausführen können.

Beginnen Sie mit einem Mindestsatz von Berechtigungen und gewähren Sie zusätzliche Berechtigungen wie erforderlich. Dies ist sicherer, als mit Berechtigungen zu beginnen, die zu weit gefasst sind, und dann später zu versuchen, sie zu begrenzen.

Als Alternative zu Least Privilege können Sie verwaltete AWS -Richtlinien oder Richtlinien mit Wildcard-*-Berechtigungen verwenden, um mit Richtlinien zu beginnen. Berücksichtigen Sie das Sicherheitsrisiko, wenn Sie Ihren Auftraggeber mehr Berechtigungen gewähren, als sie für ihre Arbeit benötigen. Überwachen Sie diese Auftraggeber, um zu erfahren, welche Berechtigungen sie verwenden. Schreiben Sie dann Richtlinien mit den geringsten Berechtigungen.

IAMbietet mehrere Optionen, mit denen Sie die von Ihnen erteilten Berechtigungen verfeinern können.

  • Zugriffsebenengruppierungen – Mit Zugriffsebenengruppierungen können Sie die von einer Richtlinie gewährte Zugriffsebene nachvollziehen. Richtlinienaktionen werden als List, Read, Write, Permissions management, oder Tagging klassifiziert. Beispielsweise können Sie Aktionen aus den Zugriffsebenen List und Read wählen, um Ihren Benutzern schreibgeschützten Zugriff zu erteilen. Informationen zur Verwendung von Richtlinienzusammenfassungen und Erläuterungen der Berechtigungen auf Zugriffsebene finden Sie unter Zugriffsebenen in Richtlinienübersichten.

  • Überprüfen Sie Ihre Richtlinien — Sie können die Richtlinienüberprüfung mit IAM Access Analyzer durchführen, wenn Sie JSON Richtlinien erstellen und bearbeiten. Wir empfehlen, alle vorhandenen Richtlinien zu überprüfen und zu validieren. IAMAccess Analyzer bietet über 100 Richtlinienprüfungen zur Validierung Ihrer Richtlinien. Es generiert Sicherheitswarnungen, wenn eine Anweisung in Ihrer Richtlinie den Zugriff zulässt, den wir als übermäßig freizügig betrachten. Sie können die umsetzbaren Empfehlungen verwenden, die durch die Sicherheitswarnungen bereitgestellt werden, wenn Sie daran arbeiten, die geringsten Berechtigungen zu erteilen. Weitere Informationen zu den von IAM Access Analyzer bereitgestellten Richtlinienprüfungen finden Sie unter IAMAccess Analyzer-Richtlinienvalidierung.

  • Generieren Sie eine Richtlinie auf der Grundlage der Zugriffsaktivität — Um die von Ihnen gewährten Berechtigungen zu verfeinern, können Sie eine IAM Richtlinie generieren, die auf der Zugriffsaktivität für eine IAM Entität (Benutzer oder Rolle) basiert. IAMAccess Analyzer überprüft Ihre AWS CloudTrail Protokolle und generiert eine Richtlinienvorlage, die die Berechtigungen enthält, die von der Entität in dem von Ihnen angegebenen Zeitraum verwendet wurden. Sie können die Vorlage verwenden, um eine verwaltete Richtlinie mit detaillierten Berechtigungen zu erstellen und sie dann an die IAM Entität anzuhängen. Auf diese Weise gewähren Sie nur die Berechtigungen, die der Benutzer oder die Rolle benötigt, um mit AWS Ressourcen für Ihren speziellen Anwendungsfall zu interagieren. Weitere Informationen finden Sie unter Generierung von IAM Access Analyzer-Richtlinien.

  • Verwenden der Informationen zum letzten Zugriff – Ein weiteres Feature, die bei der Wahrung der geringsten Berechtigung helfen kann, sind Informationen über den letzten Zugriff. Sehen Sie sich diese Informationen auf der Registerkarte Access Advisor auf der Seite mit den IAM Konsolendetails für einen IAM Benutzer, eine Gruppe, eine Rolle oder eine Richtlinie an. Zu den Informationen, auf die zuletzt zugegriffen wurde, gehören auch Informationen zu den Aktionen, auf die zuletzt für einige Dienste wie Amazon EC2IAM, Lambda und Amazon S3 zugegriffen wurde. Wenn Sie sich mit den Anmeldeinformationen für das AWS Organizations Verwaltungskonto anmelden, können Sie die Informationen zum letzten Zugriff auf den Service im AWS OrganizationsBereich der IAM Konsole einsehen. Sie können das AWS CLI oder auch verwenden AWS API, um einen Bericht mit den zuletzt aufgerufenen Informationen für Entitäten oder Richtlinien in IAM oder Organizations abzurufen. Sie können diese Informationen verwenden, um unnötige Berechtigungen zu identifizieren, sodass Sie Ihre Richtlinien IAM oder die Richtlinien Ihres Unternehmens Organizations verfeinern können, dass das Prinzip der geringsten Rechte besser eingehalten wird. Weitere Informationen finden Sie unter Verfeinern Sie die Berechtigungen für AWS die Verwendung der zuletzt abgerufenen Informationen.

  • Kontoereignisse überprüfen in AWS CloudTrail — Um die Zugriffsrechte weiter einzuschränken, können Sie die Ereignisse Ihres Kontos im AWS CloudTrail Ereignisverlauf einsehen. CloudTrail Ereignisprotokolle enthalten detaillierte Ereignisinformationen, anhand derer Sie die Berechtigungen der Richtlinie einschränken können. Die Protokolle enthalten nur die Aktionen und Ressourcen, die Ihre IAM Entitäten benötigen. Weitere Informationen finden Sie im AWS CloudTrail Benutzerhandbuch unter CloudTrailEreignisse in der CloudTrail Konsole anzeigen.

Weitere Informationen finden Sie in den folgenden Richtlinienthemen für einzelne Services, die Beispiele für das Schreiben von Richtlinien für servicespezifische Ressourcen bieten.