IAMRichtlinien zur Fehlerbehebung - 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.

IAMRichtlinien zur Fehlerbehebung

Eine Richtlinie ist eine Entität, AWS die, wenn sie an eine Identität oder Ressource angehängt wird, deren Berechtigungen definiert. AWS wertet diese Richtlinien aus, wenn ein Principal, z. B. ein Benutzer, eine Anfrage stellt. Berechtigungen in den Richtlinien bestimmen, ob die Anforderung zugelassen oder abgelehnt wird. Richtlinien werden in Form von JSON Dokumenten gespeichert, die AWS als identitätsbasierte Richtlinien an Prinzipale oder als ressourcenbasierte Richtlinien an Ressourcen angehängt werden. Sie können einem Prinzipal (oder einer Identität), z. B. einer Gruppe, einem Benutzer oder einer Rolle, eine IAM identitätsbasierte Richtlinie zuordnen. Zu identitätsbasierten Richtlinien gehören verwaltete AWS -Richtlinien, kundenverwaltete Richtlinien und eingebundene Richtlinien. Sie können vom Kunden verwaltete Richtlinien in den AWS Management Console Optionen Visual und JSONEditor erstellen und bearbeiten. Wenn Sie eine Richtlinie in der anzeigen AWS Management Console, können Sie eine Zusammenfassung der Berechtigungen sehen, die durch diese Richtlinie gewährt werden. Sie können den visuellen Editor und die Richtlinienzusammenfassungen verwenden, um häufig auftretende Fehler bei der Verwaltung von IAM Richtlinien zu diagnostizieren und zu beheben.

Beachten Sie, dass alle IAM Richtlinien mit einer Syntax gespeichert werden, die mit den Regeln der JavaScript Objektnotation (JSON) beginnt. Sie müssen diese Syntax nicht verstehen, um Richtlinien erstellen und verwalten zu können. Sie können eine Richtlinie mithilfe des visuellen Editors in der AWS Management Console erstellen und bearbeiten. Weitere Informationen zur JSON Syntax in IAM Richtlinien finden Sie unterGrammatik der IAM-JSON-Richtliniensprache .

Fehlerbehebung bei IAM-Richtlinien

Fehlerbehebung mit dem visuellen Editor

Wenn Sie eine vom Kunden verwaltete Richtlinie erstellen oder ändern, können Sie die Informationen im Visual-Editor nutzen, um Fehler in Ihrer Richtlinie zu beheben. Ein Beispiel für die Verwendung des visuellen Editors zum Erstellen einer Richtlinie finden Sie unter Steuern des Zugriffs auf Identitäten.

Umstrukturierung einer Richtlinie

Wenn Sie eine Richtlinie erstellen, AWS validiert, verarbeitet und transformiert sie, bevor sie gespeichert wird. Wenn die Richtlinie abgerufen wird, wird sie wieder in ein für Menschen lesbares Format AWS umgewandelt, ohne die Berechtigungen zu ändern. Dies kann zu Unterschieden in der Darstellung im visuellen Editor oder auf der Registerkarte der Richtlinie führen. JSON

  • Berechtigungsblöcke für den visuellen Editor können hinzugefügt, entfernt oder neu angeordnet werden, und der Inhalt eines Blocks kann optimiert werden.

  • Auf der JSONRegisterkarte können unbedeutende Leerräume entfernt und Elemente innerhalb von JSON Maps neu angeordnet werden. Darüber hinaus können AWS-Konto IDs innerhalb der Hauptelemente durch den Amazon-Ressourcennamen (ARN) von ersetzt werden Root-Benutzer des AWS-Kontos.

Aufgrund dieser möglichen Änderungen sollten Sie JSON Richtliniendokumente nicht als Zeichenketten vergleichen.

Wenn Sie eine vom Kunden verwaltete Richtlinie in erstellen AWS Management Console, können Sie wählen, ob Sie ausschließlich im JSONEditor arbeiten möchten. Wenn Sie die Richtlinie im Visual Editor nie ändern und im Editor Weiter auswählen, ist es weniger wahrscheinlich, dass die Richtlinie umstrukturiert wird. JSON Wenn Sie den Visual Editor verwenden, IAM kann es sein, dass die Richtlinie neu strukturiert wird, um ihr Erscheinungsbild zu optimieren. Diese Umstrukturierung erfolgt nur in der Bearbeitungssitzung und wird nicht automatisch gespeichert.

Wenn Ihre Richtlinie während Ihrer Bearbeitungssitzung neu strukturiert wird, wird anhand der folgenden Situationen IAM festgelegt, ob die Umstrukturierung gespeichert werden soll:

Diese Editor-Option verwenden Wenn Sie Ihre Richtlinie bearbeiten Wählen Sie dann in dieser Registerkarte Next (Weiter) aus Wenn Sie Save changes (Änderungen speichern) auswählen
Visual Bearbeitet Visual Die Richtlinie wird neu strukturiert
Visual Bearbeitet JSON Die Richtlinie wird neu strukturiert
Visual Nicht bearbeitet Visual Die Richtlinie wird neu strukturiert
JSON Bearbeitet Visual Die Richtlinie wird neu strukturiert
JSON Bearbeitet JSON Die Richtlinienstruktur bleibt unverändert
JSON Nicht bearbeitet JSON Die Richtlinienstruktur bleibt unverändert

IAMkann komplexe Richtlinien oder Richtlinien umstrukturieren, die über Berechtigungsblöcke oder Anweisungen verfügen, die mehrere Dienste, Ressourcentypen oder Bedingungsschlüssel zulassen.

Eine Ressource ARN im Visual Editor auswählen

