Steuern des Zugriffs auf Aliasse - 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.

Steuern des Zugriffs auf Aliasse

Wenn Sie einen Alias erstellen oder ändern, wirkt sich das auf den Alias und den zugehörigen KMS-Schlüssel aus. Daher müssen Prinzipale, die Aliasse verwalten, über die Berechtigung verfügen, die Alias-Operation für den Alias und alle betroffenen KMS-Schlüssel aufzurufen. Sie können diese Berechtigungen mithilfe von Schlüsselrichtlinien, IAM-Richtlinien und Erteilungen erteilen.

Anmerkung

Seien Sie vorsichtig, wenn Sie Prinzipalen die Berechtigung zum Verwalten von Tags und Aliassen erteilen. Wenn Sie eine Markierung oder einen Alias ändern, wird dadurch die Berechtigung für den kundenverwalteten Schlüssel erteilt oder verweigert. Details dazu finden Sie unter ABAC für AWS KMS und Verwenden von Aliassen zur Steuerung des Zugriffs auf KMS-Schlüssel.

Weitere Hinweise zum Steuern des Zugriffs auf alle AWS KMS-Operationen finden Sie unter Berechtigungsreferenz.

Berechtigungen zum Erstellen und Verwalten von Aliasen funktionieren wie folgt.

kms:CreateAlias

Um einen Alias zu erstellen, benötigt der Prinzipal die folgenden Berechtigungen sowohl für den Alias als auch für den zugeordneten KMS-Schlüssel.

  • kms:CreateAlias für den Alias. Geben Sie diese Berechtigung in einer IAM-Richtlinie an, die dem Prinzipal zugeordnet ist, der den Alias erstellen darf.

    Die folgende Beispiel-Richtlinienanweisung gibt einen bestimmten Alias in einem Resource-Element an. Sie können jedoch mehrere Alias-ARNs auflisten oder ein Aliasmuster wie "test*" angeben. Sie können auch einen Resource-Wert von "*" angeben, um dem Prinzipal zu erlauben, einen Alias im Konto und der Region zu erstellen. Die Berechtigung zum Erstellen eines Aliasses kann auch in einer kms:Create*-Berechtigung für alle Ressourcen in einem Konto und einer Region enthalten sein.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:CreateAlias für den KMS-Schlüssel. Diese Berechtigung muss in einer Schlüsselrichtlinie oder in einer IAM-Richtlinie bereitgestellt werden, die von der Schlüsselrichtlinie delegiert wird.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:CreateAlias", "kms:DescribeKey" ], "Resource": "*" }

Sie können Bedingungsschlüssel verwenden, um die KMS-Schlüssel einzuschränken, die Sie einem Alias zuordnen können. Sie können beispielsweise den kms:KeySpec-Bedingungsschlüssel verwenden, um dem Prinzipal zu erlauben, Aliase nur für asymmetrische KMS-Schlüssel zu erstellen. Eine vollständige Liste der Bedingungsschlüssel, mit denen Sie die kms:CreateAlias-Berechtigung für KMS-Schlüsselressourcen einschränken können, finden Sie unter AWS KMS Berechtigungen.

kms:ListAliases

Um Aliasse im Konto und in der Region aufzulisten, muss der Prinzipal über kms:ListAliases-Berechtigung in einer IAM-Richtlinie verfügen. Da diese Richtlinie nicht mit einem bestimmten KMS-Schlüssel oder Alias-Ressource verwandt ist, muss der Wert des Ressourcenelements in der Richtlinie "*" sein.

Beispielsweise gibt die folgende IAM-Richtlinienanweisung dem Prinzipal die Berechtigung, alle KMS-Schlüssel und Aliasse im Konto und in der Region aufzulisten.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } }

kms:UpdateAlias

Um den KMS-Schlüssel zu ändern, der einem Alias zugeordnet ist, benötigt der Prinzipal drei Berechtigungselemente: eines für den Alias, eines für den aktuellen KMS-Schlüssel und eines für den neuen KMS-Schlüssel.

