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.
Beschränken des Zugriffs auf Parameter Store Parameter mithilfe von IAM-Richtlinien
Sie schränken den Zugriff auf AWS Systems Manager Parameter mithilfe von AWS Identity and Access Management (IAM) ein. Genauer gesagt können Sie IAM-Richtlinien erstellen, die den Zugriff auf die folgenden API-Operationen beschränken:
Wenn Sie IAM-Richtlinien verwenden, um den Zugriff auf Systems Manager-Parameter einzuschränken, sollten Sie restriktive IAM-Richtlinien erstellen und verwenden. Die folgende Richtlinie ermöglicht z. B. den Aufruf der API-Operationen DescribeParameters
und GetParameters
für einen eingeschränkten Satz von Ressourcen. Das bedeutet, dass der Benutzer Informationen zu allen Parametern, die mit prod-*
beginnen, abrufen und diese verwenden kann.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" } ] }
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. Selbst wenn einem Benutzer in IAM der Zugriff auf den Parameter /a/b
ausdrücklich verweigert wurde, kann er dennoch die GetParametersByPath
-API-Operation rekursiv für /a
aufrufen und /a/b
anzeigen.
Vertrauenswürdigen Administratoren können Sie mithilfe einer Richtlinie ähnlich dem folgenden Beispiel Zugriff auf alle API-Operationen für Systems Manager-Parameter gewähren. Mit dieser Richtlinie erhält der Benutzer vollen Zugriff auf alle Produktionsparameter, die mit dbserver-prod-*
beginnen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:GetParameterHistory", "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter", "ssm:DeleteParameters" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/dbserver-prod-*" }, { "Effect": "Allow", "Action": "ssm:DescribeParameters", "Resource": "*" } ] }
Verweigern von Berechtigungen
Jede API ist einzigartig und verfügt über unterschiedliche Operationen und Berechtigungen, die Sie einzeln zulassen oder verweigern können. Eine explizite Zugriffsverweigerung überschreibt jede Zugriffserlaubnis in einer Richtlinie.
Anmerkung
Der Standardschlüssel AWS Key Management Service (AWS KMS) verfügt über Decrypt
Berechtigungen für alle IAM-Prinzipale innerhalb von. AWS-Konto Wenn Sie unterschiedliche Zugriffsebenen für SecureString
-Parameter in Ihrem Konto haben möchten, raten wir Ihnen davon ab, den Standardschlüssel zu verwenden.
Wenn Sie möchten, dass alle API-Operationen, die Parameterwerte abrufen, das gleiche Verhalten haben, dann können Sie ein Muster wie GetParameter*
in einer Richtlinie verwenden. Im folgenden Beispiel wird gezeigt, wie Sie GetParameter
, GetParameters
, GetParameterHistory
und GetParametersByPath
für alle Parameter, die mit prod-*
beginnen, verweigern.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:GetParameter*" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" } ] }
Das folgende Beispiel zeigt, wie einige Befehle verweigert werden, während der Benutzer andere Befehle für alle Parameter ausführen kann, die mit prod-*
beginnen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:DeleteParameters", "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter", "ssm:GetParameterHistory" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" } ] }
Anmerkung
Der Parameterverlauf umfasst alle Parameterversionen, einschließlich der aktuellen. Wenn einem Benutzer daher die Berechtigung für GetParameter
, GetParameters
und GetParameterByPath
nicht gewährt wird, er aber die Berechtigung für GetParameterHistory
erhält, kann er den aktuellen Parameter, einschließlich SecureString
, unter Verwnedung von GetParameterHistory
sehen.
Erlauben nur bestimmter Parameter für die Ausführung auf Knoten
Sie können den Zugriff so steuern, dass verwaltete Knoten nur von Ihnen angegebene Parameter ausführen können.
Wenn Sie bei der Erstellung Ihres SecureString
Parameters den Parametertyp wählen, verschlüsselt Systems AWS KMS Manager den Parameterwert. AWS KMS verschlüsselt den Wert entweder mithilfe eines Von AWS verwalteter Schlüssel oder eines vom Kunden verwalteten Schlüssels. Weitere Informationen zu AWS KMS und AWS KMS key finden Sie im AWS Key Management Service Entwicklerhandbuch.
Sie können das anzeigen, Von AWS verwalteter Schlüssel indem Sie den folgenden Befehl von der aus ausführen AWS CLI.
aws kms describe-key --key-id alias/aws/ssm
Im folgenden Beispiel dürfen Knoten einen Parameterwert nur für Parameter abrufen, die mit prod-
beginnen. Wenn der Parameter ein SecureString
-Parameter ist, entschlüsselt der Knoten die Zeichenfolge mit AWS KMS.
Anmerkung
Instance-Richtlinien wie im folgenden Beispiel werden der Instance-Rolle in IAM zugeordnet. Weitere Informationen zur Konfiguration des Zugriffs auf Systems Manager-Funktionen einschließlich einer Anleitung für die Zuweisung von Richtlinien für Benutzer und Instances finden Sie unter EC2 Instanzen mit Systems Manager verwalten.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-2:123456789012:key/4914ec06-e888-4ea5-a371-5b88eEXAMPLE" ] } ] }
IAM-Berechtigungen für die Verwendung von AWS Standardschlüsseln und vom Kunden verwalteten Schlüsseln
Parameter Store SecureString
Parameter werden mithilfe von Schlüsseln ver- und entschlüsselt AWS KMS . Sie können wählen, ob Sie Ihre SecureString
Parameter entweder mit einem AWS KMS key oder mit dem Standard-KMS-Schlüssel von verschlüsseln möchten. AWS
Wenn Sie einen kundenverwalteten Schlüssel verwenden, muss die IAM-Richtlinie, die einem Benutzer Zugriff auf einen Parameter oder Parameterpfad erteilt, explizite kms:Encrypt
-Berechtigungen für den Schlüssel bereitstellen. Die folgende Richtlinie ermöglicht es einem Benutzer beispielsweise, SecureString
Parameter zu erstellen, zu aktualisieren und anzuzeigen, die mit prod-
dem angegebenen AWS-Region und AWS-Konto beginnen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameter", "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-2:111122223333:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey"
], "Resource": [ "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE" ] } ] }
1Um verschlüsselte erweiterte Parameter mit dem angegebenen kundenverwalteten Schlüssel zu erstellen, ist die Berechtigung kms:GenerateDataKey
erforderlich.
Im Gegensatz hierzu haben alle Benutzer innerhalb des Kundenkontos Zugriff auf den standardmäßigen AWS -verwalteten Schlüssel. Wenn Sie diesen Standardschlüssel zum Verschlüsseln von SecureString
-Parametern verwenden und nicht möchten, dass Benutzer mit SecureString
-Parametern arbeiten, müssen ihre IAM-Richtlinien den Zugriff auf den Standardschlüssel ausdrücklich ablehnen, wie im folgenden Richtlinienbeispiel gezeigt.
Anmerkung
Sie finden den Amazon-Ressourcennamen (ARN) des Standardschlüssels in der AWS KMS -Konsole auf der Seite AWS -verwaltete Schlüsselaws/ssm
in der Spalte Alias (Alias) identifiziert wird.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-2:111122223333:key/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE" ] } ] }
Wenn Sie in Bezug auf die SecureString
-Parameter in Ihrem Konto eine granulare Zugriffskontrolle benötigen, sollten Sie einen kundenverwalteten Schlüssel verwenden, um den Zugriff auf diese Parameter zu schützen und einzuschränken. Wir empfehlen außerdem, die Verwendung AWS CloudTrail zur Überwachung von SecureString
Parameteraktivitäten zu verwenden.
Weitere Informationen finden Sie unter den folgenden Themen:
-
Auswertungslogik für Richtlinien im IAM-Benutzerhandbuch
-
Verwenden von Schlüsselrichtlinien in AWS KMS im AWS Key Management Service -Benutzerhandbuch
-
Ereignisse mit dem CloudTrail Ereignisverlauf im AWS CloudTrail Benutzerhandbuch anzeigen