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 zulassen AWS KMS Aktionen.

Wichtig

Einige der Berechtigungen in den folgenden Richtlinien sind nur zulässig, wenn die KMS Schlüsselrichtlinie des Schlüssels sie ebenfalls 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 das Anzeigen von KMS Schlüsseln in AWS KMS Konsole

Die folgende IAM Richtlinie ermöglicht Benutzern nur Lesezugriff auf AWS KMS console. Benutzer mit diesen Berechtigungen können alle KMS Schlüssel in ihrem AWS-Konto, aber sie können keine KMS Schlüssel erstellen oder ändern.

Um KMS Schlüssel auf dem zu sehen Von AWS verwaltete SchlüsselAuf den Seiten mit vom Kunden verwalteten Schlüsseln 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, weil AWS KMS Die Konsole zeigt nur KMS Schlüssel im Konto des Prinzipals an. Dies gilt auch dann, wenn sie berechtigt sind, KMS Schlüssel auf anderen Computern einzusehen AWS-Konten. Der Rest AWS KMS und IAM für Berechtigungen ist ein "Resource": "*" Element erforderlich, da sie nicht für einen 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": "*" } ] }

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 * liegt darin, dass bei der CreateKey Operation kein bestimmtes Element verwendet wird AWS KMS Ressourcen (KMSSchlüssel oder Aliase).

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 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 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 Die Konsole muss über die Rechte kmsCreateAlias: 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 in kms:CreateKey AWS-Konto und die kms:CreateAlias Erlaubnis für alle Aliase, die das Konto hat. Es 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 Schlüssel zu verschlüsseln und zu entschlüsseln KMS AWS-Konto 111122223333.

{ "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 einem bestimmten KMS AWS-Konto und Region

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

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

Erlauben Sie einem Benutzer, mit bestimmten Schlüsseln zu verschlüsseln und zu entschlü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 Fehlerbehebung beim Schlüsselzugriff.

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