Wenn Sie mit dem visuellen Editor eine Richtlinie erstellen oder bearbeiten, müssen Sie zunächst einen Service und anschließend Aktionen dieses Services auswählen. Unterstützen die von Ihnen ausgewählten Services und Aktionen die Auswahl bestimmter Ressourcen, werden im visuellen Editor die unterstützten Ressourcentypen aufgeführt. Sie können dann Hinzufügen wählenARN, um die Details zu Ihrer Ressource anzugeben. Sie können aus den folgenden Optionen wählen, um einen ARN für einen Ressourcentyp hinzuzufügen.

  • Verwenden Sie den ARN Builder — Möglicherweise werden Ihnen ARN je nach Ressourcentyp verschiedene Felder angezeigt, mit denen Sie Ihre Daten erstellen können. Sie können auch Any (Alle) auswählen, um Berechtigungen für die einzelnen Werte für die angegebene Einstellung bereitzustellen. Wenn Sie beispielsweise die Zugriffsebene Amazon EC2 Read ausgewählt haben, unterstützen die Aktionen in Ihrer Richtlinie den instance Ressourcentyp. Geben Sie die Region, das Konto und die InstanceIdWerte für Ihre Ressource an. Die Richtlinie gewährt Berechtigungen für jede Instanz in Ihrem Konto, wenn Sie Ihre Konto-ID angeben und für Region und Instanz-ID die Option Beliebig auswählen.

  • Geben Sie das ein oder fügen Sie es ein ARN — Sie können Ressourcen anhand ihres Amazon-Ressourcennamens (ARN) angeben. Sie können in jedes Feld von (zwischen jedem Doppelpunktpaar*) ein Platzhalterzeichen ARN () einfügen. Weitere Informationen finden Sie unter IAMJSONpolitische Elemente: Resource.

Verweigern von Berechtigungen im visuellen Editor

Standardmäßig lässt die Richtlinie, die Sie mit dem visuellen Editor erstellen, die Aktionen zu, die Sie auswählen. Um die ausgewählten Aktionen stattdessen zu verweigern, wählen Sie Switch to deny permissions (Zu Berechtigungen verweigern wechseln). Da Anfragen standardmäßig abgelehnt werden, empfehlen wir, dass Sie Berechtigungen nur für die Aktionen und Ressourcen gewähren, die ein Benutzer benötigt. Sie sollten eine Ablehnungsaussage nur dann erstellen, wenn Sie eine Berechtigung, die durch eine andere Anweisung oder Richtlinie zulässig ist, separat außer Kraft setzen möchten. Wir empfehlen, die Anzahl der Verweigerungsberechtigungen auf ein Minimum zu beschränken, da diese die Fehlerbehebung bei Berechtigungen erschweren. Weitere Informationen darüber, wie die Richtlinienlogik IAM bewertet wird, finden Sie unterAuswertungslogik für Richtlinien.

Anmerkung

Standardmäßig Root-Benutzer des AWS-Kontos hat nur der Zugriff auf alle Ressourcen in diesem Konto. Wenn Sie nicht als Stammbenutzer angemeldet sind, müssen Sie über Berechtigungen verfügen, die im Rahmen einer Richtlinie erteilt wurden.

Angeben mehrerer Services im visuellen Editor

Wenn Sie mit dem visuellen Editor eine Richtlinie erstellen, können Sie nur jeweils einen Service auswählen. Diese Methode hat sich bewährt, da der visuelle Editor Ihnen dann die Auswahl von Aktionen für diesen Service gestattet. Sie wählen dann aus den Ressourcen aus, die vom Service und den ausgewählten Aktionen unterstützt werden. Dies vereinfacht das Erstellen und die Problembehebung Ihrer Richtlinie.

Sie können auch ein Platzhalterzeichen (*) verwenden, um mehrere Dienste manuell anzugeben. Geben Sie beispielsweise Code* ein, um Berechtigungen für alle Services bereitzustellen, die mit Code beginnen, beispielsweise CodeBuild und CodeCommit. Sie müssen dann jedoch die Aktionen und Ressourcen eingebenARNs, um Ihre Richtlinie abzuschließen. Wenn Sie darüber hinaus Ihre Richtlinien speichern, wird diese möglicherweise umstrukturiert, um jeden Service in einen separaten Berechtigungsblock einzuschließen.

Um JSON Syntax (z. B. Platzhalter) für Dienste zu verwenden, können Sie Ihre Richtlinie alternativ mit der JSONEditor-Option erstellen, bearbeiten und speichern.

Reduzieren der Größe Ihrer Richtlinie im visuellen Editor

Wenn Sie den visuellen Editor zum Erstellen einer Richtlinie verwenden, IAM wird ein JSON Dokument zum Speichern Ihrer Richtlinie erstellt. Sie können dieses Dokument anzeigen, indem Sie zur JSONEditor-Option wechseln. Wenn dieses JSON Dokument die Größenbeschränkung einer Richtlinie überschreitet, zeigt der visuelle Editor eine Fehlermeldung an. Sie können die Richtlinie nicht überprüfen und speichern. Informationen zur IAM Größenbeschränkung einer verwalteten Richtlinie finden Sie unterIAMund STS Zeichenbeschränkungen.

Zur Reduzierung der Größe Ihrer Richtlinie im visuellen Editor bearbeiten Sie die Richtlinie oder verschieben Sie Berechtigungsblöcke in eine andere Richtlinie. Die Fehlermeldung enthält die Anzahl der Zeichen, die Ihr Richtliniendokument enthält. Sie können diese Informationen verwenden, um den Umfang Ihrer Police zu reduzieren.

Beheben von Problemen aufgrund nicht erkannter Services, Aktionen oder Ressourcentypen im visuellen Editor

Möglicherweise wird im Visual Editor eine Warnung angezeigt, dass Ihre Richtlinie einen Dienst-, Aktions- oder Ressourcentyp enthält, der nicht erkannt wurde.

Anmerkung

IAMüberprüft Dienstnamen, Aktionen und Ressourcentypen für Dienste, die Richtlinienzusammenfassungen unterstützen. Ihre Richtlinienübersicht kann jedoch einen nicht vorhandenen Ressourcenwert oder eine nicht vorhandene Bedingung enthalten. Testen Sie die Richtlinien grundsätzlich mit dem Richtliniensimulator.