Angenommen, Sie möchten z. B. den test-key-Alias aus dem KMS-Schlüssel mit Schlüssel-ID 1234abcd-12ab-34cd-56ef-1234567890ab zum KMS-Schlüssel mit Schlüssel-ID 0987dcba-09fe-87dc-65ba-ab0987654321 ändern. Fügen Sie in diesem Fall ähnliche Richtlinienanweisungen wie in den Beispielen in diesem Abschnitt ein.

  • kms:UpdateAlias für den Alias. Sie stellen diese Berechtigung in einer IAM-Richtlinie zur Verfügung, die dem Prinzipal angefügt ist. Die folgende IAM-Richtlinie gibt einen bestimmten Alias an. Sie können jedoch mehrere Alias-ARNs auflisten oder ein Aliasmuster wie "test*" angeben. Sie können auch einen Resource-Wert von "*" angeben, um dem Prinzipal zu erlauben, einen Alias im Konto und der Region zu aktualisieren.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:UpdateAlias", "kms:ListAliases", "kms:ListKeys" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:UpdateAlias für den KMS-Schlüssel, der derzeit dem Alias zugeordnet ist. Diese Berechtigung muss in einer Schlüsselrichtlinie oder in einer IAM-Richtlinie bereitgestellt werden, die von der Schlüsselrichtlinie delegiert wird.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
  • kms:UpdateAlias für den KMS-Schlüssel, den die Operation dem Alias zuordnet. Diese Berechtigung muss in einer Schlüsselrichtlinie oder in einer IAM-Richtlinie bereitgestellt werden, die von der Schlüsselrichtlinie delegiert wird.

    { "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }

Mit Hilfe von Bedingungsschlüsseln können Sie einen oder beide KMS-Schlüssel in einer UpdateAlias-Operation begrenzen. Sie können beispielsweise einen kms:ResourceAliases-Bedingungsschlüssel verwenden, damit der Prinzipal Aliase nur aktualisieren kann, wenn der Ziel-KMS-Schlüssel bereits über einen bestimmten Alias verfügt. Eine vollständige Liste der Bedingungsschlüssel, mit denen Sie die kms:UpdateAlias-Berechtigung für KMS-Schlüsselressourcen einschränken können, finden Sie unter AWS KMS Berechtigungen.

kms:DeleteAlias

Um einen Alias zu löschen, benötigt der Prinzipal die Berechtigung für den Alias und für den zugeordneten KMS-Schlüssel.

Wie immer sollten Sie Vorsicht walten lassen, wenn Sie Prinzipalen die Berechtigung zum Löschen einer Ressource erteilen. Das Löschen eines Aliasses hat keine Auswirkungen auf den zugehörigen KMS-Schlüssel. Es kann zwar zu einem Fehler in einer Anwendung führen, die auf dem Alias beruht, aber wenn Sie versehentlich einen Alias löschen, können Sie ihn neu erstellen.

  • kms:DeleteAlias für den Alias. Sie stellen diese Berechtigung in einer IAM-Richtlinie zur Verfügung, die dem Prinzipal angefügt ist, der den Alias löschen darf.

    Die folgende Beispiel-Richtlinienanweisung gibt einen bestimmten Alias in einem Resource-Element an. Sie können jedoch mehrere Alias-ARNs auflisten oder ein Aliasmuster angeben, z. B. "test*". Sie können auch einen Resource-Wert von "*" angeben, damit der Prinzipal einen Alias im Konto und der Region löschen darf.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:DeleteAlias für den zugeordneten KMS-Schlüssel. Diese Berechtigung muss in einer Schlüsselrichtlinie oder in einer IAM-Richtlinie bereitgestellt werden, die von der Schlüsselrichtlinie delegiert wird.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser" }, "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias", "kms:DescribeKey" ], "Resource": "*" }

Begrenzen von Alias-Berechtigungen

Sie können Bedingungsschlüssel verwenden, um Alias-Berechtigungen einzuschränken, wenn es sich bei der Ressource um einen KMS-Schlüssel handelt. Die folgende IAM-Richtlinie erlaubt beispielsweise Alias-Operationen für KMS-Schlüssel in einem bestimmten Konto und einer bestimmten Region. Es verwendet jedoch den kms:KeyOrigin-Bedingungsschlüssel, um die Berechtigungen auf KMS-Schlüssel mit Schlüsselmaterial von weiter einzuschränkenAWS KMS.

Eine vollständige Liste der Bedingungsschlüssel, mit denen Sie Alias-Berechtigungen für eine KMS-Schlüsselressource einschränken können, finden Sie unter AWS KMS Berechtigungen.

{ "Sid": "IAMPolicyKeyPermissions", "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Condition": { "StringEquals": { "kms:KeyOrigin": "AWS_KMS" } } }

Sie können keine Bedingungsschlüssel in einer Richtlinienanweisung verwenden, bei der die Ressource ein Alias ist. Um die Aliasse einzuschränken, die ein Prinzipal verwalten kann, verwenden Sie den Wert des Resource-Elements der IAM-Richtlinienanweisung, die den Zugriff auf den Alias steuert. Mit den folgenden Richtlinienanweisungen kann der Prinzipal beispielsweise einen Alias im AWS-Konto und der Region erstellen, aktualisieren oder löschen, es sei denn, der Alias beginnt mit Restricted.

{ "Sid": "IAMPolicyForAnAliasAllow", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*" }, { "Sid": "IAMPolicyForAnAliasDeny", "Effect": "Deny", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*" }