View a markdown version of this page

IAM-Richtlinien mit dem IAM-Richtliniensimulator testen - 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.

IAM-Richtlinien mit dem IAM-Richtliniensimulator testen

Mit dem IAM-Richtliniensimulator können Sie identitätsbasierte Richtlinien, IAM-Berechtigungsgrenzen, Service Control-Richtlinien (SCPs) und ressourcenbasierte Richtlinien testen, die Sie bereitstellen. Sie simulieren, wie eine Anfrage anhand dieser Richtlinien bewertet AWS würde, ohne eine echte Anfrage an einen Dienst zu senden. AWS Jede Simulation gibt für jede Aktion und Ressource, die Sie testen, ein binäres Autorisierungsergebnis zurück: Die Aktion ist entweder zugelassen oder verweigert. Wenn das Ergebnis eine Genehmigung oder eine ausdrückliche Ablehnung ist, zeigt Ihnen der Simulator auch, welche Richtlinie zu diesem Ergebnis geführt hat, sodass Sie die Ursache verstehen und beheben können.

Weitere Informationen dazu, wie und warum IAM-Richtlinien verwendet werden, finden Sie unter Richtlinien und Berechtigungen in AWS Identity and Access Management.

Wichtig

Die Ergebnisse des Richtliniensimulators können von Ihrer AWS Live-Umgebung abweichen. Wir empfehlen Ihnen, Ihre Richtlinien nach dem Testen mit dem Richtliniensimulator anhand Ihrer AWS Live-Umgebung zu überprüfen, um sicherzustellen, dass Sie die gewünschten Ergebnisse erzielt haben. Weitere Informationen finden Sie unter Funktionsweise des IAM-Richtliniensimulators.

Der folgende Screenshot zeigt den IAM-Richtliniensimulator, in dem Sie eine Identität und ihre Richtlinien auswählen und die Aktionen und Ressourcen auswählen, die getestet werden sollen, bevor Sie die Simulation ausführen.

Die IAM-Richtliniensimulator-Konsole im Prinzipalmodus.

Modi des Richtliniensimulators

Der Richtliniensimulator hat zwei Modi. Wählen Sie den Modus, der dazu passt, ob Sie Richtlinien testen möchten, die bereits in Ihrem Konto vorhanden sind, oder Richtlinien, die Sie noch entwerfen.

Prinzipalmodus

Im Prinzipalmodus testen Sie die Richtlinien, die bereits einem vorhandenen IAM-Benutzer, einer vorhandenen IAM-Rolle oder -Gruppe zugeordnet sind. Sie wählen eine Identität für die Simulation aus, und der Simulator bewertet die Richtlinien, die dieser Identität zugeordnet sind. Sie können auch benutzerdefinierte Identitätsrichtlinien oder Berechtigungsgrenzen in die Simulation einbeziehen oder ausschließen. Diese Ergänzungen werden simuliert, als ob sie dem Principal zugeordnet wären, ohne dass sie tatsächlich in IAM angehängt wären. Ihr Konto bleibt also unverändert.

Benutzerdefinierter Modus

Im benutzerdefinierten Modus testen Sie eine oder mehrere Richtlinien, die Sie schreiben oder einfügen. Dies ist nützlich, um eine Richtlinie zu überprüfen, bevor Sie sie anhängen. Benutzerdefinierte Richtlinien werden eigenständig simuliert und nicht in Ihrem Konto gespeichert.

Eine ausführliche, schrittweise Anleitung zur Auswahl eines Modus und zum Ausführen einer Simulation finden Sie unterSo simulieren Sie Richtlinien.

Was können Sie mit dem Richtliniensimulator machen

