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.
Erstellen einer Schlüsselrichtlinie
Sie können wichtige Richtlinien in der AWS KMS Konsole oder mithilfe von AWS KMS API Operationen wie CreateKeyReplicateKey, und erstellen und verwalten PutKeyPolicy.
Wenn Sie einen KMS Schlüssel in der AWS KMS Konsole erstellen, führt Sie die Konsole Schritt für Schritt durch die Erstellung einer Schlüsselrichtlinie, die auf der Standardschlüsselrichtlinie für die Konsole basiert. Wenn Sie CreateKey
oder verwenden ReplicateKey
APIs, wenn Sie keine Schlüsselrichtlinie angeben, APIs wenden diese die Standardschlüsselrichtlinie für programmgesteuert erstellte Schlüssel an. Wenn Sie die verwenden PutKeyPolicy
API, müssen Sie eine Schlüsselrichtlinie angeben.
Jedes Richtliniendokument kann eine oder mehrere Richtlinienanweisungen enthalten. Das folgende Beispiel zeigt ein gültiges Schlüsselrichtliniendokument mit einer Richtlinienanweisung.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "
Describe the policy statement
", "Effect": "Allow
", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Alice
" }, "Action": "kms:DescribeKey
", "Resource": "*", "Condition": { "StringEquals
": {"kms:KeySpec": "SYMMETRIC_DEFAULT"
} } } ] }
Themen
Schlüsselrichtlinienformat
Ein Schlüsselrichtliniendokument muss den folgenden Regeln entsprechen:
-
Bis zu 32 Kilobytes (32 768 Bytes)
-
Das
Sid
-Element in einer Schlüsselrichtlinienanweisung kann Leerzeichen enthalten. (Leerzeichen sind imSid
Element eines IAM Richtliniendokuments verboten.)
Ein Schlüsselrichtliniendokument darf nur die folgenden Zeichen enthalten:
-
Druckbare ASCII Zeichen
-
Die druckbaren Zeichen im zusätzlichen Zeichensatz Basic Latin und Latin-1 Supplement
-
Die Sonderzeichen Tabulator (
\u0009
), Zeilenvorschub (\u000A
) und Wagenrücklauf (\u000D
)
Elemente in einer Schlüsselrichtlinie
Ein Schlüsselrichtliniendokument muss die folgenden Elemente besitzen:
- Version
-
Gibt die Schlüsselrichtliniendokumentversion an. Wir empfehlen, die Version auf
2012-10-17
(neueste Version) einzustellen. - Statement
-
Fügt die Richtlinienanweisungen bei. Ein Schlüsselrichtliniendokument muss mindestens eine Anweisung enthalten.
Jede Schlüsselrichtlinienanweisung kann aus bis zu sechs Elementen bestehen. Die Elemente
Effect
,Principal
,Action
, undResource
sind erforderlich.- Sid
-
(Optional) Der Anweisungsbezeichner (
Sid
) ist eine beliebigen Zeichenfolge, die Sie zur Beschreibung der Anweisung verwenden können. DerSid
in einer Schlüsselrichtlinie kann Leerzeichen enthalten. (Sie können in einem IAMSid
Richtlinienelement keine Leerzeichen verwenden.) - Auswirkung
-
(Erforderlich) Gibt an, ob die Berechtigungen in der Richtlinienanweisung zugelassen oder verweigert werden. Gültige Werte sind
Allow
oderDeny
. Wenn Sie den Zugriff auf einen KMS Schlüssel nicht explizit zulassen, wird der Zugriff implizit verweigert. Sie können den Zugriff auf einen KMS Schlüssel auch explizit verweigern. So können Sie zum Beispiel sicherstellen, dass Benutzer nicht darauf zugreifen können, auch wenn der Zugriff durch eine andere Richtlinie gestattet wird. - Auftraggeber
-
(Erforderlich) Der Prinzipal ist die Identität, die die in der Richtlinienanweisung angegebenen Berechtigungen erhält. Sie können IAM Benutzer AWS-Konten, IAM Rollen und einige AWS Dienste als Prinzipale in einer Schlüsselrichtlinie angeben. IAMBenutzergruppen sind in keinem Richtlinientyp ein gültiger Prinzipal.
Ein Sternchenwert, z. B.
"AWS": "*"
, steht für alle AWS -Identitäten in allen Konten.Wichtig
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 jede Identität in jeder AWS-Konto Berechtigung zur Verwendung des KMS Schlüssels an, sofern dies nicht in einer anderen Richtlinienerklärung ausdrücklich verweigert wird. Benutzer in anderen Ländern AWS-Konten können Ihren KMS Schlüssel immer dann verwenden, wenn sie über entsprechende Berechtigungen in ihrem eigenen Konto verfügen.
Anmerkung
IAMbewährte Methoden raten von der Verwendung von IAM Benutzern mit langfristigen Anmeldeinformationen ab. Verwenden Sie nach Möglichkeit IAM Rollen, die temporäre Anmeldeinformationen bereitstellen. Einzelheiten finden Sie unter Bewährte Sicherheitsmethoden IAM im IAM Benutzerhandbuch.
Wenn es sich bei dem Principal in einer Grundsatzerklärung um einen AWS-Konto Principal handelt
arn:aws:iam::
, der als Principal ausgedrückt wird, erteilt die Grundsatzerklärung keinem IAM Prinzipal die Genehmigung. Stattdessen erteilt sie die AWS-Konto Erlaubnis, IAM Richtlinien zu verwenden, um die in der wichtigsten Richtlinie angegebenen Berechtigungen zu delegieren. (Ein Prinzipal im111122223333
:root"arn:aws:iam::
-Format repräsentiert nicht die AWS -Stammbenutzer des Kontos, trotz der Verwendung von „root“ in der Kontokennung. Der Kontoprinzipal repräsentiert jedoch das Konto und seine Administratoren, einschließlich des Account-Root-Benutzers.)111122223333
:root"Handelt es sich bei dem Prinzipal um einen anderen AWS-Konto oder dessen Prinzipale, sind die Berechtigungen nur wirksam, wenn das Konto in der Region mit dem KMS Schlüssel und der Schlüsselrichtlinie aktiviert ist. Informationen zu Regionen, die standardmäßig nicht aktiviert sind („Opt-In-Regionen“), finden Sie unter Verwalten von AWS-Regionen in Allgemeine AWS-Referenz.
Um einem anderen AWS-Konto oder seinen Prinzipalen die Verwendung eines KMS Schlüssels zu gestatten, müssen Sie in einer Schlüsselrichtlinie und in einer Richtlinie in dem anderen Konto IAM die entsprechenden Berechtigungen erteilen. Details hierzu finden Sie unter Benutzern mit anderen Konten die Verwendung eines KMS Schlüssels ermöglichen.
- Aktion
-
(Erforderlich) Geben Sie die API Vorgänge an, die zugelassen oder verweigert werden sollen. Die
kms:Encrypt
Aktion entspricht beispielsweise dem Vorgang AWS KMS Verschlüsseln. Sie können mehr als eine Aktion in einer Richtlinienanweisung auflisten. Weitere Informationen finden Sie unter Berechtigungsreferenz.Anmerkung
Wenn das erforderliche
Action
-Element in einer Schlüsselrichtlinienanweisung fehlt, hat die Richtlinienanweisung keine Wirkung. Eine wichtige Richtlinienaussage ohne einAction
Element gilt für keinen KMS Schlüssel.Wenn das
Action
Element einer wichtigen Grundsatzerklärung fehlt, meldet die AWS KMS Konsole korrekt einen Fehler, aber die CreateKeyund PutKeyPolicyAPIssind erfolgreich, obwohl die Grundsatzerklärung unwirksam ist. - Ressource
-
(Erforderlich) In einer Schlüsselrichtlinie lautet der Wert des Resource-Elements
"*"
, was „dieser KMS Schlüssel“ bedeutet. Das Sternchen ("*"
) kennzeichnet den KMS Schlüssel, an den die Schlüsselrichtlinie angehängt ist.Anmerkung
Wenn das erforderliche
Resource
-Element in einer Schlüsselrichtlinienanweisung fehlt, hat die Richtlinienanweisung keine Wirkung. Eine Grundsatzerklärung ohne einResource
Element gilt für keinen KMS Schlüssel.Wenn das
Resource
Element einer wichtigen Grundsatzerklärung fehlt, meldet die AWS KMS Konsole korrekt einen Fehler, aber die CreateKeyund PutKeyPolicyAPIssind erfolgreich, obwohl die Grundsatzerklärung unwirksam ist. - Bedingung
-
(Optional) Bedingungen geben an, welche Anforderungen erfüllt werden müssen, damit eine Schlüsselrichtlinie wirksam wird. AWS Kann anhand von Bedingungen den Kontext einer API Anfrage auswerten, um festzustellen, ob die Grundsatzerklärung zutrifft oder nicht.
Um Bedingungen anzugeben, verwenden Sie vordefinierte Bedingungsschlüssel. AWS KMS unterstützt AWS globale Bedingungsschlüssel und AWS KMS Bedingungsschlüssel. Zur Unterstützung der attributbasierten Zugriffskontrolle (ABAC) AWS KMS stellt es Bedingungsschlüssel bereit, die den Zugriff auf einen KMS Schlüssel auf der Grundlage von Tags und Aliasen steuern. Details hierzu finden Sie unter ABACfür AWS KMS.
Das Format für eine Bedingung lautet:
"Condition": {"
condition operator
": {"condition key
": "condition value
"}}wie beispielsweise:
"Condition": {"
StringEquals
": {"kms:CallerAccount
": "111122223333
"}}
Weitere Informationen zur AWS Richtliniensyntax finden Sie unter AWS IAMPolicy Reference im Benutzerhandbuch. IAM
Beispiel für eine Schlüsselrichtlinie
Das folgende Beispiel zeigt eine vollständige Schlüsselrichtlinie für einen symmetrischen KMS Verschlüsselungsschlüssel. Sie können es als Nachschlagewerk verwenden, wenn Sie sich mit den wichtigsten Konzepten in diesem Kapitel befassen. Diese Schlüsselrichtlinie vereint die Beispiel-Richtlinienanweisungen des vorherigen Abschnitts Standardschlüsselrichtlinie in einer einzigen Schlüsselrichtlinie, wodurch Folgendes erreicht wird:
-
Ermöglicht dem Beispiel AWS-Konto 111122223333 vollen Zugriff auf den Schlüssel. KMS Es ermöglicht dem Konto und seinen Administratoren, einschließlich des Root-Benutzers (für Notfälle), die im Konto vorhandenen IAM Richtlinien zu verwenden, um den Zugriff auf den Schlüssel zu ermöglichen. KMS
-
Ermöglicht der
ExampleAdminRole
IAM Rolle, den Schlüssel zu verwalten. KMS -
Erlaubt der
ExampleUserRole
IAM Rolle, den KMS Schlüssel zu verwenden.
{ "Id": "key-consolepolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM user Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/
ExampleAdminRole
" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion", "kms:RotateKeyOnDemand" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleUserRole
" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleUserRole
" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }