Untersuchen der Schlüsselrichtlinie - 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.

Untersuchen der Schlüsselrichtlinie

Schlüsselrichtlinien sind die primäre Methode zur Zugriffssteuerung für KMS-Schlüssel. Jeder KMS-Schlüssel besitzt genau eine Schlüsselrichtlinie.

Wenn eine Schlüsselrichtlinie aus der Standard-Schlüsselrichtlinie besteht oder sie enthält, berechtigt die Schlüsselrichtlinie IAM-Administratoren im Konto dazu, mithilfe von IAM-Richtlinien den Zugriff auf den KMS-Schlüssel zu steuern. Wenn die Schlüsselrichtlinie einem anderen AWS-Konto die Berechtigung zur Verwendung des KMS-Schlüssels erteilt, können die IAM-Administratoren im externen Konto diese Berechtigungen anhand von IAM-Richtlinien delegieren. Um die komplette Liste der Prinzipale mit Zugriff auf den KMS-Schlüssel zu bestimmen, untersuchen Sie die IAM-Richtlinien.

Um die Schlüsselrichtlinie eines vom AWS KMS Kunden verwalteten Schlüssels oder Von AWS verwalteter Schlüssel in Ihrem Konto anzuzeigen, verwenden Sie die - AWS Management Console oder die -GetKeyPolicyOperation in der AWS KMS-API. Um die Schlüsselrichtlinie anzeigen zu können, müssen Sie über kms:GetKeyPolicy-Berechtigungen für den KMS-Schlüssel verfügen. Anweisungen zum Anzeigen der Schlüsselrichtlinie für einen KMS-Schlüssel finden Sie unter Anzeigen einer Schlüsselrichtlinie.

Überprüfen Sie das Schlüssel-Richtliniendokument und notieren Sie alle Hauptpunkte, die in jedem Principal Element der Richtlinie aufgeführt ist. In einer Richtlinienanweisung mit der Auswirkung Allow haben die IAM-Benutzer, IAM-Rollen und AWS-Konten in dem Element Principal Zugriff auf diesen KMS-Schlüssel.

Anmerkung

Setzen Sie den Prinzipal nicht auf ein Sternchen (*) in einer Schlüsselrichtlinienanweisung, die Berechtigungen erlaubt, es sei denn, Sie verwenden Bedingungen, um die Schlüsselrichtlinie einzuschränken. Ein Sternchen gibt jeder Identität in jedem AWS-Konto die Berechtigung, den KMS-Schlüssel zu verwenden, es sei denn, eine andere Richtlinienanweisung verweigert dies explizit. Benutzer in anderen AWS-Konten können Ihren KMS-Schlüssel verwenden, wenn sie in ihrem eigenen Konto über entsprechende Berechtigungen verfügen.

Die folgenden Beispiele verwenden die Richtlinien-Anweisungen in der Standard-Schlüsselrichtlinie, um dies zu demonstrieren.

Beispiel Richtlinienanweisung 1
{ "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }

In der Richtlinienanweisung 1 ist arn:aws:iam::111122223333:root ein AWS-Konto-Prinzipal, der sich auf das AWS-Konto 111122223333 bezieht. (Er ist nicht der Root-Benutzer des Kontos.) Standardmäßig ist eine Richtlinienanweisung wie diese im Schlüssel-richtliniendokument vorhanden, wenn Sie mit der AWS Management Console einen neuen KMS-Schlüssel erstellen, und Sie einen neuen KMS-Schlüssel programmgesteuert erstellen, aber keine Schlüsselrichtlinie angeben.

Ein Schlüsselrichtliniendokument mit einer Anweisung, die den Zugriff auf das AWS-Konto erlaubt, aktiviert IAM-Richtlinien im Konto, um den Zugriff auf den KMS-Schlüssel zu erlauben. Das bedeutet, dass Benutzer und Rollen im Konto Zugriff auf den KMS-Schlüssel haben könnten, auch wenn sie explizit nicht als Prinzipale im Schlüsselrichtliniendokument aufgelistet sind. Untersuchen Sie alle IAM-Richtlinien in allen AWS-Konten, die als Prinzipale aufgeführt sind, um zu ermitteln, ob sie Zugriff auf diesen KMS-Schlüssel erlauben.

Beispiel Richtlinienanweisung 2
{ "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/KMSKeyAdmins"}, "Action": [ "kms:Describe*", "kms:Put*", "kms:Create*", "kms:Update*", "kms:Enable*", "kms:Revoke*", "kms:List*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }

In Richtlinienanweisung 2 arn:aws:iam::111122223333:role/KMSKeyAdmins bezieht sich auf die IAM-Rolle mit dem Namen KMS KeyAdmins im AWS-Konto 111122223333. Benutzer, die diese Rolle annehmen dürfen, dürfen die in der Richtlinienanweisung aufgeführten Aktionen ausführen, die die administrativen Aktionen für die Verwaltung eines KMS-Schlüssels sind.

Beispiel Richtlinienanweisung 3
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/EncryptionApp"}, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey*", "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt" ], "Resource": "*" }

In Richtlinienanweisung 3 arn:aws:iam::111122223333:role/EncryptionApp bezieht sich auf die IAM-Rolle mit dem Namen EncryptionApp in AWS-Konto 111122223333. Prinzipale, die diese Rolle annehmen dürfen, dürfen die in der Richtlinienanweisung aufgeführten Aktionen durchführen, die die kryptografischen Operationen für einen symmetrischen KMS-Schlüssel enthalten.

Beispiel Richtlinienanweisung 4
{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/EncryptionApp"}, "Action": [ "kms:ListGrants", "kms:CreateGrant", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }

In Richtlinienanweisung 4 arn:aws:iam::111122223333:role/EncryptionApp bezieht sich auf die IAM-Rolle mit dem Namen EncryptionApp in AWS-Konto 111122223333. Prinzipal, die diese Rolle annehmen dürfen, dürfen die in der Richtlinienanweisung aufgeführten Aktionen ausführen. Diese Aktionen in Kombination mit den erlaubten Aktionen in der Beispiel-Richtlinienanweisung 3 sind diejenigen, die zum Delegieren der Verwendung des KMS-Schlüssels für die meisten AWS-Services, die mit AWS KMS integriert sind, erforderlich sind, insbesondere für die Services, die Erteilungen verwenden. Der kms:GrantIsForAWSResource-Wert im -ConditionElement stellt sicher, dass die Delegierung nur zulässig ist, wenn der Delegierte ein -AWSService ist, der in integriert ist AWS KMS und Erteilungen für die Autorisierung verwendet.

Die unterschiedlichen Möglichkeiten zum Angeben eines Prinzipals in einem Schlüsselrichtlinien-Dokument finden Sie unter Angeben eines Prinzipals im IAM-Benutzerhandbuch.

Weitere Informationen zu AWS KMS-Schlüsselrichtlinien finden Sie unter Wichtige Richtlinien in AWS KMS.