Wenn Ihre Richtlinie nicht erkannte Services, Aktionen oder Ressourcentypen enthält, ist einer der folgenden Fehler aufgetreten:

  • Vorversion-Service – Services, die sich in der Vorversion befinden, unterstützen den visuellen Editor nicht. Wenn Sie an der Vorversion teilnehmen, müssen Sie die Aktionen und Ressourcen manuell eingebenARNs, um Ihre Richtlinie abzuschließen. Sie können alle Warnungen ignorieren und fortfahren. Alternativ können Sie die JSONEditor-Option wählen, um ein JSON Richtliniendokument einzugeben oder einzufügen.

  • Benutzerdefinierter Service – Benutzerdefinierte Services unterstützen den visuellen Editor nicht. Wenn Sie einen benutzerdefinierten Dienst verwenden, müssen Sie die Aktionen und Ressourcen manuell eingebenARNs, um Ihre Richtlinie abzuschließen. Sie können alle Warnungen ignorieren und fortfahren. Alternativ können Sie die JSONEditor-Option wählen, um ein JSON Richtliniendokument einzugeben oder einzufügen.

  • Der Dienst unterstützt den visuellen Editor nicht — Wenn Ihre Richtlinie einen allgemein verfügbaren Dienst (GA) umfasst, der den visuellen Editor nicht unterstützt, müssen Sie die Aktionen und Ressourcen manuell eingeben, ARNs um Ihre Richtlinie abzuschließen. Sie können alle Warnungen ignorieren und fortfahren. Alternativ können Sie die JSONEditor-Option wählen, um ein JSON Richtliniendokument einzugeben oder einzufügen.

    Normalerweise handelt es sich bei verfügbaren Services um veröffentlichte Services und nicht um Vorversion- oder benutzerdefinierte Services. Wenn ein nicht erkannter Service allgemein verfügbar und der Name richtig geschrieben ist, unterstützt der Service den visuellen Editor nicht. Weitere Informationen zur Inanspruchnahme des Supports für den visuellen Editor oder der Richtlinienübersicht in Bezug auf einen allgemein verfügbaren GA-Service finden Sie unter Der Service unterstützt keine IAM Richtlinienzusammenfassungen.

  • Die Aktion unterstützt den visuellen Editor nicht — Wenn Ihre Richtlinie einen unterstützten Dienst mit einer nicht unterstützten Aktion umfasst, müssen Sie die Aktionen und Ressourcen manuell eingeben, ARNs um Ihre Richtlinie abzuschließen. Sie können alle Warnungen ignorieren und fortfahren. Alternativ können Sie die JSONEditor-Option wählen, um ein JSON Richtliniendokument einzugeben oder einzufügen.

    Wenn Ihre Richtlinie einen unterstützten Service mit einer nicht unterstützten Aktion enthält, unterstützt der Service den visuellen Editor nicht vollständig. Weitere Informationen zur Inanspruchnahme des Supports für den visuellen Editor oder der Richtlinienübersicht in Bezug auf einen allgemein verfügbaren GA-Service finden Sie unter Der Service unterstützt keine IAM Richtlinienzusammenfassungen.

  • Ressourcen-Typ unterstützt den visuellen Editor nicht – Wenn Ihre Richtlinie eine unterstützte Aktion mit einem nicht unterstützten Ressourcentyp enthält, können Sie die Warnung ignorieren und fortfahren. Es IAM kann jedoch nicht bestätigt werden, dass Sie Ressourcen für alle ausgewählten Aktionen hinzugefügt haben, und möglicherweise werden Ihnen zusätzliche Warnungen angezeigt.

  • Tippfehler – Wenn Sie manuell einen Service, eine Aktion oder eine Ressource im visuellen Editor eingeben, erstellen Sie möglicherweise eine Richtlinie, die einen Tippfehler enthält. Wir empfehlen Ihnen, den visuellen Editor zu verwenden, indem Sie aus der Liste der Dienste und Aktionen auswählen. Füllen Sie dann den Ressourcenabschnitt gemäß den Anweisungen aus. Wenn ein Dienst den Visual Editor nicht vollständig unterstützt, müssen Sie möglicherweise Teile Ihrer Richtlinie manuell eingeben.

    Wenn Sie sicher sind, dass Ihre Richtlinie keinen der oben genannten Fehler enthält, handelt es sich möglicherweise um einen Tippfehler. Überprüfen Sie, ob folgende Probleme auftreten:

    • Falsch geschriebene Namen für Dienst-, Aktions- und Ressourcentypen, z. B. s2 statt s3 oder ListMyBuckets anstelle von ListAllMyBuckets

    • Unnötiger TextARNs, wie arn:aws:s3: : :*

    • Fehlende Doppelpunkte in Aktionen, wie iam.CreateUser

    Sie können eine Richtlinie überprüfen, die möglicherweise Tippfehler enthält, indem Sie Weiter wählen, um die Richtlinienübersicht zu überprüfen. Bestätigen Sie anschließend, ob die Richtlinie die von Ihnen beabsichtigten Berechtigungen bietet.

Probleme mit Richtlinienzusammenfassungen beheben

Sie können Probleme diagnostizieren und beheben, die im Zusammenhang mit der Richtlinienübersicht auftreten.

Übersicht fehlender Richtlinien

Die IAM Konsole enthält Übersichtstabellen mit Richtlinien, in denen die Zugriffsebene, die Ressourcen und die Bedingungen beschrieben werden, die für jeden Dienst in einer Richtlinie zulässig oder verweigert werden. Richtlinien werden in drei Tabellen zusammengefasst: Richtlinienübersicht, Serviceübersicht und Aktionsübersicht. In der Tabelle Richtlinienübersicht werden die Services und die Übersichten der für die ausgewählte Richtlinie definierten Berechtigungen aufgelistet. Sie können die Zusammenfassung der Richtlinien für alle Richtlinien, die einer Entität zugeordnet sind, auf der Seite Policy details (Richtliniendetails) für diese Richtlinie einsehen. Sie können die Richtlinienübersicht für alle verwalteten Richtlinien auf der Seite Policies (Richtlinien) einsehen. Wenn AWS eine Zusammenfassung für eine Richtlinie nicht dargestellt werden kann, wird das JSON Richtliniendokument mit der folgenden Fehlermeldung angezeigt:

