Beispiele für IAM-Richtlinien - 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.

Beispiele für IAM-Richtlinien

In diesem Abschnitt finden Sie Beispiele für IAM-Richtlinien, die Berechtigungen für diverse AWS KMS -Aktionen gewähren.

Wichtig

Einige der Berechtigungen in den folgenden Richtlinien sind nur erlaubt, wenn sie auch in der Schlüsselrichtlinie des KMS-Schlüssels erlaubt werden. Weitere Informationen finden Sie unter Berechtigungsreferenz.

Hilfe beim Schreiben und Formatieren eines JSON-Richtliniendokuments finden Sie in der IAM-JSON-Richtlinienreferenz im IAM-Benutzerhandbuch.

Erlauben Sie einem Benutzer, KMS-Schlüssel in der AWS KMS Konsole anzuzeigen

Die folgende IAM-Richtlinie ermöglicht Benutzern nur Lesezugriff auf die Konsole. AWS KMS Benutzer mit diesen Berechtigungen können alle KMS-Schlüssel in ihrer Datenbank einsehen AWS-Konto, sie können jedoch keine KMS-Schlüssel erstellen oder ändern.

Um KMS-Schlüssel auf den Seiten Von AWS verwaltete Schlüsselund Vom Kunden verwaltete Schlüssel anzeigen zu können, benötigen Prinzipale die GetResources Berechtigungen kms: ListAliases, kms: und tag:, auch wenn die Schlüssel keine Tags oder Aliase haben. ListKeys Die verbleibenden Berechtigungen, insbesondere kms: DescribeKey, sind erforderlich, um optionale Spalten und Daten der KMS-Schlüsseltabelle auf den KMS-Schlüsseldetailseiten anzuzeigen. Die ListRoles Berechtigungen iam: ListUsers und iam: sind erforderlich, um die Schlüsselrichtlinie in der Standardansicht fehlerfrei anzuzeigen. Um Daten auf der Seite Benutzerdefinierte Schlüsselspeicher und Details zu KMS-Schlüsseln in benutzerdefinierten Schlüsselspeichern anzuzeigen, benötigen Prinzipale außerdem die kms: -Berechtigung. DescribeCustomKeyStores

Wenn Sie den Konsolenzugriff eines Benutzers auf bestimmte KMS-Schlüssel beschränken, zeigt die Konsole einen Fehler für jeden KMS-Schlüssel an, der nicht sichtbar ist.

Diese Richtlinie umfasst zwei Richtlinienanweisungen. Das Resource-Element in der ersten Richtlinienanweisung gewährt die angegebenen Berechtigungen für alle KMS-Schlüssel in allen Regionen des Beispiel- AWS-Konto. Konsolenbetrachter benötigen keinen zusätzlichen Zugriff, da die AWS KMS -Konsole nur KMS-Schlüssel im Konto des Prinzipals anzeigt. Dies gilt auch dann, wenn sie berechtigt sind, KMS-Schlüssel in anderen AWS-Konten Datenbanken einzusehen. Für die verbleibenden Berechtigungen AWS KMS und die IAM-Berechtigungen ist ein "Resource": "*" Element erforderlich, da sie für keinen bestimmten KMS-Schlüssel gelten.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnlyAccessForAllKMSKeysInAccount", "Effect": "Allow", "Action": [ "kms:GetPublicKey", "kms:GetKeyRotationStatus", "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListKeyPolicies", "kms:ListResourceTags", "tag:GetResources" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "ReadOnlyAccessForOperationsWithNoKMSKey", "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases", "iam:ListRoles", "iam:ListUsers" ], "Resource": "*" } ] }

Einem Benutzer das Erstellen von KMS-Schlüsseln erlauben

Die folgende IAM-Richtlinie erlaubt Benutzern die Erstellung aller Arten von KMS-Schlüsseln. Der Wert des Resource Elements ist darauf * zurückzuführen, dass der CreateKey Vorgang keine bestimmten AWS KMS Ressourcen (KMS-Schlüssel oder Aliase) verwendet.

Um den Benutzer auf bestimmte Typen von KMS-Schlüsseln zu beschränken, verwenden Sie die KeyOrigin Bedingungsschlüssel kms: KeyUsage, kms: und kms:. KeySpec

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" } }

