Verwenden Sie Tags, um den Zugriff auf KMS Schlüssel zu steuern - AWS Key Management Service

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 Tags, um den Zugriff auf KMS Schlüssel zu steuern

Sie können den Zugriff auf AWS KMS keys anhand der Tags auf dem KMS Schlüssel steuern. Sie können beispielsweise eine IAM Richtlinie schreiben, die es Prinzipalen ermöglicht, nur die KMS Schlüssel zu aktivieren und zu deaktivieren, die über ein bestimmtes Tag verfügen. Oder Sie können eine IAM Richtlinie verwenden, um zu verhindern, dass Prinzipale KMS Schlüssel für kryptografische Operationen verwenden, es sei denn, der KMS Schlüssel hat ein bestimmtes Tag.

Diese Funktion ist Teil der AWS KMS Unterstützung für die attributebasierte Zugriffskontrolle (). ABAC Informationen zur Verwendung von Tags zur Steuerung des Zugriffs auf AWS Ressourcen finden Sie unter Wofür? ABAC AWS und Steuern des Zugriffs auf AWS Ressourcen mithilfe von Ressourcen-Tags im IAMBenutzerhandbuch. Hilfe zur Lösung von Zugriffsproblemen im Zusammenhang mit finden Sie ABAC unterProblembehandlung ABAC für AWS KMS.

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.

AWS KMS unterstützt den globalen Bedingungskontextschlüssel aws:ResourceTag/tag-key, mit dem Sie den Zugriff auf KMS Schlüssel anhand der Tags im Schlüssel steuern können. KMS Da mehrere KMS Schlüssel dasselbe Tag haben können, können Sie mit dieser Funktion die Berechtigung auf einen ausgewählten Satz von KMS Schlüsseln anwenden. Sie können die KMS Schlüssel im Satz auch einfach ändern, indem Sie ihre Tags ändern.

In AWS KMS wird der aws:ResourceTag/tag-key Bedingungsschlüssel nur in IAM Richtlinien unterstützt. Er wird nicht in wichtigen Richtlinien unterstützt, die nur für einen KMS Schlüssel gelten, oder bei Vorgängen, die keinen bestimmten KMS Schlüssel verwenden, wie z. B. die ListAliasesOperationen ListKeysoder.

Die Steuerung des Zugriffs mit Tags bietet eine einfache, skalierbare und flexible Möglichkeit, Berechtigungen zu verwalten. Wenn es jedoch nicht richtig konzipiert und verwaltet wird, kann es versehentlich den Zugriff auf Ihre KMS Schlüssel gewähren oder verweigern. Wenn Sie Tags verwenden, um den Zugriff zu steuern, sollten Sie die folgenden Methoden berücksichtigen.

  • Verwenden Sie Tags, um beim Zugriff die bewährte Methode der geringsten Berechtigung zu befolgen. Erteilen Sie IAM Principals 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 Tags, um die für ein Projekt verwendeten KMS Schlüssel zu beschriften. Erteilen Sie dann dem Projektteam die Erlaubnis, nur KMS Schlüssel mit dem Projekt-Tag zu verwenden.

  • Seien Sie vorsichtig, wenn Sie Prinzipalen die kms:TagResource- und kms:UntagResource-Berechtigung erteilen, mit denen sie Tags hinzufügen, bearbeiten und löschen können. Wenn Sie Tags verwenden, um den Zugriff auf KMS Schlüssel zu steuern, kann das Ändern eines Tags 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. Schlüsseladministratoren, die nicht berechtigt sind, wichtige Richtlinien zu ändern oder Zuweisungen zu vergeben, können den Zugriff auf KMS Schlüssel kontrollieren, sofern sie über die Berechtigung zur Verwaltung von Stichwörtern verfügen.

    Verwenden Sie nach Möglichkeit eine Richtlinienbedingung, z. B. aws:RequestTag/tag-key aws:TagKeys um die Tag-Berechtigungen eines Prinzipals auf bestimmte Tags oder Tag-Muster für bestimmte KMS Schlüssel zu beschränken.

  • Prüfen Sie die Prinzipale in Ihrem System AWS-Konto , die derzeit über Berechtigungen zum Markieren und Entmarkieren verfügen, und passen Sie diese gegebenenfalls an. Die Standardschlüsselrichtlinie der Konsole für Schlüsseladministratoren beinhaltet kms:TagResource beispielsweise eine kms:UntagResource Berechtigung für diesen Schlüssel. KMS IAMRichtlinien können für alle KMS Schlüssel Berechtigungen zum Markieren und Aufheben von Kennzeichnungen zulassen. Die AWSKeyManagementServicePowerUserverwaltete Richtlinie ermöglicht es Prinzipalen beispielsweise, Tags für alle Schlüssel zu kennzeichnen, die Markierung aufzuheben und sie aufzulisten. KMS

  • Bevor Sie eine Richtlinie festlegen, die von einem Tag abhängt, überprüfen Sie die Tags auf den KMS Schlüsseln in Ihrem. AWS-Konto Stellen Sie sicher, dass Ihre Richtlinie nur für die Tags gilt, die Sie einschließen möchten. Verwenden Sie CloudTrail Protokolle und CloudWatch Alarme, um Sie auf Änderungen am Tag aufmerksam zu machen, die sich auf den Zugriff auf Ihre KMS Schlüssel auswirken könnten.

  • Die tag-basierten Richtlinienbedingungen verwenden Musterabgleich; sie sind nicht an eine bestimmte Instance eines Tags gebunden. Eine Richtlinie, die Tag-basierte Bedingungsschlüssel verwendet, wirkt sich auf alle neuen und vorhandenen Tags aus, die dem Muster entsprechen. Wenn Sie ein Tag löschen und neu erstellen, das einer Richtlinienbedingung entspricht, gilt die Bedingung für das neue Tag, genau wie für das alte Tag.

Denken Sie beispielsweise an die folgende IAM Richtlinie. Es ermöglicht den Principals, die Operationen GenerateDataKeyWithoutPlaintextund Decrypt nur für KMS Schlüssel in Ihrem Konto aufzurufen, die sich in der Region Asien-Pazifik (Singapur) befinden und über ein "Project"="Alpha" Tag verfügen. Sie können diese Richtlinie an Rollen im Beispiel Alpha-Projekt anfügen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyWithResourceTag", "Effect": "Allow", "Action": [ "kms:GenerateDataKeyWithoutPlaintext", "kms:Decrypt" ], "Resource": "arn:aws:kms:ap-southeast-1:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Project": "Alpha" } } } ] }

Die folgende IAM Beispielrichtlinie ermöglicht es den Prinzipalen, jeden beliebigen KMS Schlüssel im Konto für bestimmte kryptografische Operationen zu verwenden. Sie verbietet den Prinzipalen jedoch, diese kryptografischen Operationen für KMS Schlüssel mit oder ohne Tag zu verwenden. "Type"="Reserved" "Type"

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMAllowCryptographicOperations", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMDenyOnTag", "Effect": "Deny", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Type": "Reserved" } } }, { "Sid": "IAMDenyNoTag", "Effect": "Deny", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "Null": { "aws:ResourceTag/Type": "true" } } } ] }