A summary for this policy cannot be generated. (Eine Zusammenfassung für diese Richtlinie kann nicht erstellt werden.) Sie können das JSON Richtliniendokument immer noch anzeigen oder bearbeiten.

Wenn Ihre Richtlinie keine Übersicht enthält, ist einer der folgenden Fehler aufgetreten:

  • Nicht unterstütztes Richtlinienelement — unterstützt IAM nicht die Generierung von Richtlinienübersichten für Richtlinien, die eines der folgenden Richtlinienelemente enthalten:

    • Principal

    • NotPrincipal

    • NotResource

  • Keine Richtlinienberechtigung – Wenn eine Richtlinie keine effektiven Berechtigungen erteilt, kann keine Richtlinienübersicht erstellt werden. Wenn eine Richtlinie beispielsweise ein einzelnes Statement mit dem Element "NotAction": "*" enthält, wird Zugriff auf alle Aktionen mit Ausnahme von "allen Aktionen" (*) gewährt. Das bedeutet, dass Deny- oder Allow-Zugriff auf nichts gewährt wird.

    Anmerkung

    Seien Sie vorsichtig, wenn Sie diese politischen Elemente wie NotPrincipalNotAction, und verwenden. NotResource Weitere Informationen zur Verwendung von Richtlinienelementen finden Sie unter IAMJSONReferenz zum politischen Element.

    Wenn Sie nicht übereinstimmende Dienste und Ressourcen bereitstellen, können Sie eine Richtlinie erstellen, die keine effektiven Berechtigungen bietet. Dies kann der Fall sein, wenn Sie Aktionen in einem Dienst und Ressourcen in einem anderen Dienst angeben. In diesem Fall erscheint die Richtlinienübersicht. Der einzige Hinweis darauf, dass ein Problem vorliegt, ist der Umstand, dass in der Ressourcen-Spalte eine Ressource eines anderen Services enthalten ist. Wenn diese Spalte eine nicht übereinstimmende Ressource enthält, sollten Sie Ihre Richtlinien auf Fehler überprüfen. Testen Sie Ihre Richtlinien mit dem Richtliniensimulator, um die Richtlinie besser zu verstehen.

Die Richtlinienübersicht umfasst nicht erkannte Services, Aktionen oder Ressourcentypen.

Wenn eine Richtlinienübersicht in der IAM Konsole ein Warnsymbol ( Warning hazard sign icon with yellow triangle background. ) enthält, enthält die Richtlinie möglicherweise einen Dienst-, Aktions- oder Ressourcentyp, der nicht erkannt wurde. Weitere Informationen zu Warnungen innerhalb einer Richtlinienübersicht finden Sie unter Richtlinienübersicht (Liste der Services).

Anmerkung

IAMüberprüft Dienstnamen, Aktionen und Ressourcentypen für Dienste, die Richtlinienzusammenfassungen unterstützen. Ihre Richtlinienübersicht kann jedoch einen nicht vorhandenen Ressourcenwert oder eine nicht vorhandene Bedingung enthalten. Testen Sie die Richtlinien grundsätzlich mit dem Richtliniensimulator.

Wenn Ihre Richtlinie nicht erkannte Services, Aktionen oder Ressourcentypen enthält, ist einer der folgenden Fehler aufgetreten:

  • Vorversion-Service – Services, die sich in der Vorversion befinden und keine Richtlinienübersicht unterstützen.

  • Benutzerdefinierter Service – Richtlinienübersichten werden von benutzerdefinierten Services nicht unterstützt.

  • Service unterstützt keine Übersichten – Wenn Ihre Richtlinie einen allgemein verfügbaren (generally available – GA) Service umfasst, der keine Richtlinienübersichten unterstützt, wird der Service in den Abschnitt Unrecognized services (Nicht erkannte Services) der Richtlinienübersichtstabelle aufgenommen. Normalerweise handelt es sich bei verfügbaren Services um veröffentlichte Services und nicht um Vorversion- oder benutzerdefinierte Services. Wenn ein unbekannter Dienst allgemein verfügbar ist und der Name richtig geschrieben ist, unterstützt IAM der Dienst keine Richtlinienzusammenfassungen. Weitere Informationen zur Unterstützungsanforderung von Richtlinienübersichten für allgemein verfügbare GA-Services finden Sie unter Der Service unterstützt keine IAM Richtlinienzusammenfassungen.

  • Aktion unterstützt keine Übersichten – Wenn Ihre Richtlinie einen unterstützten Service mit einer nicht unterstützten Aktion enthält, wird die Aktion in den Abschnitt Unrecognized actions (Nicht erkannte Services) der Service-Übersichtstabelle aufgenommen. Weitere Informationen zu Warnungen innerhalb einer Serviceübersicht finden Sie unter Serviceübersicht (Liste der Aktionen).

  • Ressourcentyp unterstützt keine Übersichten – Wenn Ihre Richtlinie eine unterstützte Aktion mit einem nicht unterstützten Ressourcentyp enthält, wird die Ressource in den Abschnitt Unrecognized resource types (Nicht erkannte Servicetypen) der Service-Übersichtstabelle aufgenommen. Weitere Informationen zu Warnungen innerhalb einer Serviceübersicht finden Sie unter Serviceübersicht (Liste der Aktionen).

  • Tippfehler — AWS überprüft, ob der syntaktisch korrekt JSON ist und ob die Richtlinie keine Tippfehler oder andere Fehler in die Richtlinienüberprüfung einbezieht.

