Berechtigungen und Richtlinien in IAM - 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.

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 Ressourcen anhängen. AWS 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-Prinzipal (Benutzer oder Rolle) eine Anfrage stellt. Berechtigungen in den Richtlinien bestimmen, ob die Anforderung zugelassen oder abgelehnt wird. Die meisten Richtlinien werden AWS als JSON-Dokumente gespeichert. AWS unterstützt sechs Arten von Richtlinien: identitätsbasierte Richtlinien, ressourcenbasierte Richtlinien, Berechtigungsgrenzen, Organisations-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 eine Richtlinie die GetUserAktion beispielsweise zulässt, kann ein Benutzer mit dieser Richtlinie Benutzerinformationen von der AWS Management Console, oder der API abrufen. AWS CLI AWS 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 seinen Anmeldeinformationen an der Konsole anmelden. 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 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.

  • SCPs für Organizations — Verwenden Sie eine AWS Organizations 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 erweiterte Sitzungsrichtlinien, wenn Sie die AWS API AWS CLI oder 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 — 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 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 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 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 Kontoübergreifender Zugriff auf Ressourcen in IAM.

Informationen darüber, welche anderen Services ressourcenbasierte Richtlinien unterstützen, finden Sie unter AWS Dienste, 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 ein erweitertes Feature, 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 Dienst zur Gruppierung und zentralen Verwaltung der Ressourcen AWS-Konten , die Ihrem Unternehmen gehören. Wenn Sie innerhalb einer Organisation alle Features 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. Das SCP schränkt die Berechtigungen für Entitäten in Mitgliedskonten ein, einschließlich der einzelnen Entitäten. Root-Benutzer des AWS-Kontos 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.

Zugriffssteuerungslisten (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 und Amazon VPC sind Beispiele für Services, die ACLs unterstützen. AWS WAF 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 Policy-Parameter ü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.

Wenn Sie eine Sitzung für Verbundbenutzer erstellen, 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 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 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 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 ist AWS Organizations, ist der Root-Benutzer von allen SCPs für das Konto betroffen.

Übersicht über JSON-Richtlinien

Die meisten Richtlinien werden 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) zuordnen. 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 übernehmen.

Es ist nicht notwendig, 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 jemals JSON verwenden zu müssen. 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 Aussagen enthält, AWS wendet sie bei deren Auswertung OR eine logische Anweisung für alle Anweisungen an. Wenn mehrere Richtlinien auf eine Anfrage AWS zutreffen, wird bei der Bewertung eine logische Regel OR auf alle diese Richtlinien angewendet.

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. Wir empfehlen, dass Sie die neueste Version 2012-10-17 verwenden. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: 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-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. 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. 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 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 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 example_bucket aufzulisten:

{ "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 ermöglicht es Mitgliedern einer bestimmten Person AWS-Konto , alle Amazon S3 S3-Aktionen in dem genannten Bucket durchzuführenmybucket. 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.

Gewähren von geringsten Rechten

Wenn Sie IAM-Richtlinien erstellen, befolgen Sie die Standard-Sicherheitsmaßnahmen, die für das Erteilen von geringsten Rechten gelten, d. h. es werden nur die Berechtigungen erteilt, die zum Durchführen 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.

IAM bietet verschiedene 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 Richtlinienzusammenfassungen verstehen.

  • Validieren Ihrer Richtlinien – Sie können die Richtlinienvalidierung mit IAM Access Analyzer durchführen, wenn Sie JSON-Richtlinien erstellen und bearbeiten. Wir empfehlen, alle vorhandenen Richtlinien zu überprüfen und zu validieren. IAM Access Analyzer bietet über 100 Richtlinienüberprü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 IAM Access Analyzer-Richtlinienvalidierung.

  • Generieren einer Richtlinie basierend auf -Zugriffsaktivitäten – Um die Berechtigungen zu verfeinern, die Sie gewähren, können Sie eine IAM-Richtlinie generieren, die auf der Zugriffsaktivität für eine IAM-Entität (Benutzer oder Rolle) basiert. IAM Access 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 definierten Berechtigungen zu erstellen und sie dann an die IAM-Rolle 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 hierzu finden Sie unter Generieren von Richtlinien basierend auf Zugriffsaktivitäten.

  • Verwenden der Informationen zum letzten Zugriff – Ein weiteres Feature, die bei der Wahrung der geringsten Berechtigung helfen kann, sind Informationen über den letzten Zugriff. Sie können diese Informationen auf der Registerkarte Access Advisor (Advisor aufrufen) auf der Detailseite für einen IAM-Benutzer, eine Gruppe, eine Rolle oder eine Richtlinie in der -Konsole anzeigen. Die Informationen über den letzten Zugriff enthalten Informationen über einige Aktionen, auf die zuletzt für Amazon EC2, IAM, 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 Dienst im AWS OrganizationsBereich der IAM-Konsole einsehen. Sie können die AWS API AWS CLI oder auch verwenden, um einen Bericht über die zuletzt abgerufenen Informationen für Entitäten oder Richtlinien in IAM oder Organizations abzurufen. Mit diesen Informationen können Sie unnötige Berechtigungen identifizieren, sodass Sie die IAM- oder Organizations-Richtlinien besser an die Regel der geringsten Rechte anpassen können. Weitere Informationen finden Sie unter Verfeinerung der Berechtigungen bei der AWS Verwendung von Informationen, auf die zuletzt zugegriffen wurde.

  • Kontoereignisse überprüfen in AWS CloudTrail — Um die Zugriffsrechte weiter zu reduzieren, 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 CloudTrail Ereignisse 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.