Hier sind einige allgemeine Dinge, die Sie mit dem Richtliniensimulator tun können. Eine detailliertere schrittweise Anleitung und die Unterscheidung zwischen API- und Konsolenverhalten finden Sie unterSo simulieren Sie Richtlinien.

  • Testen Sie identitätsbasierte Richtlinien, unabhängig davon, ob sie bereits einem IAM-Benutzer, einer IAM-Gruppe oder einer IAM-Rolle zugeordnet sind, oder neue Richtlinien, die Sie schreiben oder einfügen. Bei einer angehängten Identität mit mehr als einer Richtlinie können Sie alle Richtlinien zusammen testen oder einzelne Richtlinien auswählen und herausfinden, welche Aktionen für bestimmte Ressourcen zulässig oder verweigert sind. Neue Richtlinien werden so bewertet, als ob sie an eine Identität angehängt wären, ohne sie tatsächlich in Ihrem Konto anzuhängen. Sie werden nur in der Simulation verwendet und nicht in Ihrem Konto gespeichert.

  • Testen Sie die Wirkung restriktiver Kontrollen auf den Zugriff. Sie können jeweils eine Berechtigungsgrenze simulieren. Wenn Sie AWS-Konto Mitglied einer Organisation in sind, können Sie auch testen AWS Organizations, wie sich Service Control Policies (SCPs) auf Ihre identitätsbasierten Richtlinien auswirken. Der Simulator teilt Ihnen mit, ob ein SCP eine Aktion zulässt oder ablehnt, aber aus Sicherheitsgründen zeigt er die entsprechenden Anweisungen eines SCP nicht an, wie dies bei anderen Richtlinientypen der Fall ist.

  • Testen Sie die Wirkung einer von Ihnen bereitgestellten ressourcenbasierten Richtlinie. Außer in der Konsole ruft der Simulator die Richtlinie einer Ressource nicht für Sie ab. Um eine ressourcenbasierte Richtlinie in eine Simulation einzubeziehen, geben Sie die Richtlinie zusammen mit der Ressource an.

  • Testen Sie bestimmte Dienste, Aktionen und Ressourcen unter realen Bedingungen und ermitteln Sie, was das Ergebnis bestimmt. Sie können beispielsweise testen, ob eine Richtlinie die DeleteBucket AktionenListAllMyBuckets,CreateBucket, und in Amazon S3 für einen bestimmten Bucket zulässt, und Kontextschlüssel wie eine IP-Adresse oder ein Datum angeben, auf die in Condition Elementen der getesteten Richtlinien verwiesen wird. Für jedes Ergebnis identifiziert der Simulator, welche spezifische Anweisung den Zugriff erlaubt oder verweigert. Übereinstimmende Anweisungen können aus identitätsbasierten Richtlinien und aus von Ihnen bereitgestellten ressourcenbasierten Richtlinien stammen.

Funktionsweise des IAM-Richtliniensimulators

Wenn Sie eine Simulation ausführen, bewertet der Richtliniensimulator die Richtlinien im Geltungsbereich der Anfrage, alle SCPs im Geltungsbereich und die von Ihnen bereitgestellten Eingaben, wie Aktionen, Ressourcen und Kontextschlüsselwerte. Im benutzerdefinierten Modus geben Sie die Richtlinien direkt ein. Im Prinzipalmodus verwendet der Simulator die Richtlinien, die der von Ihnen ausgewählten Identität zugeordnet sind, und Sie können weitere Richtlinien in die Simulation einbeziehen oder ausschließen. Das Ergebnis ist ein binäres Ergebnis für jede Aktion und Ressource: erlaubt oder verweigert.

Der Richtliniensimulator unterscheidet sich in folgenden Punkten von der AWS Live-Umgebung:

  • Der Richtliniensimulator stellt keine eigentliche AWS Serviceanfrage, sodass Sie Anfragen, die andernfalls zu unerwünschten Änderungen an Ihrer AWS Live-Umgebung führen könnten, sicher testen können. Er verwendet keine echten Kontext-Schlüsselwerte aus der Produktion, und da die Aktionen nicht wirklich ausgeführt werden, gibt er keine Serviceantwort zurück. Das einzige Ergebnis ist, ob jede angeforderte Aktion zulässig oder verweigert würde.

  • Wenn Sie eine Richtlinie im Richtliniensimulator bearbeiten, wirkt sich die Änderung nur auf die Simulation aus. Die entsprechende Richtlinie in Ihrem AWS-Konto bleibt unverändert.

  • Der Policy-Simulator wertet SCPs aus, einschließlich der Bedingungsschlüssel und des Ressourcenbereichs in Deny-Statements, unterstützt jedoch keine Resource Control Policies (RCPs). Bei einigen erweiterten Konfigurationen, wie VPC-Endpunktrichtlinien, Rollenverkettung oder mehreren ressourcenbasierten Richtlinien für eine einzelne Ressource, können die Simulationsergebnisse immer noch vom tatsächlichen Verhalten abweichen.

  • Cross-account Simulationen geben Entscheidungen pro Richtlinientyp (Identitätspolitik und Ressourcenpolitik) zurück. EvalDecisionDetails