Anmerkung

Als bewährte Methode empfehlen wir, IAM Access Analyzer zur Überprüfung Ihrer IAM Richtlinien zu verwenden, um sichere und funktionale Berechtigungen zu gewährleisten. Wir empfehlen, vorhandene Richtlinien zu öffnen und alle Richtlinienvalidierungen zu überprüfen und zu lösen.

Der Service unterstützt keine IAM Richtlinienzusammenfassungen

Es ist möglich, dass die IAM Richtlinienzusammenfassungen oder der visuelle Editor einen allgemein verfügbaren Dienst oder eine Aktion nicht unterstützen. Allgemein verfügbare Services sind veröffentlichte Services, keine Vorversion- oder benutzerdefinierte Services. Wenn ein nicht erkannter Service allgemein verfügbar und der Name richtig geschrieben ist, unterstützt der Service diese Funktionen nicht. Wenn Ihre Richtlinie einen unterstützten Dienst mit einer nicht unterstützten Aktion umfasst, unterstützt der Service die IAM Richtlinienübersichten nicht vollständig.

Um einen Service anzufordern, fügen Sie IAM Richtlinienzusammenfassungen oder Unterstützung für den visuellen Editor hinzu
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Suchen Sie die Richtlinie, die den nicht unterstützten Service enthält:

    • Wenn es sich um eine verwaltete Richtlinie handelt, wählen Sie im Navigationsbereich Policies (Richtlinien). Wählen Sie in der Richtlinienliste den Namen der Richtlinie aus, die sie anzeigen möchten.

    • Wenn es sich um eine Inlinerichtlinie handelt, die dem Benutzer zugeordnet ist, wählen Sie im Navigationsbereich Users (Benutzer). Wählen Sie in der Benutzerliste den Namen des Benutzers aus, dessen Richtlinie Sie anzeigen möchten. Erweitern Sie in der Richtlinientabelle des Benutzers den Header für die anzuzeigende Richtlinienübersicht.

  3. Wählen Sie links in der AWS Management Console Fußzeile Feedback aus. Geben Sie in das IAM Feld Feedback für den Text ein. I request that the <ServiceName> service add support for IAM policy summaries and the visual editor Wenn Sie möchten, dass Übersichten von mehreren Services unterstützt werden sollen, geben Sie ein I request that the <ServiceName1>, <ServiceName2>, and <ServiceName3> services add support for IAM policy summaries and the visual editor.

Um zu beantragen, dass ein Service Support mit einer Zusammenfassung der IAM Richtlinien für eine fehlende Aktion hinzufügt
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Suchen Sie die Richtlinie, die den nicht unterstützten Service enthält:

    • Wenn es sich um eine verwaltete Richtlinie handelt, wählen Sie im Navigationsbereich Policies (Richtlinien). Wählen Sie in der Richtlinienliste den Namen der Richtlinie aus, die sie anzeigen möchten.

    • Wenn es sich um eine Inlinerichtlinie handelt, die dem Benutzer zugeordnet ist, wählen Sie im Navigationsbereich Users (Benutzer). Wählen Sie in der Benutzerliste den Namen des Benutzers aus, dessen Richtlinie Sie anzeigen möchten. Wählen Sie in der Richtlinientabelle des Benutzers den Namen der anzuzeigenden Richtlinie aus, um die Richtlinienübersicht zu erweitern.

  3. Wählen Sie in der Richtlinienübersicht den Namen des Services aus, der eine nicht unterstützte Aktion enthält.

  4. Wählen Sie links in der AWS Management Console Fußzeile Feedback aus. Geben Sie in das IAM Feld Feedback für den Text ein. I request that the <ServiceName> service add IAM policy summary and the visual editor support for the <ActionName> action Wenn Sie mehr als eine nicht unterstützte Aktion melden möchten, geben Sie Folgendes ein I request that the <ServiceName> service add IAM policy summary and the visual editor support for the <ActionName1>, <ActionName2>, and <ActionName3> actions.

Um fehlende Aktionen eines anderen Services hinzuzufügen, wiederholen Sie die letzten drei Schritte.

Meine Richtlinie erteilt nicht die erwarteten Berechtigungen

Um einem Benutzer, einer Gruppe, Rolle oder Ressource Berechtigungen zuzuordnen, müssen Sie eine Richtlinie erstellen. Dabei handelt es sich um ein Dokument, das Berechtigungen definiert. Das Richtliniendokument umfasst die folgenden Elemente:

  • Effect – gibt an, ob die Richtlinie den Zugriff erlaubt oder verweigert

  • Action – die Liste der Aktionen, die durch die Richtlinie erlaubt oder verweigert werden

  • Resource – die Liste der Ressourcen, für die die Aktionen durchgeführt werden können

  • Condition (Optional) – die Bedingungen, unter denen die Richtlinie die Berechtigung erteilt

Weitere Informationen zu diesen und anderen Richtlinienelementen finden Sie unter IAMJSONReferenz zum politischen Element.

Wenn Sie den Zugriff gewähren, muss Ihre Richtlinie eine Aktion mit einer unterstützten Ressource definieren. Wenn Ihre Richtlinie außerdem eine Bedingung umfasst, muss die Bedingung einen globalen Bedingungsschlüssel enthalten oder sich auf die Aktion beziehen. Informationen darüber, welche Ressourcen von einer Aktion unterstützt werden, finden Sie in der AWS -Dokumentation für Ihren Service. Informationen zu den Bedingungen, die von einer Aktion unterstützt werden, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Dienste.

Prüfen Sie, ob Ihre Richtlinie eine Aktion, Ressource oder Bedingung definiert, die keine Berechtigungen gewährt. Die Richtlinienübersicht für Ihre Richtlinie finden Sie in der IAM Konsole unter https://console.aws.amazon.com/iam/. Sie können mit Richtlinienzusammenfassungen Probleme in Ihrer Richtlinie identifizieren und beheben.

