Zugriff auf Parameter Store-API-Vorgänge verhindern - AWS Systems Manager

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.

Zugriff auf Parameter Store-API-Vorgänge verhindern

Mithilfe von dienstspezifischen Bedingungen, die von Systems Manager for AWS Identity and Access Management (IAM) -Richtlinien unterstützt werden, können Sie den Zugriff auf Parameter Store API-Operationen und -Inhalte explizit zulassen oder verweigern. Mithilfe dieser Bedingungen können Sie nur bestimmten IAM-Entitäten (Benutzern und Rollen) in Ihrer Organisation erlauben, bestimmte API-Aktionen aufzurufen, oder Sie können verhindern, dass bestimmte IAM-Entitäten diese ausführen. Dazu gehören Aktionen, die über die Parameter Store Konsole, die AWS Command Line Interface (AWS CLI) und ausgeführt werden. SDKs

Systems Manager unterstützt derzeit drei Bedingungen, die spezifisch für Parameter Store sind.

Verhinderung von Änderungen an vorhandenen Parametern mithilfe von ssm:Overwrite

Verwenden Sie die ssm:Overwrite-Bedingung, um zu steuern, ob IAM-Entitäten vorhandene Parameter aktualisieren können.

In der folgenden Beispielrichtlinie erteilt die "Allow" Anweisung die Erlaubnis, Parameter zu erstellen, indem der PutParameter API-Vorgang in der AWS-Konto 123456789012 in der Region USA Ost (Ohio) (us-east-2) ausgeführt wird.

Die "Deny"-Anweisung verhindert jedoch, dass Entitäten die Werte vorhandener Parameter ändern, da die Overwrite-Option für die PutParameter-Aktion ausdrücklich abgelehnt wird. Daher können Entitäten, denen diese Richtlinie zugewiesen ist, Parameter erstellen, aber keine Änderungen an vorhandenen Parametern vornehmen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/*" }, { "Effect": "Deny", "Action": [ "ssm:PutParameter" ], "Condition": { "StringEquals": { "ssm:Overwrite": [ "true" ] } }, "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/*" } ] }

Verhinderung der Erstellung oder Aktualisierung von Parametern, die eine Parameterrichtlinie verwenden, unter Verwendung von ssm:Policies

Verwenden Sie die ssm:Policies-Bedingung, um zu steuern, ob Entitäten Parameter erstellen können, die eine Parameterrichtlinie enthalten, und bestehende Parameter aktualisieren können, die eine Parameterrichtlinie enthalten.

Im folgenden Richtlinienbeispiel gewährt die "Allow" Anweisung allgemeine Berechtigungen zum Erstellen von Parametern, verhindert jedoch, dass Entitäten Parameter erstellen oder aktualisieren, die "Deny" eine Parameterrichtlinie in der AWS-Konto 123456789012 in der Region USA Ost (Ohio) (us-east-2) enthalten. Entitäten können weiterhin Parameter erstellen oder aktualisieren, denen keine Parameterrichtlinie zugewiesen ist.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/*" }, { "Effect": "Deny", "Action": [ "ssm:PutParameter" ], "Condition": { "StringEquals": { "ssm:Policies": [ "true" ] } }, "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/*" } ] }

Den Zugriff auf Ebenen in einem hierarchischen Parameter verhindern mit ssm:Recursive

Verwenden Sie die ssm:Recursive-Bedingung, um zu steuern, ob IAM-Entitäten Ebenen in einem hierarchischen Parameter anzeigen oder darauf verweisen können. Sie können den Zugriff auf alle Parameter außerhalb einer bestimmten Hierarchieebene gewähren oder einschränken.

In der folgenden Beispielrichtlinie gewährt die "Allow"-Anweisung Zugriff auf Parameter Store-Operationen mit allen Parametern im Pfad /Code/Departments/Finance/* für AWS-Konto 123456789012 in der Region USA Ost (Ohio) (us-east-2).

Danach verhindert die "Deny"-Anweisung, dass IAM-Entitäten Parameterdaten auf oder unter der Ebene von /Code/Departments/* anzeigen oder abrufen. Entitäten können jedoch weiterhin Parameter in diesem Pfad erstellen oder aktualisieren. Das Beispiel wurde erstellt, um zu verdeutlichen, dass die rekursive Verweigerung von Zugriffen unterhalb einer bestimmten Ebene in einer Parameterhierarchie Vorrang vor erlaubteren Zugriffen in derselben Richtlinie hat.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:*" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/*" }, { "Effect": "Deny", "Action": [ "ssm:GetParametersByPath" ], "Condition": { "StringEquals": { "ssm:Recursive": [ "true" ] } }, "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/Code/Departments/*" } ] }
Wichtig

Wenn ein Benutzer Zugriff auf einen Pfad hat, kann er auf alle Ebenen dieses Pfads zugreifen. Wenn ein Benutzer beispielsweise die Berechtigung für den Zugriff auf den Pfad /a besitzt, dann kann er auch auf /a/b zugreifen. Dies gilt, sofern dem Benutzer nicht ausdrücklich der Zugriff auf Parameter /b in IAM verweigert wurde, wie oben dargestellt.