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.
Verwenden Sie Aliase, um den Zugriff auf Schlüssel zu KMS steuern
Sie können den Zugriff auf KMS Schlüssel anhand der Aliase steuern, die dem KMS Schlüssel zugeordnet sind. Verwenden Sie dazu die ResourceAliases Bedingungsschlüssel kms: RequestAlias und kms:. Diese Funktion ist Teil der AWS KMS Unterstützung für die attributbasierte Zugriffskontrolle (). ABAC
Der kms:RequestAlias
Bedingungsschlüssel ermöglicht oder verweigert den Zugriff auf einen KMS Schlüssel, der auf dem Alias in einer Anfrage basiert. Der kms:ResourceAliases
Bedingungsschlüssel ermöglicht oder verweigert den Zugriff auf einen KMS Schlüssel auf der Grundlage der mit dem Schlüssel verknüpften Aliase. KMS
Diese Funktionen ermöglichen es Ihnen nicht, einen KMS Schlüssel anhand eines Alias im resource
Element einer Grundsatzerklärung zu identifizieren. Wenn ein Alias der Wert eines resource
Elements ist, gilt die Richtlinie für die Aliasressource, nicht für KMS Schlüssel, die ihr zugeordnet sein könnten.
Anmerkung
Es kann bis zu fünf Minuten dauern, bis sich Tag- und Aliasänderungen auf die KMS Schlüsselautorisierung auswirken. Aktuelle Änderungen sind möglicherweise in API Vorgängen sichtbar, bevor sie sich auf die Autorisierung auswirken.
Beachten Sie bei der Verwendung von Aliasen zur Steuerung des Zugriffs auf KMS Schlüssel Folgendes:
-
Verwenden Sie Aliasse, um beim Zugriff die bewährte Methode der geringsten Berechtigung zu befolgen. Erteilen Sie den IAM Prinzipalen nur die Berechtigungen, die sie benötigen, und zwar nur für die KMS Schlüssel, die sie verwenden oder verwalten müssen. Verwenden Sie beispielsweise Aliase, um die für ein Projekt verwendeten KMS Schlüssel zu identifizieren. Erteilen Sie dann dem Projektteam die Erlaubnis, nur KMS Schlüssel mit den Projekt-Aliasnamen zu verwenden.
-
Seien Sie vorsichtig, wenn Sie Prinzipalen die
kms:CreateAlias
-,kms:UpdateAlias
- oderkms:DeleteAlias
-Berechtigung erteilen, mit denen sie Aliasse hinzufügen, bearbeiten und löschen können. Wenn Sie Aliase verwenden, um den Zugriff auf KMS Schlüssel zu kontrollieren, kann die Änderung eines Alias den Prinzipalen die Erlaubnis geben, KMS Schlüssel zu verwenden, zu deren Verwendung sie sonst nicht berechtigt waren. Es kann auch den Zugriff auf KMS Schlüssel verweigern, die andere Prinzipale für ihre Arbeit benötigen. -
Überprüfen Sie die Principals in Ihrem System AWS-Konto , die derzeit berechtigt sind, Aliase zu verwalten, und passen Sie die Berechtigungen gegebenenfalls an. Schlüsseladministratoren, die nicht berechtigt sind, wichtige Richtlinien zu ändern oder Zuweisungen zu erstellen, können den Zugriff auf KMS Schlüssel kontrollieren, sofern sie berechtigt sind, Aliase zu verwalten.
Zum Beispiel enthält die Standard-Schlüsselrichtlinie für Schlüsseladministratoren der Konsole die
kms:CreateAlias
-kms:DeleteAlias
- undkms:UpdateAlias
-Berechtigung. IAMRichtlinien können Aliasberechtigungen für alle KMS Schlüssel in Ihrem AWS-Konto System gewähren. Die AWSKeyManagementServicePowerUserverwaltete Richtlinie ermöglicht es Prinzipalen beispielsweise, Aliase für alle KMS Schlüssel zu erstellen, zu löschen und aufzulisten, sie jedoch nicht zu aktualisieren. -
Bevor Sie eine Richtlinie festlegen, die von einem Alias abhängt, überprüfen Sie die Aliase auf den KMS Schlüsseln in Ihrem. AWS-Konto Stellen Sie sicher, dass Ihre Richtlinie nur für die Aliase gilt, die Sie einschließen möchten. Verwenden Sie CloudTrail Protokolle und CloudWatch Alarme, um Sie auf Aliasänderungen aufmerksam zu machen, die sich auf den Zugriff auf Ihre KMS Schlüssel auswirken könnten. Außerdem enthält die ListAliasesAntwort das Erstellungsdatum und das Datum der letzten Aktualisierung für jeden Alias.
-
Die Alias-Richtlinienbedingungen verwenden Musterabgleich; sie sind nicht an eine bestimmte Instance eines Aliasses gebunden. Eine Richtlinie, die Alias-basierte Bedingungsschlüssel verwendet, wirkt sich auf alle neuen und vorhandenen Aliasse aus, die dem Muster entsprechen. Wenn Sie einen Alias löschen und neu erstellen, der einer Richtlinienbedingung entspricht, gilt die Bedingung für den neuen Alias, genau wie für den alten Alias.
Der kms:RequestAlias
-Bedingungsschlüssel basiert auf dem Alias, der explizit in einer Operations-Anforderung angegeben ist. Der kms:ResourceAliases
Bedingungsschlüssel hängt von den Aliasen ab, die einem KMS Schlüssel zugeordnet sind, auch wenn sie nicht in der Anfrage vorkommen.
km: RequestAlias
Erlaubt oder verweigert den Zugriff auf einen KMS Schlüssel auf der Grundlage des Alias, der den KMS Schlüssel in einer Anfrage identifiziert. Sie können den RequestAlias Bedingungsschlüssel kms: in einer Schlüsselrichtlinie oder IAM -richtlinie verwenden. Er gilt für Operationen, die einen Alias verwenden, um einen KMS Schlüssel in einer Anfrage zu identifizieren, nämlich kryptografische Operationen DescribeKey, und GetPublicKey. Es ist nicht gültig für Alias-Operationen wie CreateAliasoder DeleteAlias.
Geben Sie im Bedingungsschlüssel einen Aliasnamen oder ein Aliasnamen-Muster an. Sie können keinen Alias angebenARN.
Die folgende wichtige Richtlinienanweisung ermöglicht es Prinzipalen beispielsweise, die angegebenen Operationen für den KMS Schlüssel zu verwenden. Die Berechtigung ist nur wirksam, wenn die Anforderung einen Alias verwendet, der alpha
zur Identifizierung des KMS Schlüssels einschließt.
{ "Sid": "Key policy using a request alias condition", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/alpha-developer" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:RequestAlias": "alias/*alpha*" } } }
Die folgende Beispielanforderung von einem autorisierten Prinzipal würde die Bedingung erfüllen. Eine Anfrage, die eine Schlüssel-ID, einen Schlüssel oder einen anderen Alias verwendetARN, würde die Bedingung jedoch nicht erfüllen, selbst wenn diese Werte denselben KMS Schlüssel identifizieren würden.
$
aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"
km: ResourceAliases
Erlaubt oder verweigert den Zugriff auf einen KMS Schlüssel auf der Grundlage der mit dem KMS Schlüssel verknüpften Aliase, auch wenn der Alias nicht in einer Anfrage verwendet wird. Mit dem ResourceAliases Bedingungsschlüssel kms: können Sie ein Alias- oder Aliasmuster angebenalias/test*
, z. B. damit Sie es in einer IAM Richtlinie verwenden können, um den Zugriff auf mehrere KMS Schlüssel in derselben Region zu kontrollieren. Er ist für jede AWS KMS Operation gültig, die einen KMS Schlüssel verwendet.
Mit der folgenden IAM Richtlinie können die Prinzipale beispielsweise die angegebenen Operationen für die KMS Schlüssel in zwei AWS-Konten Schritten aufrufen. Die Berechtigung gilt jedoch nur für KMS Schlüssel, die Aliasnamen zugeordnet sind, die mit beginnen. restricted
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:*:111122223333:key/*", "arn:aws:kms:*:444455556666:key/*" ], "Condition": { "ForAnyValue:StringLike": { "kms:ResourceAliases": "alias/restricted*" } } } ] }
Die kms:ResourceAliases
-Bedingung ist eine Bedingung der Ressource, nicht die Anforderung. Daher kann eine Anforderung, die den Alias nicht angibt, weiterhin die Bedingung erfüllen.
Die folgende Beispielanforderung, die einen übereinstimmenden Alias angibt, erfüllt die Bedingung.
$
aws kms enable-key-rotation --key-id "alias/restricted-project"
Die folgende Beispielanforderung erfüllt jedoch auch die Bedingung, vorausgesetzt, der angegebene KMS Schlüssel hat einen Alias, der mit beginntrestricted
, auch wenn dieser Alias in der Anfrage nicht verwendet wird.
$
aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"