Es gibt mehrere Gründe, warum ein Element möglicherweise keine Berechtigungen gewährt, obwohl es in der IAM Richtlinie definiert ist:

Beispiele für Richtlinienzusammenfassungen einschließlich Warnungen finden Sie unter Richtlinienübersicht (Liste der Services).

Eine Aktion wurde ohne passende Ressource definiert

Die nachstehende Richtlinie definiert alle ec2:Describe*-Aktionen sowie eine spezifische Ressource. Keine der ec2:Describe-Aktionen wird gewährt, da keine dieser Aktionen Berechtigungen auf Ressourcenebene unterstützt. Berechtigungen auf Ressourcenebene bedeuten, dass die Aktion Ressourcen unterstützt, die das ARNsElement der ResourceRichtlinie verwenden. Wenn eine Aktion keine Berechtigungen auf Ressourcenebene unterstützt, muss diese Anweisung in der Richtlinie einen Platzhalter (*) im Resource-Element verwenden. Informationen darüber, welche Services Berechtigungen auf Ressourcenebene unterstützen, finden Sie unter AWS Dienste, die funktionieren mit IAM.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "arn:aws:ec2:us-east-2:ACCOUNT-ID:instance/*" }] }

Diese Richtlinie stellt keine Berechtigungen bereit und die Richtlinienzusammenfassung enthält den folgenden Fehler:

This policy does not grant any permissions. To grant access, policies must have an action that has an applicable resource or condition.

Um diese Richtlinie zu reparieren, müssen Sie * im Resource-Element verwenden.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }] }

Eine Ressource wurde ohne passende Aktion definiert

Die nachstehende Richtlinie definiert einen Amazon S3-Bucket, enthält jedoch keine S3-Aktion, die auf diese Ressource angewendet werden kann. Diese Richtlinie gewährt auch vollen Zugriff auf alle CloudFront Amazon-Aktionen.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "cloudfront:*", "Resource": [ "arn:aws:cloudfront:*", "arn:aws:s3:::examplebucket" ] }] }

Diese Richtlinie bietet Berechtigungen für alle CloudFront Aktionen. Da die Richtlinie jedoch die S3-Ressource examplebucket definiert, ohne S3-Aktionen zu definieren, enthält die Richtlinienzusammenfassung die folgende Warnung:

This policy defines some actions, resources, or conditions that do not provide permissions. To grant access, policies must have an action that has an applicable resource or condition.

Um diese Richtlinie zu reparieren, damit sie S3-Bucket-Berechtigungen bereitstellt, müssen Sie S3-Aktionen definieren, die auf eine Bucket-Ressource angewendet werden können.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudfront:*", "s3:CreateBucket", "s3:ListBucket*", "s3:PutBucket*", "s3:GetBucket*" ], "Resource": [ "arn:aws:cloudfront:*", "arn:aws:s3:::examplebucket" ] }] }

Um diese Richtlinie dahingehend zu korrigieren, dass nur CloudFront Berechtigungen bereitgestellt werden, entfernen Sie alternativ die S3-Ressource.

Eine Bedingung wurde ohne passende Aktion definiert

In der nachstehenden Richtlinie werden zwei Amazon S3-Aktionen für alle S3-Ressourcen definiert, wenn das S3-Präfix custom und die Versions-ID 1234 lautet. Der Bedingungsschlüssel s3:VersionId wird jedoch zum Markieren der Objektversion verwendet und wird von den definierten Bucket-Aktionen nicht unterstützt. Informationen darüber, welche Bedingungen von einer Aktion unterstützt werden, finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Dienste. Wählen Sie dort den Dienst aus, um die Servicedokumentation für Bedingungsschlüssel anzuzeigen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucketVersions", "s3:ListBucket" ], "Resource": "*", "Condition": { "StringEquals": { "s3:prefix": [ "custom" ], "s3:VersionId": [ "1234" ] } } } ] }

Diese Richtlinie stellt Berechtigungen für die Aktionen s3:ListBucketVersions und s3:ListBucket bereit, wenn der Bucket-Name das Präfix custom enthält. Da die Bedingung s3:VersionId jedoch von keiner der definierten Aktionen unterstützt wird, enthält die Richtlinienzusammenfassung den folgenden Fehler:

This policy does not grant any permissions. To grant access, policies must have an action that has an applicable resource or condition.

Um diese Richtlinie so zu reparieren, dass sie die Markierung der S3-Objektversion verwendet, müssen Sie eine S3-Aktion definieren, die den Bedingungsschlüssel s3:VersionId unterstützt.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucketVersions", "s3:ListBucket", "s3:GetObjectVersion" ], "Resource": "*", "Condition": { "StringEquals": { "s3:prefix": [ "custom" ], "s3:VersionId": [ "1234" ] } } } ] }

Diese Richtlinie stellt Berechtigungen für jede Aktion und Bedingung in der Richtlinie bereit. Die Richtlinie stellt jedoch noch keine Berechtigungen bereit, da es nicht vorkommt, dass eine einzige Aktion beide Bedingungen erfüllt. Stattdessen müssen Sie zwei separate Anweisungen erstellen, die jeweils nur Aktionen mit den Bedingungen enthält, auf die sie zutreffen.

Um diese Richtlinie zu reparieren, erstellen Sie zwei Anweisungen. Die erste Anweisung enthält die Aktionen, die die Bedingung s3:prefix unterstützen, und die zweite Anweisung enthält die Aktionen, die die Bedingung s3:VersionId unterstützen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucketVersions", "s3:ListBucket" ], "Resource": "*", "Condition": { "StringEquals": { "s3:prefix": "custom" } } }, { "Effect": "Allow", "Action": "s3:GetObjectVersion", "Resource": "*", "Condition": { "StringEquals": { "s3:VersionId": "1234" } } } ] }

Fehlerbehebung bei der Richtlinienverwaltung