Prinzipale, die Schlüssel erstellen, benötigen möglicherweise einige verwandte Berechtigungen.

  • kms: PutKeyPolicy — Prinzipale, die über die entsprechenden kms:CreateKey Rechte verfügen, können die Richtlinie für den ersten Schlüssel für den KMS-Schlüssel festlegen. Der CreateKey Aufrufer muss jedoch über die PutKeyPolicykms-Berechtigung verfügen, mit der er die KMS-Schlüsselrichtlinie ändern kann, oder er muss den BypassPolicyLockoutSafetyCheck Parameter von angebenCreateKey, was nicht empfohlen wird. Der CreateKey-Anrufer kann die kms:PutKeyPolicy-Berechtigung für den KMS-Schlüssel aus einer IAM-Richtlinie erhalten, oder er kann diese Berechtigung in die Schlüsselrichtlinie des KMS-Schlüssels aufnehmen, den er erstellt.

  • kms: TagResource — Um dem KMS-Schlüssel während des CreateKey Vorgangs Tags hinzuzufügen, muss der CreateKey Aufrufer in einer IAM-Richtlinie über die kms: TagResource -Berechtigung verfügen. Die Aufnahme dieser Berechtigung in die Schlüsselrichtlinie des neuen KMS-Schlüssels ist nicht ausreichend. Wenn der CreateKey-Anrufer jedoch kms:TagResource in die ursprünglichen Schlüsselrichtlinie aufnimmt, kann er Tags in einem separaten Aufruf hinzufügen, nachdem der KMS-Schlüssel erstellt wurde.

  • kms: CreateAlias — Principals, die einen KMS-Schlüssel in der AWS KMS Konsole erstellen, müssen über die CreateAlias kms-Berechtigung für den KMS-Schlüssel und den Alias verfügen. (Die Konsole führt zwei Aufrufe aus; einen an CreateKey und einen an CreateAlias). Sie müssen die Aliasberechtigung in einer IAM-Richtlinie angeben. Sie können dem KMS-Schlüssel die Berechtigungen in einer Schlüsselrichtlinie oder einer IAM-Richtlinie bereitstellen. Details hierzu finden Sie unter Steuern des Zugriffs auf Aliasse.

Darüber hinaus gewährt die folgende IAM-Richtlinie kms:TagResource Berechtigungen für alle KMS-Schlüssel im Konto AWS-Konto und kms:CreateAlias Berechtigungen für alle Aliase des Kontos. kms:CreateKey Sie enthält auch einige nützliche schreibgeschützte Berechtigungen, die nur in einer IAM-Richtlinie bereitgestellt werden können.

Diese IAM-Richtlinie enthält nicht kms:PutKeyPolicy oder andere Berechtigungen, die in einer Schlüsselrichtlinie festgelegt werden können. Dabei handelt es sich um eine bewährte Methode, diese Berechtigungen in der Schlüsselrichtlinie festzulegen, in der sie ausschließlich für einen KMS-Schlüssel gelten.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPermissionsForParticularKMSKeys", "Effect": "Allow", "Action": "kms:TagResource", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPermissionsForParticularAliases", "Effect": "Allow", "Action": "kms:CreateAlias", "Resource": "arn:aws:kms:*:111122223333:alias/*" }, { "Sid": "IAMPermissionsForAllKMSKeys", "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } ] }

Ermöglicht einem Benutzer das Verschlüsseln und Entschlüsseln mit einem beliebigen KMS-Schlüssel in einem bestimmten AWS-Konto

Die folgende IAM-Richtlinie ermöglicht es einem Benutzer, Daten mit einem beliebigen KMS-Schlüssel in 111122223333 zu verschlüsseln und zu entschlüsseln. AWS-Konto

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } }

Erlaubt einem Benutzer das Verschlüsseln und Entschlüsseln mit einem beliebigen KMS-Schlüssel in einer bestimmten Region AWS-Konto

Die folgende IAM-Richtlinie ermöglicht es einem Benutzer, Daten mit einem beliebigen KMS-Schlüssel AWS-Konto 111122223333 in der Region USA West (Oregon) zu verschlüsseln und zu entschlüsseln.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/*" ] } }

Einem Benutzer das Verschlüsseln und Entschlüsseln mit bestimmten KMS-Schlüssel erlauben

Die folgende IAM-Richtlinie erlaubt es einem Benutzer, mit den beiden im Resource-Element angegebenen KMS-Schlüssel Daten zu verschlüsseln und zu entschlüsseln. Um einen KMS-Schlüssel in einer IAM-Richtlinienanweisung anzugeben, müssen Sie dessen Schüssel-ARN verwenden.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ] } }

Einen Benutzer am Deaktivieren oder Löschen von KMS-Schlüsseln hindern

Die folgende IAM-Richtlinie verhindert die Deaktivierung oder Löschung von KMS-Schlüsseln durch Benutzer, auch wenn eine andere IAM-Richtlinie oder eine Schlüsselrichtlinie diese Berechtigungen gewährt. Eine Richtlinie, die Berechtigungen explizit verweigert, hat Vorrang vor allen anderen Richtlinien, auch wenn diese dieselben Berechtigungen explizit erteilen. Weitere Informationen finden Sie unter Fehlerbehebung beim Schlüsselzugriff.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "kms:DisableKey", "kms:ScheduleKeyDeletion" ], "Resource": "*" } }