So funktioniert die Bewertung von Bedingungsschlüsseln im IAM-Policy-Simulator

Viele Richtlinien verwenden Condition Elemente, die von Bedingungsschlüsseln abhängen, wie z. B. aws:RequestedRegion oderaws:MultiFactorAuthPresent. Wenn Sie eine Simulation ausführen, ruft der Richtliniensimulator Werte für die Bedingungsschlüssel aus zwei Quellen ab: Werte, die der Simulator automatisch ausfüllt, und Werte, die Sie als Simulationseingabe angeben. Wenn ein Wert eine Bedingung nicht erfüllt, wird die Aktion verweigert.

Kontext, den der Simulator automatisch füllt

Der Simulator füllt die folgenden Schlüssel für den Haupt- und Organisationskontext für die Auswertung aus:

  • Hauptkontext:aws:PrincipalAccount,aws:PrincipalId,aws:PrincipalType,aws:Type, aws:UserId aws:UserName

  • Organisationskontext:aws:PrincipalOrgID,aws:PrincipalOrgMasterAccountId, aws:PrincipalOrgPaths

Da diese Schlüssel für Sie eingegeben werden, werden SCPs und andere Richtlinien, die Hauptbenutzer- oder Organisationsbedingungen verwenden, korrekt ausgewertet. Sie geben die Werte für alle anderen Bedingungsschlüssel an, auf die Ihre Richtlinien verweisen. Überprüfen Sie die Condition Elemente in den Richtlinien, die Sie testen, und geben Sie Werte für alle Schlüssel ein, die nicht in der obigen Liste aufgeführt sind.

Globale Bedingungsschlüssel und Serviceunterstützung

Bei identitätsbasierten Richtlinien und ressourcenbasierten Richtlinien ermittelt der Simulator nicht, welche Dienste einen bestimmten globalen Bedingungsschlüssel für die Autorisierung unterstützen. Beispielsweise erkennt der Simulator nicht, dass ein Dienst dies nicht unterstützt. aws:TagKeys Im Gegensatz dazu werden Service Control Policies (SCPs) mit dienstbezogener Logik ausgewertet, einschließlich globaler Bedingungsschlüssel wie aws:RequestedRegion und. aws:PrincipalAccount Weitere Informationen über Bedingungsschlüssel finden Sie unter AWS globale Bedingungskontextschlüssel.

Bedingungsschlüssel in Service Control Policies (SCPs)

Der Simulator wertet die Bedingungsschlüssel und den Ressourcenumfang in SCPs aus. Wie Sie Werte für diese Schlüssel angeben, hängt davon ab, wie Sie die Simulation ausführen:

  • Mit der AWS CLI AWS OR-API können Sie Werte für Bedingungsschlüssel angeben, auf die SCPs verweisen.

  • In der IAM-Konsole können Sie nur Werte für Bedingungsschlüssel festlegen, die in Ihren identitätsbasierten Richtlinien, Berechtigungsgrenzen oder ressourcenbasierten Richtlinien vorkommen. Wenn nur ein SCP auf einen Bedingungsschlüssel verweist, können Sie in der Konsole keinen Wert dafür festlegen. Wenn derselbe Bedingungsschlüssel jedoch auch in einer dieser anderen Richtlinien vorkommt, wird der von Ihnen festgelegte Wert für die gesamte Bewertung verwendet, einschließlich des SCP.

Aus Sicherheitsgründen gibt die SCP-Bewertung keine fehlenden Kontextwerte zurück. Sie erhalten weiterhin die Entscheidung „Zulassen“ oder „Ablehnen“ für die Anfrage.