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.
ABACfür AWS KMS
Die attributbasierte Zugriffskontrolle (ABAC) ist eine Autorisierungsstrategie, bei der Berechtigungen auf der Grundlage von Attributen definiert werden. AWS KMS unterstützt, ABAC indem es Ihnen ermöglicht, den Zugriff auf Ihre vom Kunden verwalteten Schlüssel anhand der mit den Schlüsseln verknüpften Tags und Aliasnamen zu kontrollieren. KMS Die Bedingungsschlüssel für Tag und Alias, die das ermöglichenABAC, AWS KMS bieten eine leistungsstarke und flexible Möglichkeit, Principals zur Verwendung von KMS Schlüsseln zu autorisieren, ohne Richtlinien bearbeiten oder Zuschüsse verwalten zu müssen. Sie sollten diese Funktion jedoch mit Vorsicht verwenden, damit Prinzipalen der Zugriff nicht versehentlich zugelassen oder verweigert wird.
Beachten Sie bei der Verwendung von Tags und AliasenABAC, dass es sich bei der Berechtigung zur Verwaltung von Tags und Aliasnamen jetzt um eine Zugriffskontrollberechtigung handelt. Stellen Sie sicher, dass Sie die vorhandenen Tags und Aliase für alle KMS Schlüssel kennen, bevor Sie eine Richtlinie implementieren, die von Tags oder Aliasen abhängt. Treffen Sie angemessene Vorsichtsmaßnahmen beim Hinzufügen, Löschen und Aktualisieren von Aliassen sowie beim Markieren und Entmarkieren von Schlüsseln. Erteilen Sie Berechtigungen zum Verwalten von Tags und Aliassen nur Prinzipalen, die sie benötigen, und beschränken Sie die Tags und Aliasse, die sie verwalten können.
Hinweise
Achten Sie bei der Verwendung von ABAC for AWS KMS darauf, dass Sie den Hauptbenutzern nicht die Erlaubnis geben, Tags und Aliase zu verwalten. Wenn Sie ein Tag oder einen Alias ändern, können Sie möglicherweise die Zugriffsrechte für einen KMS Schlüssel gewähren oder verweigern. Schlüsseladministratoren, die nicht berechtigt sind, wichtige Richtlinien zu ändern oder Berechtigungen zu erstellen, können den Zugriff auf KMS Schlüssel kontrollieren, sofern sie berechtigt sind, Tags oder Aliase zu verwalten.
Es kann bis zu fünf Minuten dauern, bis sich Änderungen an Tags und Alias auf die KMS Schlüsselautorisierung auswirken. Aktuelle Änderungen sind möglicherweise in API Vorgängen sichtbar, bevor sie sich auf die Autorisierung auswirken.
Um den Zugriff auf einen KMS Schlüssel anhand seines Alias zu steuern, müssen Sie einen Bedingungsschlüssel verwenden. Sie können einen Alias nicht verwenden, um einen KMS Schlüssel im Resource
Element einer Grundsatzerklärung darzustellen. Wenn ein Alias in dem Resource
Element vorkommt, gilt die Richtlinienanweisung für den Alias, nicht für den zugehörigen KMS Schlüssel.
Weitere Informationen
-
Einzelheiten zur AWS KMS Unterstützung vonABAC, einschließlich Beispielen, finden Sie unter Verwenden Sie Aliase, um den Zugriff auf Schlüssel zu KMS steuern undVerwenden Sie Tags, um den Zugriff auf KMS Schlüssel zu steuern.
-
Weitere allgemeine Informationen zur Verwendung von Tags zur Steuerung des Zugriffs auf AWS Ressourcen finden Sie unter ABACWofür AWS? und Steuern des Zugriffs auf AWS Ressourcen mithilfe von Ressourcen-Tags im IAMBenutzerhandbuch.
ABACBedingungsschlüssel für AWS KMS
Um den Zugriff auf KMS Schlüssel auf der Grundlage ihrer Tags und Aliase zu autorisieren, verwenden Sie die folgenden Bedingungsschlüssel in einer Schlüsselrichtlinie oder IAM -richtlinie.
ABACBedingungsschlüssel | Beschreibung | Richtlinientyp | AWS KMS Operationen |
---|---|---|---|
als: ResourceTag | Das Tag (Schlüssel und Wert) auf dem KMS Schlüssel entspricht dem Tag (Schlüssel und Wert) oder dem Tag-Muster in der Richtlinie | IAMnur Richtlinie | KMSOperationen mit wichtigen Ressourcen 2 |
aws:RequestTag/Tag-Schlüssel | Tag (Schlüssel und Wert) in der Anforderung entspricht dem Tag (Schlüssel und Wert) oder dem Tagmuster in der Richtlinie | Wichtige Richtlinien und Richtlinien 1 IAM | TagResource, UntagResource |
war: TagKeys | Die Tag-Schlüssel in der Anforderung entsprechen den Tag-Schlüsseln in der Richtlinie | Wichtige Richtlinien und IAM Richtlinien 1 | TagResource, UntagResource |
km: ResourceAliases | Mit dem KMS Schlüssel verknüpfte Aliase stimmen mit den Aliasen oder Aliasmustern in der Richtlinie überein | IAMnur Richtlinie | KMSOperationen mit wichtigen Ressourcen 2 |
km: RequestAlias | Der Alias, der den KMS Schlüssel in der Anfrage darstellt, entspricht den Alias- oder Aliasmustern in der Richtlinie. | Wichtige Richtlinien und IAM Richtlinien 1 | Kryptografische Operationen, DescribeKeyGetPublicKey |
1 Jeder Bedingungsschlüssel, der in einer Schlüsselrichtlinie verwendet werden kann, kann auch in einer IAM Richtlinie verwendet werden, jedoch nur, wenn die Schlüsselrichtlinie dies zulässt.
2 Eine KMSSchlüsselressourcenoperation ist eine Operation, die für einen bestimmten KMS Schlüssel autorisiert ist. Um die KMS wichtigsten Ressourcenoperationen zu identifizieren, suchen Sie in der AWS KMS Berechtigungstabelle nach dem Wert KMS key in der Resources
Spalte für den Vorgang.
Beispielsweise können Sie diese Bedingungsschlüssel verwenden, um die folgenden Richtlinien zu erstellen.
-
Eine IAM Richtlinie
kms:ResourceAliases
, die die Erlaubnis zur Verwendung von KMS Schlüsseln mit einem bestimmten Alias oder Aliasmuster gewährt. Dies unterscheidet sich ein wenig von Richtlinien, die auf Tags basieren: Sie können zwar Aliasmuster in einer Richtlinie verwenden, aber jeder Alias muss in einer AWS-Konto UND-Region eindeutig sein. Auf diese Weise können Sie eine Richtlinie auf einen ausgewählten Satz von KMS Schlüsseln anwenden, ohne die Schlüssel ARNs der KMS Schlüssel in der Richtlinienerklärung aufzulisten. Um KMS Schlüssel zum Satz hinzuzufügen oder daraus zu entfernen, ändern Sie den Alias des KMS Schlüssels. -
Eine Schlüsselrichtlinie
kms:RequestAlias
, die es Prinzipalen ermöglicht, einen KMS Schlüssel in einemEncrypt
Vorgang zu verwenden, aber nur, wenn dieEncrypt
Anfrage diesen Alias zur Identifizierung des KMS Schlüssels verwendet. -
Eine IAM Richtlinie
aws:ResourceTag/tag-key
, mit der die Erlaubnis verweigert wird, KMS Schlüssel mit einem bestimmten Tag-Schlüssel und Tag-Wert zu verwenden. Auf diese Weise können Sie eine Richtlinie auf einen ausgewählten Satz von KMS Schlüsseln anwenden, ohne die Schlüssel ARNs der KMS Schlüssel in der Richtlinienerklärung aufzulisten. Um KMS Schlüssel zu dem Satz hinzuzufügen oder daraus zu entfernen, markieren Sie den KMS Schlüssel oder entfernen Sie die Markierung. -
Eine IAM Richtlinie
aws:RequestTag/tag-key
, die es Prinzipalen erlaubt, nur"Purpose"="Test"
KMS Schlüssel-Tags zu löschen. -
Eine IAM Richtlinie
aws:TagKeys
, mit der die Erlaubnis verweigert wird, einen Schlüssel mit einem KMS Tagschlüssel zu kennzeichnen oder die Markierung aufzuheben.Restricted
ABACmacht die Zugriffsverwaltung flexibel und skalierbar. Sie können beispielsweise den aws:ResourceTag/tag-key
Bedingungsschlüssel verwenden, um eine IAM Richtlinie zu erstellen, die es Prinzipalen erlaubt, einen KMS Schlüssel nur dann für bestimmte Operationen zu verwenden, wenn der KMS Schlüssel über ein Purpose=Test
Tag verfügt. Die Richtlinie gilt für alle KMS Schlüssel in allen Regionen von. AWS-Konto
Wenn sie einem Benutzer oder einer Rolle zugewiesen ist, ermöglicht die folgende IAM Richtlinie Prinzipalen, alle vorhandenen KMS Schlüssel mit einem Purpose=Test
Tag für die angegebenen Operationen zu verwenden. Um diesen Zugriff auf neue oder vorhandene KMS Schlüssel zu gewähren, müssen Sie die Richtlinie nicht ändern. Befestigen Sie einfach das Purpose=Test
Etikett an den KMS Schlüsseln. Um diesen Zugriff auch von KMS Schlüsseln mit einem Purpose=Test
Tag zu entfernen, bearbeiten oder löschen Sie das Tag.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Purpose": "Test" } } } ] }
Wenn Sie diese Funktion verwenden, sollten Sie jedoch vorsichtig sein, wenn Sie Tags und Aliasse verwalten. Durch das Hinzufügen, Ändern oder Löschen eines Tags oder Alias kann versehentlich der Zugriff auf einen Schlüssel gewährt oder verweigert werden. KMS Schlüsseladministratoren, die nicht berechtigt sind, wichtige Richtlinien zu ändern oder Zuweisungen zu erstellen, können den Zugriff auf KMS Schlüssel kontrollieren, sofern sie berechtigt sind, Tags und Aliase zu verwalten. Um dieses Risiko zu mindern, sollten Sie Berechtigungen zum Verwalten von Tags und Aliassen beschränken. Sie können es beispielsweise nur ausgewählten Prinzipalen erlauben, Purpose=Test
-Tags zu verwalten. Details dazu finden Sie unter Verwenden Sie Aliase, um den Zugriff auf Schlüssel zu KMS steuern und Verwenden Sie Tags, um den Zugriff auf KMS Schlüssel zu steuern.
Tags oder Aliasse?
AWS KMS unterstützt ABAC mit Tags und Aliasnamen. Beide Optionen bieten eine flexible, skalierbare Strategie zur Zugriffssteuerung, unterscheiden sich jedoch geringfügig voneinander.
Sie können sich entscheiden, Tags oder Aliase zu verwenden, die auf Ihren speziellen AWS Verwendungsmustern basieren. Wenn Sie beispielsweise den meisten Administratoren bereits Markierungs-Berechtigungen erteilt haben, ist es möglicherweise einfacher, eine Autorisierungsstrategie basierend auf Aliasse zu steuern. Oder, wenn Sie das Kontingent für Aliase pro KMS Schlüssel fast erreicht haben, bevorzugen Sie vielleicht eine Autorisierungsstrategie, die auf Tags basiert.
Die folgenden Nutzen sind von allgemeinem Interesse.
Vorteile einer Tag-basierten Zugriffskontrolle
-
Derselbe Autorisierungsmechanismus für verschiedene AWS Ressourcentypen.
Sie können dasselbe Tag oder denselben Tag-Schlüssel verwenden, um den Zugriff auf mehrere Ressourcentypen zu steuern, z. B. einen Amazon Relational Database Service (AmazonRDS) -Cluster, ein Amazon Elastic Block Store (AmazonEBS) -Volume (Amazon) und einen KMS Schlüssel. Diese Funktion ermöglicht verschiedene Autorisierungsmodelle, die flexibler sind als herkömmliche rollenbasierte Zugriffskontrolle.
-
Autorisieren Sie den Zugriff auf eine Gruppe von Schlüsseln. KMS
Sie können Tags verwenden, um den Zugriff auf eine Gruppe von KMS Schlüsseln in derselben Region AWS-Konto und derselben Region zu verwalten. Weisen Sie den ausgewählten Schlüsseln dasselbe Tag oder denselben KMS Tagschlüssel zu. Erstellen Sie dann eine einfache easy-to-maintain Richtlinienerklärung, die auf dem Tag oder dem Tagschlüssel basiert. Um einen KMS Schlüssel zu Ihrer Autorisierungsgruppe hinzuzufügen oder zu entfernen, fügen Sie das Tag hinzu oder entfernen Sie es. Sie müssen die Richtlinie nicht bearbeiten.
Vorteile einer Alias-basierten Zugriffskontrolle
-
Autorisieren Sie den Zugriff auf kryptografische Operationen basierend auf Aliassen.
Die meisten anforderungsbasierten Richtlinienbedingungen für Attribute, einschließlich aws:RequestTag/tag-key, betreffen nur Operationen, die das Attribut hinzufügen, bearbeiten oder löschen. Der RequestAlias Bedingungsschlüssel kms: steuert jedoch den Zugriff auf kryptografische Operationen auf der Grundlage des Alias, der zur Identifizierung des KMS Schlüssels in der Anfrage verwendet wird. Sie können beispielsweise einem Prinzipal die Erlaubnis erteilen, einen KMS Schlüssel in einer
Encrypt
Operation zu verwenden, aber nur, wenn der Wert desKeyId
Parameters lautetalias/restricted-key-1
. Diese Bedingung zu erfüllen, erfordert Folgendes:-
Der KMS Schlüssel muss diesem Alias zugeordnet sein.
-
Die Anfrage muss den Alias verwenden, um den KMS Schlüssel zu identifizieren.
-
Der Prinzipal muss die Erlaubnis haben, den KMS Schlüssel unter der
kms:RequestAlias
Bedingung zu verwenden.
Dies ist besonders nützlich, wenn Ihre Anwendungen häufig Aliasnamen oder Alias verwendenARNs, um auf KMS Schlüssel zu verweisen.
-
-
Stellen Sie sehr eingeschränkte Berechtigungen bereit.
Ein Alias muss in einer AWS-Konto UND-Region eindeutig sein. Daher kann es viel restriktiver sein, Prinzipalen Zugriff auf einen KMS Schlüssel zu gewähren, der auf einem Alias basiert, als ihnen Zugriff auf der Grundlage eines Tags zu gewähren. Im Gegensatz zu Aliasnamen können Tags mehreren KMS Schlüsseln in demselben Konto und derselben Region zugewiesen werden. Wenn Sie möchten, können Sie ein Aliasmuster verwenden
alias/test*
, um beispielsweise Principals Zugriff auf eine Gruppe von KMS Schlüsseln im selben Konto und derselben Region zu gewähren. Das Zulassen oder Verweigern des Zugriffs auf einen bestimmten Alias ermöglicht jedoch eine sehr strenge Kontrolle der KMS Schlüssel.