Zugriffssteuerung mit Tags - 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.

Zugriffssteuerung mit Tags

Principals benötigen Tagging-Berechtigungen, um Tags entweder in der AWS KMS Konsole oder mithilfe der API hinzuzufügen, anzuzeigen und zu löschen. Sie können diese Berechtigungen in Schlüsselrichtlinien bereitstellen. Sie können sie auch in IAM-Richtlinien (einschließlich VPC-Endpunktrichtlinien) bereitstellen, aber nur wenn die Schlüsselrichtlinie es erlaubt. Die AWSKeyManagementServicePowerUserverwaltete Richtlinie ermöglicht es Prinzipalen, Tags für alle KMS-Schlüssel, auf die das Konto zugreifen kann, zu taggen, aufzuheben und aufzulisten.

Sie können diese Berechtigungen auch einschränken, indem Sie AWS globale Bedingungsschlüssel für Tags verwenden. AWS KMS In können diese Bedingungen den Zugriff auf Tagging-Operationen wie TagResourceund UntagResourcesteuern.

Anmerkung

Seien Sie vorsichtig, wenn Sie Prinzipalen die Berechtigung zum Verwalten von Tags und Aliasen 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 Sie Tags, um den Zugriff auf KMS-Schlüssel zu steuern.

Beispielrichtlinien und weitere Informationen finden Sie unter Zugriffssteuerung anhand von Tag-Schlüsseln im IAM-Benutzerhandbuch.

Berechtigungen zum Erstellen und Verwalten von Tags funktionieren wie folgt.

km: TagResource

Erlaubt es Prinzipalen, Tags hinzuzufügen oder zu bearbeiten. Um Tags beim Erstellen eines KMS-Schlüssels hinzuzufügen, muss der Prinzipal über die Berechtigung in einer IAM-Richtlinie verfügen, die nicht auf bestimmte KMS-Schlüssel beschränkt ist.

km: ListResourceTags

Erlaubt es Prinzipalen, Tags auf KMS-Schlüsseln anzuzeigen.

km: UntagResource

Erlaubt es Prinzipalen, Tags aus KMS-Schlüsseln zu löschen.

Tag-Berechtigungen in Richtlinien

Sie können Markierungs-Berechtigungen in einer Schlüsselrichtlinie oder einer IAM-Richtlinie bereitstellen. Beispielsweise erteilt die folgende Beispiel-Schlüsselrichtlinie ausgewählten Benutzern Markierungs-Berechtigung für den KMS-Schlüssel. Sie erteilt allen Benutzern, die die Beispiel-Administrator- oder Entwicklerrollen übernehmen können, die Berechtigung zum Anzeigen von Tags.

{ "Version": "2012-10-17", "Id": "example-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow all tagging permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/LeadAdmin", "arn:aws:iam::111122223333:user/SupportLead" ]}, "Action": [ "kms:TagResource", "kms:ListResourceTags", "kms:UntagResource" ], "Resource": "*" }, { "Sid": "Allow roles to view tags", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/Administrator", "arn:aws:iam::111122223333:role/Developer" ]}, "Action": "kms:ListResourceTags", "Resource": "*" } ] }

Um Prinzipalen Markierungs-Berechtigung für mehrere KMS-Schlüssel zu erteilen, können Sie eine IAM-Richtlinie verwenden. Damit diese Richtlinie wirksam wird, muss die Schlüsselrichtlinie für jeden KMS-Schlüssel dem Konto erlauben, mithilfe von IAM-Richtlinien den Zugriff auf den KMS-Schlüssel zu steuern.

Beispielsweise kann die folgende IAM-Richtlinie den Prinzipalen erlauben, KMS-Schlüssel zu erstellen. Außerdem erlaubt es ihnen, Tags für alle KMS-Schlüssel im angegebenen Konto zu erstellen und zu verwalten. Diese Kombination ermöglicht es den Prinzipalen, den Tags-Parameter des CreateKeyVorgangs zu verwenden, um einem KMS-Schlüssel während der Erstellung Tags hinzuzufügen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKeys", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource", "kms:ListResourceTags" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } ] }

Beschränken von Tag-Berechtigungen

Sie können Markierungs-Berechtigungen einschränken, indem Sie Richtlinienbedingungen verwenden. Die folgenden Richtlinienbedingungen können auf die kms:TagResource- und kms:UntagResource-Berechtigungen angewendet werden. Beispielsweise können Sie mit der aws:RequestTag/tag-key-Bedingung einem Prinzipal erlauben, nur bestimmte Tags hinzuzufügen, oder verhindern, dass ein Prinzipal Tags mit bestimmten Tag-Schlüsseln hinzufügen kann. Alternativ können Sie auch die kms:KeyOrigin-Bedingung verwenden, um zu verhindern, dass Prinzipale KMS-Schlüssel mit importiertem Schlüsselmaterial markieren oder entmarkieren.

Eine bewährte Methode bei der Verwendung von Tags zum Steuern des Zugriffs auf KMS-Schlüssel ist die Verwendung der Bedingungsschlüssel aws:RequestTag/tag-keyoder aws:TagKeys, um zu bestimmen, welche Tags (oder Tag-Schlüssel) erlaubt sind.

Die folgende IAM-Richtlinie ähnelt beispielsweise der vorherigen. Diese Richtlinie erlaubt den Prinzipalen jedoch das Erstellen von Tags (TagResource) und das Löschen von Tags (UntagResource) nur für Tags mit einem Project-Tag-Schlüssel.

Da TagResource UntagResource Anfragen mehrere Tags enthalten können, müssen Sie einen Operator ForAllValues or ForAnyValue set mit der TagKeys Bedingung aws: angeben. Der ForAnyValue-Operator erfordert, dass mindestens einer der Tag-Schlüssel in der Anforderung mit einem der Tag-Schlüssel in der Richtlinie übereinstimmen muss. Der ForAllValues-Operator erfordert, dass alle der Tag-Schlüssel in der Anforderung mit einem der Tag-Schlüssel in der Richtlinie übereinstimmen müssen. Der ForAllValues Operator gibt auch zurück, true wenn die Anfrage keine Tags enthält, schlägt jedoch TagResource UntagResource fehl, wenn keine Tags angegeben sind. Ausführliche Informationen zu den Satz-Operatoren finden Sie unter Verwenden mehrerer Schlüssel und Werte im IAM-Benutzerhandbuch.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKey", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyViewAllTags", "Effect": "Allow", "Action": "kms:ListResourceTags", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPolicyManageTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "ForAllValues:StringEquals": {"aws:TagKeys": "Project"} } } ] }