Sie können Probleme diagnostizieren und beheben, die im Zusammenhang mit der Richtlinienverwaltung auftreten.

Eine Richtlinie an ein Konto anhängen oder entfernen IAM

Einige AWS verwaltete Richtlinien sind mit einem Dienst verknüpft. Diese Richtlinien werden nur mit einer serviceverknüpften Rolle für diesen Service verwendet. Wenn Sie in der IAM Konsole die Seite mit den Richtliniendetails aufrufen, enthält die Seite ein Banner, das darauf hinweist, dass die Richtlinie mit einem Dienst verknüpft ist. Sie können diese Richtlinie nicht einem Benutzer, einer Gruppe oder einer Rolle innerhalb zuordnenIAM. Beim Erstellen einer serviceverknüpften Rolle wird diese Richtlinie automatisch zu der neuen Rolle angefügt. Da die Richtlinie erforderlich ist, können Sie sie nicht von der serviceverknüpften Rolle trennen.

Änderung der Richtlinien für Ihre IAM Identitäten auf der Grundlage ihrer Aktivitäten

Sie können die Richtlinien für Ihre IAM Identitäten (Benutzer, Gruppen und Rollen) auf der Grundlage ihrer Aktivitäten aktualisieren. Sehen Sie sich dazu die Ereignisse Ihres Kontos im CloudTrail Eventverlauf an. CloudTrail Die Ereignisprotokolle enthalten detaillierte Ereignisinformationen, anhand derer Sie die Berechtigungen der Richtlinie ändern können.

Ein Benutzer oder eine Rolle versucht, eine Aktion in auszuführen, AWS und diese Anfrage wird abgelehnt.

Überlegen Sie, ob der Benutzer oder die Rolle berechtigt sein sollte, die Aktion auszuführen. Wenn ja, können Sie die Aktion und sogar die ARN der Ressource, auf die der Benutzer zugreifen wollte, zu seiner Richtlinie hinzufügen.

Ein Benutzer oder eine Rolle hat Berechtigungen, die er oder sie nicht verwendet.

Erwägen Sie, diese Berechtigungen aus ihrer Richtlinie zu entfernen. Stellen Sie sicher, dass Ihre Richtlinien die geringsten Rechte gewähren, die erforderlich sind, um nur die notwendigen Aktionen durchzuführen.

Weitere Informationen zur Verwendung CloudTrail finden Sie im AWS CloudTrail Benutzerhandbuch unter CloudTrail Ereignisse in der CloudTrail Konsole anzeigen.

Problembehandlung bei JSON Richtliniendokumenten

Sie können Probleme im Zusammenhang mit JSON Richtliniendokumenten diagnostizieren und lösen.

Validieren Ihrer Richtlinien

Wenn Sie eine Richtlinie erstellen oder bearbeiten, IAM kann er eine JSON Richtlinienvalidierung durchführen, um Sie bei der Erstellung einer effektiven Richtlinie zu unterstützen. 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.

Ich habe keine Berechtigungen für die Richtlinienvalidierung im Editor JSON

In der erhalten Sie möglicherweise die folgende Fehlermeldung AWS Management Console, wenn Sie nicht berechtigt sind, die Ergebnisse der IAM Access Analyzer-Richtlinienvalidierung anzuzeigen:

You need permissions. You do not have the permissions required to perform this operation. Ask your administrator to add permissions.

Um diesen Fehler zu beheben, bitten Sie Ihren Administrator, diese access-analyzer:ValidatePolicy-Berechtigung für Sie hinzuzufügen.

Mehr als ein JSON Richtlinienobjekt

Eine IAM Richtlinie darf nur aus einem JSON Objekt bestehen. Ein Objekt wird mithilfe von {}-Klammern definiert. Sie können andere Objekte innerhalb eines JSON Objekts verschachteln, indem Sie zusätzliche {} Klammern in das äußere Paar einbetten. Eine Richtlinie darf nur ein äußerstes Paar von {} Klammern enthalten. Das folgende Beispiel ist falsch, da es zwei Objekte auf der obersten Ebene enthält (siehe red):

{ "Version": "2012-10-17", "Statement": { "Effect":"Allow", "Action":"ec2:Describe*", "Resource":"*" } } { "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::my-bucket/*" } }

Mit der richtigen Schreibweise können Sie das vorgenannte Beispiel jedoch in eine korrekte Richtlinie umwandeln. Statt zwei vollständige Richtlinienobjekte mit jeweils eigenen Statement-Elementen zu nutzen, können Sie die beiden Blöcke in einem einzelnen Statement-Element zusammenfassen. Das Statement-Element weist ein Array mit zwei Objekten als Wert auf, wie im folgenden Beispiel gezeigt (in Fettdruck hervorgehoben):

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource":" *" }, { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::my-bucket/*" } ] }

Mehr als ein JSON Anweisungselement

Dieser Fehler kann zunächst als eine Variante des Fehlers aus dem vorherigen Abschnitt interpretiert werden. Syntaktisch handelt es sich jedoch um einen anderen Fehler. Im folgenden Beispiel befindet sich nur ein Richtlinienobjekt auf der obersten Ebene (durch die {}-Klammern definiert). Das Objekt enthält jedoch zwei Statement-Elemente.

