Verwenden von Tags zur Steuerung des Zugriffs auf KMS-Schlüssel - 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 von Tags zur Steuerung des Zugriffs auf KMS-Schlüssel

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 nur erlaubt, die KMS-Schlüssel mit einem bestimmten Tag zu aktivieren und zu deaktivieren. Oder Sie können eine IAM-Richtlinie verwenden, um zu verhindern, dass Prinzipale KMS-Schlüssel in kryptografischen Operationen verwenden, es sei denn, der KMS-Schlüssel hat ein bestimmtes Tag.

Dieses Feature ist Teil der AWS KMS-Unterstützung für attributbasierte Zugriffssteuerung (ABAC). Weitere Informationen zur Verwendung von Tags, um den Zugriff auf Ihre AWS-Ressourcen zu steuern, finden Sie unter Was ist ABAC für AWS? und Steuerung des Zugriffs auf AWS-Ressourcen mit Ressourcen-Tags im IAM-Benutzerhandbuch. Hilfe zur Behebung von Zugriffsproblemen im Zusammenhang mit ABAC finden Sie unter Fehlerbehebung bei ABAC für AWS KMS.

Anmerkung

Es kann bis zu fünf Minuten dauern, bis Tag- und Alias-Änderungen Auswirkungen auf die KMS-Schlüsselautorisierung haben. Letzte Änderungen sind möglicherweise in API-Operationen 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 basierend auf den Tags auf dem KMS-Schlüssel steuern können. https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html Da mehrere KMS-Schlüssel das gleiche Tag haben können, können Sie mit diesem Feature 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 deren Tags ändern.

In AWS KMS wird der Bedingungsschlüssel aws:ResourceTag/tag-key nur in IAM-Richtlinien unterstützt. Es wird nicht in Schlüsselrichtlinien unterstützt, die nur für einen KMS-Schlüssel gelten, oder für Operationen, die keinen bestimmten KMS-Schlüssel verwenden, z. B. die - ListKeys oder -ListAliasesOperationen.

Die Steuerung des Zugriffs mit Tags bietet eine einfache, skalierbare und flexible Möglichkeit, Berechtigungen zu verwalten. Wenn es jedoch nicht richtig gestaltet und verwaltet wird, kann es versehentlich den Zugriff auf Ihre KMS-Schlüssel zulassen 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. Geben Sie IAM-Prinzipalen nur die Berechtigungen ein, die sie nur für die KMS-Schlüssel benötigen, die sie verwenden oder verwalten müssen. Verwenden Sie beispielsweise Tags, um die KMS-Schlüssel zu markieren, die für ein Projekt verwendet werden. Geben Sie dann dem Projektteam die Berechtigung, 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 Prinzipalen die Berechtigung zur Verwendung von KMS-Schlüsseln erteilen, die andernfalls nicht über die Berechtigung verfügen. Es kann auch den Zugriff auf KMS-Schlüssel verweigern, die andere Prinzipale für ihre Aufträge benötigen. Schlüsseladministratoren, die nicht über die Berechtigung zum Ändern von Schlüsselrichtlinien oder zum Erstellen von Erteilungen verfügen, können den Zugriff auf KMS-Schlüssel steuern, wenn sie über die Berechtigung zum Verwalten von Tags verfügen.

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

  • Überprüfen Sie die Prinzipale in Ihrem AWS-Konto, die derzeit über Markierungs- und Entmarkierungs-Berechtigungen verfügen, und passen Sie sie gegebenenfalls an. Zum Beispiel enthält die Standard-Schlüsselrichtlinie für Schlüsseladministratoren der Konsole die kms:TagResource- und kms:UntagResource-Berechtigung für diesen KMS-Schlüssel. IAM-Richtlinien erlauben vielleicht Markierungs- und Entmarkierungs-Berechtigungen für alle KMS-Schlüssel. Die von AWSKeyManagementServicePowerUser verwaltete Richtlinie erlaubt es beispielsweise Prinzipalen, Tags auf allen KMS-Schlüsseln zu markieren, zu entmarkieren und aufzulisten.

  • Bevor Sie eine Richtlinie festlegen, die von einem Tag abhängt, überprüfen Sie die Tags der KMS-Schlüssel 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 Tag-Änderungen 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.

Betrachten Sie beispielsweise die folgende IAM-Richtlinie: Sie ermöglicht es den Prinzipalen, die Entschlüsselungsvorgänge GenerateDataKeyWithoutPlaintext und nur für KMS-Schlüssel in Ihrem Konto aufzurufen, die die Region Asien-Pazifik (Singapur) sind und ein "Project"="Alpha" Tag haben. 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 erlaubt es den Prinzipalen, den KMS-Schlüssel im Konto für kryptografische Operationen zu verwenden. Sie verbietet es den Prinzipalen jedoch, diese kryptografischen Operationen für KMS-Schlüssel mit einem "Type"="Reserved"-Tag oder keinem "Type"-Tag zu verwenden.

{ "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" } } } ] }