IAMBeispiele für 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.

IAMBeispiele für Richtlinien

In diesem Abschnitt finden Sie IAM Beispielrichtlinien, die Berechtigungen für verschiedene AWS KMS Aktionen zulassen.

Wichtig

Einige der Berechtigungen in den folgenden Richtlinien sind nur zulässig, wenn die KMS Schlüsselrichtlinie des Schlüssels sie auch zulässt. Weitere Informationen finden Sie unter Berechtigungsreferenz.

Hilfe beim Verfassen und Formatieren eines JSON Richtliniendokuments finden Sie in der IAMJSONRichtlinienreferenz im IAMBenutzerhandbuch.

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

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

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 KMS Schlüsseltabellenspalten und Daten 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 anzeigen zu können, 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 für jeden KMS Schlüssel, der nicht sichtbar ist, einen Fehler an.

Diese Richtlinie umfasst zwei Richtlinienanweisungen. Das Resource Element in der ersten Richtlinienanweisung erlaubt die angegebenen Berechtigungen für alle KMS Schlüssel in allen Regionen des Beispiels AWS-Konto. Konsolenbesucher benötigen keinen zusätzlichen Zugriff, da auf der AWS KMS Konsole nur KMS Schlüssel im Konto des Prinzipals angezeigt werden. Dies gilt auch dann, wenn sie berechtigt sind, KMS Schlüssel anderer Benutzer anzusehen AWS-Konten. Für die übrigen AWS KMS IAM Berechtigungen ist ein "Resource": "*" Element erforderlich, da sie sich nicht auf einen bestimmten KMS Schlüssel beziehen.

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

Erlauben Sie einem Benutzer, KMS Schlüssel zu erstellen

Die folgende IAM Richtlinie ermöglicht es einem Benutzer, alle Arten von KMS Schlüsseln zu erstellen. Der Wert des Resource Elements ist darauf * zurückzuführen, dass der CreateKey Vorgang keine bestimmten AWS KMS Ressourcen (KMSSchlüssel oder Aliase) verwendet.

Um den Benutzer auf bestimmte KMS Schlüsseltypen 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 kms: PutKeyPolicy -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 Aufrufer kann über eine IAM Richtlinie die kms:PutKeyPolicy Erlaubnis für den KMS Schlüssel erhalten oder er kann diese Berechtigung in die Schlüsselrichtlinie des Schlüssels aufnehmen, den KMS er gerade 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. Es reicht nicht aus, diese Berechtigung in die Schlüsselrichtlinie des neuen KMS Schlüssels aufzunehmen. Wenn der CreateKey Anrufer jedoch kms:TagResource in die ursprüngliche Schlüsselrichtlinie aufgenommen wurde, kann er nach der Erstellung des KMS Schlüssels in einem separaten Aufruf Tags hinzufügen.

  • kms: CreateAlias — Principals, die einen KMS Schlüssel in der AWS KMS Konsole erstellen, müssen über die Rechte kms: CreateAlias 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 Alias-Berechtigung in einer IAM Richtlinie angeben. Sie können die KMS Schlüsselberechtigung in einer wichtigen Richtlinie oder 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 Nur-Lese-Berechtigungen, die nur in einer Richtlinie bereitgestellt werden können. IAM

Diese IAM Richtlinie beinhaltet keine kms:PutKeyPolicy Berechtigungen oder andere Berechtigungen, die in einer wichtigen Richtlinie festgelegt werden können. Es hat sich bewährt, diese Berechtigungen in der Schlüsselrichtlinie festzulegen, sodass 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": "*" } ] }

Erlauben Sie einem Benutzer, mit einem beliebigen KMS Schlüssel in einem bestimmten Schlüssel zu verschlüsseln und zu entschlüsseln 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 Schlüssel in einer bestimmten Region KMS 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/*" ] } }

Erlaubt einem Benutzer das Ver- und Entschlüsseln mit bestimmten Schlüsseln KMS

Die folgende IAM Richtlinie ermöglicht es einem Benutzer, Daten mit den beiden im Element angegebenen KMS Schlüsseln zu verschlüsseln und zu entschlüsseln. Resource Wenn Sie einen KMS Schlüssel in einer IAM Richtlinienerklärung angeben, müssen Sie den Schlüssel ARN des Schlüssels verwenden. KMS

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

Verhindern Sie, dass ein Benutzer Schlüssel deaktiviert oder KMS löscht

Die folgende IAM Richtlinie verhindert, dass ein Benutzer KMS Schlüssel deaktiviert oder löscht, selbst wenn eine andere IAM Richtlinie oder eine wichtige Richtlinie diese Berechtigungen zulässt. Eine Richtlinie, die Berechtigungen explizit verweigert, hat Vorrang vor allen anderen Richtlinien, auch wenn diese dieselben Berechtigungen explizit erteilen. Weitere Informationen finden Sie unter Problembehandlung bei AWS KMS Berechtigungen.

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