Eine IAM Richtlinie darf nur ein Statement Element enthalten, das aus dem Namen (Statement) links neben einem Doppelpunkt und seinem Wert rechts besteht. Der Wert eines Statement-Elements muss ein Objekt sein (durch {}-Klammern definiert). Es muss ein Effect-Element, ein Action-Element und ein Resource-Element enthalten. Das folgende Beispiel ist falsch, da es zwei Statement Elemente im Richtlinienobjekt enthält (aufgerufen in red):

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::my-bucket/*" } }

Ein Wert-Objekt kann ein Array mehrerer Wert-Objekte sein. Um dieses Problem zu lösen, fassen Sie die zwei Statement-Elemente in einem Element mit einem Objekt-Array zusammen, wie im folgenden Beispiel gezeigt (in Fettdruck hervorgehoben):

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource":"*" }, { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::my-bucket/*" } ] }

Der Wert des Statement-Elements ist eine Objekt-Gruppe. Die Gruppe in diesem Beispiel besteht aus zwei Objekten. Jedes Objekt ist ein gültiger Wert für ein Statement-Element. Die Objekte in der Gruppe werden durch Kommas getrennt.

Mehr als ein Effekt-, Aktions- oder Ressourcenelement in einem JSON Anweisungselement

Auf der Wert-Seite des Statement-Namen/Wert-Paares darf das Objekt nur ein Effect-Element, ein Action-Element und ein Resource-Element enthalten. Die folgende Richtlinie ist falsch, da sie zwei Effect Elemente enthältStatement:

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Effect": "Allow", "Action": "ec2:* ", "Resource": "*" } }
Anmerkung

Die Richtlinien-Engine lässt solche Fehler in neuen oder bearbeiteten Richtlinien nicht zu. Die Richtlinien-Engine lässt jedoch weiterhin Richtlinien zu, die vor der Aktualisierung der Engine gespeichert wurden. Das Fehlerverhalten von vorhandenen Richtlinien ist wie folgt:

  • Mehrere Effect-Elemente: Nur das letzte Effect-Element wird berücksichtigt. Alle anderen werden ignoriert.

  • Mehrere Action Elemente: Alle Action Elemente werden intern kombiniert und so behandelt, als ob sie eine einzige Liste wären.

  • Mehrere Resource Elemente: Alle Resource Elemente werden intern kombiniert und behandelt, als ob sie eine einzige Liste wären.

Die Richtlinien-Engine gestattet es nicht, Richtlinien mit Syntax-Fehlern zu speichern. Korrigieren Sie die Fehler in der Richtlinie vor dem Speichern. Überprüfen und korrigieren Sie alle Empfehlungen zur Richtlinienvalidierung für Ihre Richtlinien.

Grundsätzlich besteht die Lösung darin, das falsche, überflüssige Element zu entfernen. Bei Effect Elements ist das ganz einfach: Wenn Sie möchten, dass im vorherigen Beispiel Berechtigungen für EC2 Amazon-Instances verweigert werden, müssen Sie die Zeile wie folgt "Effect": "Allow", aus der Richtlinie entfernen:

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "ec2:* ", "Resource": "*" } }

Wenn es sich jedoch bei dem duplizierten Element um Action oder Resource handelt, kann sich die Lösung schwieriger gestalten. Sie verfügen ggf. über mehrere Aktionen, die Sie zulassen (oder verweigern) möchten, oder Sie möchten ggf. die Berechtigung für den Zugriff auf mehrere Ressourcen kontrollieren. Das folgende Beispiel ist beispielsweise falsch, da es mehrere Resource Elemente enthält (aufgerufen in red):

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::my-bucket", "Resource": "arn:aws:s3:::my-bucket/*" } }

Jedes der erforderlichen Elemente in einem Wert-Paar-Objekt eines Statement-Elements darf nur einmal vorhanden sein. Die Lösung besteht darin, jeden Wert in einem Array anzuordnen. Das folgende Beispiel erläutert dies, indem die beiden Ressourcenelemente in ein Resource-Element überführt werden, das ein separates Array als Wertobjekt aufweist (in Fettdruck hervorgehoben):

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*" ] } }

JSONFehlendes Versionselement

Das Richtlinienelement Version unterscheidet sich von einer Richtlinienversion. Das Richtlinienelement Version wird innerhalb einer Richtlinie verwendet und gibt die Version der Richtliniensprache an. Im Vergleich dazu wird eine Richtlinienversion erstellt, wenn Sie eine vom Kunden verwaltete Richtlinie in ändernIAM. Die vorhandene Richtlinie wird von der geänderten Richtlinie nicht überschrieben. IAMErstellt stattdessen eine neue Version der verwalteten Richtlinie. Weitere Informationen zum Richtlinienelement Version finden Sie unter IAMJSONpolitische Elemente: Version. Weitere Informationen zu den Richtlinienversionen finden Sie unter Richtlinien zur Versionierung IAM.

Im AWS Zuge der Weiterentwicklung der Funktionen werden den IAM Richtlinien neue Funktionen hinzugefügt, um diese Funktionen zu unterstützen. Zuweilen geht eine Aktualisierung der Richtliniensyntax mit der Vergabe einer neuen Versionsnummer einher. Wenn Sie in Ihren Richtlinien neuere Funktionen der Richtlinienformulierung verwenden, müssen Sie der Richtlinien-Parsing-Engine mitteilen, welche Version Sie verwenden. Die standardmäßige Richtlinienversion lautet "2008-10-17". Wenn Sie eine später hinzugefügte Richtlinienfunktion verwenden möchten, müssen Sie die Versionsnummer angeben, die die gewünschte Funktion unterstützt. Wir empfehlen, immer die neueste Versionsnummer der Richtliniensyntax zu verwenden, zurzeit "Version": "2012-10-17". Die folgende Richtlinie ist beispielsweise falsch, weil sie eine Richtlinienvariable ${...} in der ARN für eine Ressource verwendet. Es kann jedoch keine Richtliniensyntaxversion angegeben werden, die Richtlinienvariablen unterstützt (siehe red):

{ "Statement": { "Action": "iam:*AccessKey*", "Effect": "Allow", "Resource": "arn:aws:iam::123456789012:user/${aws:username}" } }

Das Hinzufügen eines Version Elements am Anfang der Richtlinie mit dem Wert2012-10-17, der ersten IAM API Version, die Richtlinienvariablen unterstützt, löst dieses Problem (fett gedruckt):

{ "Version": "2012-10-17", "Statement": { "Action": "iam:*AccessKey*", "Effect": "Allow", "Resource": "arn:aws:iam::123456789012:user/${aws:username}" } }