Sie können in den Schlüsselrichtlinien und AWS Identity and Access Management-Richtlinien (IAM-Richtlinien) die Bedingungen angeben, die den Zugriff auf AWS KMS-Ressourcen steuern. Die Richtlinienanweisung ist nur wirksam, wenn diese Bedingungen erfüllt sind. Beispielsweise kann festgelegt werden, dass eine Richtlinienanweisung erst ab einem bestimmten Datum gilt. Sie können auch festlegen, dass eine Richtlinienanweisung den Zugriff nur steuert, wenn in einer API-Anforderung ein bestimmter Wert vorhanden ist. Show
Verwenden Sie Bedingungsschlüssel im 7-Element einer Richtlinienanweisung mit IAM-Bedingungs-Operatoren, um Bedingungen festzulegen. Dieselben Bedingungsschlüssel gelten in der Regel auch für AWS, einige sind jedoch auf AWS KMS beschränkt.Bedingungsschlüsselwerte müssen die Zeichen- und Kodierungsregeln für AWS KMS-Schlüsselrichtlinien und IAM-Richtlinien befolgen. Weitere Informationen zu wichtigen Dokumentenregeln für Schlüsselrichtlinien finden Sie unter Schlüsselrichtlinienformat. Weitere Informationen zu Regeln für IAM-Richtliniendokumente finden Sie unter Anforderungen für den IAM-Namen im IAM-Benutzerhandbuch. AWS Globale BedingungsschlüsselAWS definiert globale Bedingungsschlüssel, eine Reihe von Richtlinien-Bedingungsschlüsseln für alle AWS-Services, die IAM zur Zugriffskontrolle verwenden. AWS KMS unterstützt alle globalen Bedingungsschlüssel. Sie können sie in AWS KMS-Schlüsselrichtlinien und IAM-Richtlinien verwenden. Sie können beispielsweise den globalen Bedingungsschlüssel aws:PrincipalArn verwenden, um den Zugriff auf einen AWS KMS key (KMS-Schlüssel) nur dann zu gewähren, wenn der Prinzipal in der Anforderung durch den Amazon-Ressourcennamen (ARN) im Bedingungsschlüsselwert dargestellt wird. Zur Unterstützung von attributbasierter Zugriffskontrolle (ABAC) in AWS KMS können Sie den globalen Bedingungsschlüssel aws:ResourceTag/tag-key in einer IAM-Richtlinie verwenden, um den Zugriff auf KMS-Schlüssel mit einem bestimmten Tag zu erlauben. Um zu verhindern, dass ein AWS-Service als verwirrter Stellvertreter in einer Richtlinie verwendet wird, in der der Prinzipal ein AWS-Serviceprinzipal ist, können Sie die globalen Bedingungsschlüssel aws:SourceArn oder aws:SourceAccount verwenden. Details hierzu finden Sie unter Verwenden der Bedingungsschlüssel aws:SourceArn oder aws:SourceAccount. Informationen zu globalen AWS-Bedingungsschlüsseln, einschließlich der Arten von Anforderungen, in denen sie verfügbar sind, finden Sie unter Globale AWS-Bedingungskontextschlüssel im IAM-Benutzerhandbuch. Beispiele für die Verwendung globaler Bedingungsschlüssel in IAM-Richtlinien finden Sie unter Steuern des Zugriffs auf Anforderungen und Steuern von Tag-Schlüsseln im IAM-Benutzerhandbuch. Die folgenden Themen bieten spezielle Anleitungen für die Verwendung von Bedingungsschlüsseln basierend auf IP-Adressen und VPC-Endpunkten. Verwenden der IP-Adressbedingung in Richtlinien mit AWS KMS-BerechtigungenSie können AWS KMS zum Schutz Ihrer Daten in einem integrierten AWS-Service verwenden. Bei Angabe der Bedingungsoperatoren für IP-Adressen oder des 8-Bedingungsschlüssels in derselben Richtlinienanweisung, die den Zugriff auf AWS KMS zulässt oder verweigert, ist jedoch Vorsicht geboten. Die Richtlinie in AWS: Verweigert den Zugriff auf AWS anhand der Quell-IP beschränkt beispielsweise AWS-Aktionen auf Anforderungen von dem angegebenen IP-Bereich.Betrachten Sie folgendes Szenario:
Schritt 2 schlägt fehl, da die Anforderung an AWS KMS, den verschlüsselten Datenschlüssel des Datenträgers zu entschlüsseln, von einer IP-Adresse stammt, die der Amazon-EC2-Infrastruktur zugeordnet ist. Dieser Schritt wird nur erfolgreich durchgeführt, wenn die Anforderung von der IP-Adresse des ursprünglichen Benutzers stammt. Da die Richtlinie in Schritt 1 explizit alle Anforderungen von anderen als den angegebenen IP-Adressen ablehnt, wird die Berechtigung für Amazon EC2 zum Entschlüsseln des verschlüsselten Datenschlüssels des EBS-Datenträgers abgelehnt. Weiterhin ist der Bedingungsschlüssel 0 nicht wirksam, wenn die Anforderung von einem Amazon-VPC-Endpunkt kommt. Um Anforderungen an einen VPC-Endpunkt, einschließlich eines AWS KMS-VPC-Endpunkts zu beschränken, verwenden Sie die 1- oder 2-Bedingungsschlüssel. Weitere Informationen finden Sie unter VPC-Endpunkte – Steuern der Nutzung von Endpunkten im Amazon VPC-Benutzerhandbuch.Verwenden von VPC-Endpunkt-Bedingungen in Richtlinien mit AWS KMS-BerechtigungenAWS KMS unterstützt jetzt Amazon-Virtual-Private-Cloud-Endpunkte (Amazon VPC), die von AWS-PrivateLink bereitgestellt werden. Sie können die folgenden globalen Bedingungsschlüssel in Schlüsselrichtlinien und IAM-Richtlinien zur Steuerung des Zugriffs auf AWS KMS-Ressourcen verwenden, wenn die Anforderung von einer VPC stammt oder einen VPC-Endpunkt verwendet. Details hierzu finden Sie unter Verwenden eines VPC-Endpunkts in einer Richtlinienanweisung.
Wenn Sie diese Bedingungsschlüssel verwenden, um den Zugriff auf KMS-Schlüssel zu kontrollieren, verweigern Sie möglicherweise versehentlich den Zugriff auf AWS-Services, die AWS KMS in Ihrem Auftrag verwendet. Seien Sie sorgsam darum bemüht, eine Situation wie das IP-Adressen-Bedingungsschlüssel Beispiel zu vermeiden. Wenn Sie die Anforderungen für einen KMS-Schlüssel an eine VPC oder einen VPC-Endpunkt beschränken, schlagen Aufrufe an AWS KMS von einem integrierten Service wie z. B. Simple Storage Service (Amazon S3) oder Amazon EBS möglicherweise fehl. Dies kann auch dann vorkommen, wenn die Quell-Anforderung letztendlich von der VPC oder dem VPC-Endpunkt stammt. AWS KMS-BedingungsschlüsselAWS KMS bietet einen Satz von Bedingungsschlüsseln, die Sie in Schlüsselrichtlinien und IAM-Richtlinien verwenden können. Diese Bedingungsschlüssel gelten nur für AWS KMS. Sie können beispielsweise den Bedingungsschlüssel 5 verwenden, damit ein bestimmter Verschlüsselungskontext bei der Steuerung des Zugriffs auf einen KMS-Schlüssel zur symmetrischen Verschlüsselung erforderlich ist.Bedingungen für die Anforderung einer API-Produktion Viele der AWS KMS-Bedingungsschlüssel steuern den Zugriff auf einen KMS-Schlüssel anhand dem Wert eines Parameters in der Anforderung für eine AWS KMS-Produktion. Beispielsweise können Sie den Bedingungsschlüssel kms:KeySpec in einer IAM-Richtlinie verwenden, um die Verwendung der CreateKey-Produktion nur zu erlauben, wenn der Wert des 6-Parameters in der 7-Anforderung 8 lautet.Dieser Bedingungstyp funktioniert sogar dann, wenn der Parameter nicht in der Anforderung angezeigt wird, z. B. wenn Sie den Standardwert des Parameters verwenden. Beispielsweise können Sie mit dem Bedingungsschlüssel kms:KeySpec Benutzern die Verwendung der 7-Produktion nur dann erlauben, wenn der Wert des 6-Parameters 1 lautet, was dem Standardwert entspricht. Diese Bedingung gewährt Anforderungen mit dem Parameter 6 und dem Wert 1 sowie Anforderungen ohne den Parameter 6.Bedingungen für KMS-Schlüssel, die in API-Operationen verwendet werden Einige AWS KMS-Bedingungsschlüssel steuern den Zugriff auf Operationen anhand einer Eigenschaft des KMS-Schlüssels, die in der Produktion verwendet wird. Beispielsweise können Sie mit der Bedingung kms:KeyOrigin Prinzipalen den Aufruf von GenerateDataKey für einen KMS-Schlüssel nur erlauben, wenn der 5 des KMS-Schlüssel 6 lautet. Um herauszufinden, ob ein Bedingungsschlüssel auf diese Weise verwendet werden kann, lesen Sie die Beschreibung des Bedingungsschlüssels.Bei der Produktion muss es sich um eine KMS-Schlüsselressourcen-Produktion handeln, das heißt, eine Produktion, die für einen bestimmten KMS-Schlüssel autorisiert ist. Um die KMS-Schlüsselressourcen-Operationen zu identifizieren, suchen Sie in der Tabelle Actions and Resources (Aktionen und Ressourcen) Sie nach dem Wert von 7 in der 8-Spalte für die Produktion. Wenn Sie diesen Typ von Bedingungsschlüssel bei einer Produktion verwenden, die für eine bestimmte KMS-Schlüssel-Ressource nicht autorisiert ist, wie ListKeys, ist die Berechtigung nicht wirksam, da die Bedingung nie erfüllt werden kann. Es ist keine KMS-Schlüssel-Ressource an der Autorisierung der Produktion 9 beteiligt und keine 6-Eigenschaft.In den folgenden Themen werden alle AWS KMS-Bedingungsschlüssel beschrieben. Zudem erhalten Sie Beispiel-Richtlinienanweisungen, um die Syntax der Richtlinie aufzuzeigen. Verwenden von Satz-Operatoren mit Bedingungsschlüssel Wenn eine Richtlinienbedingung zwei Werte vergleicht, z. B. den Satz von Tags in einer Anforderung und den Satz von Tags in einer Richtlinie, müssen Sie AWS sagen, wie die Sätze verglichen werden sollen. IAM definiert für diesen Zweck zwei Satz-Operatoren, 1 und 2. Verwenden Sie Satz-Operatoren nur mit mehrwertigen Bedingungsschlüssel, die diese erfordern. Verwenden Sie keine Satz-Operatoren mit einzelwertigen Bedingungsschlüssel. Testen Sie Ihre Richtlinienanweisungen immer gründlich, bevor Sie sie in einer Operationsumgebung verwenden.Bedingungsschlüssel sind einzelwertig oder mehrwertig. Um zu bestimmen, ob ein AWS KMS-Bedingungsschlüssel einzelwertig oder mehrwertig ist, sehen Sie in der Werttyp-Spalte in der Beschreibung des Bedingungsschlüssels.
Beachten Sie, dass der Unterschied zwischen einzelwertigen und mehrwertigen Bedingungsschlüsseln von der Anzahl der Werte im Autorisierungskontext abhängt, nicht von der Anzahl der Werte in der Richtlinienbedingung. Wenn Sie einen Satz-Operator mit einem einzelwertigen Bedingungsschlüssel verwenden, können Sie eine Richtlinienanweisung erstellen, die übermäßig permissiv (oder zu restriktiv) ist. Verwenden Sie Satz-Operatoren nur mit mehrwertigen Bedingungsschlüssel, die diese erfordern. Wenn Sie eine Richtlinie erstellen oder aktualisieren, die einen 2-Satz-Operator mit dem kms:EncryptionContext:-Kontextschlüssel oder den 4-Bedingungsschlüsseln enthält, gibt AWS KMS die folgende Fehlermeldung zurück: 5Ausführliche Informationen zu den 1- und 2-Satz-Operatoren finden Sie unter Verwenden mehrerer Schlüssel und Werte im IAM-Benutzerhandbuch. Informationen zum Risiko der Verwendung des 2-Satz-Operators mit einer einzelwertigen Bedingung finden Sie unter Sicherheitswarnung – ForAllValues mit einzelwertigem Schlüssel im IAM-Benutzerhandbuch.kms:BypassPolicyLockoutSafetyCheckAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 9Boolesch Einzelwertig 7 1Nur IAM-Richtlinien Schlüsselrichtlinien und IAM-Richtlinien Der 9 Bedingungsschlüssel steuert den Zugriff auf die Operationen CreateKey und PutKeyPolicy basierend auf dem Wert des 3-Parameters in der Anforderung.Die folgende Beispiel-IAM-Richtlinienanweisung verhindert, dass Benutzer die Richtliniensperre-Sicherheitsprüfung umgehen, indem Sie die Berechtigung zum Erstellen von KMS-Schlüssel ablehnen, wenn der Wert des Parameters 3 in der 7-Anforderung 6 lautet.
Außerdem können Sie den 9-Bedingungsschlüssel in einer IAM- oder Schlüsselrichtlinie verwenden, um den Zugriff auf die 1-Produktion zu steuern. Die folgende Beispiel-Richtlinienanweisung einer Schlüsselrichtlinie verhindert, dass Benutzer beim Ändern der Richtlinie eines KMS-Schlüssel die Richtliniensperre-Sicherheitsprüfung umgehen.Statt eine explizite 9-Bedingung zu verwenden, nutzt diese Richtlinienanweisung 00 mit dem Null-bedingten Operator, um den Zugriff nur zu erlauben, wenn die Anforderung keinen 3-Parameter enthält. Wenn der Parameter nicht verwendet wird, lautet der Standardwert 02. Diese etwas schwächere Richtlinienanweisung kann überschrieben werden, wenn ein Bypass erforderlich ist. Dies ist allerdings selten der Fall.
Informationen finden Sie auch unter: kms:CallerAccountAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 03String EinzelwertigKMS-Schlüsselressourcen-Operationen Benutzerdefinierter-Schlüsselspeicher-Operationen Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um den Zugriff auf alle Identitäten (IAM-Benutzer und -Rollen) in einem AWS-Konto zu gestatten oder verweigern. In Schlüsselrichtlinien verwenden Sie das Element 04, um die Identitäten festzulegen, für die die Richtlinieanweisung gilt. Die Syntax für das 04-Element bietet keine Möglichkeit, alle Identitäten in einem AWS-Konto festzulegen. Sie können diesen Effekt aber erzielen, indem Sie diesen Bedingungsschlüssel mit einem 04-Element kombinieren, das alle AWS-Identitäten festlegt.Sie können es zum Steuern des Zugriffs auf jede KMS-Schlüsselressourcen-Produktion verwenden, das heißt, jede AWS KMS-Produktion, die einen bestimmten KMS-Schlüssel verwendet. Um die KMS-Schlüsselressourcen-Operationen zu identifizieren, suchen Sie in der Tabelle Actions and Resources (Aktionen und Ressourcen) Sie nach dem Wert von 7 in der 8-Spalte für die Operation. Er ist auch gültig für Operationen, die benutzerdefinierte Schlüsselspeicher verwalten.Die folgende Schlüsselrichtlinienanweisung veranschaulicht beispielsweise die Verwendung des Bedingungsschlüssels 03. Diese Richtlinienanweisung ist die Schlüsselrichtlinie für den Von AWS verwalteter Schlüssel für Amazon EBS. Sie kombiniert ein 04-Element, das alle AWS-Identitäten mit dem Bedingungsschlüssel 03 festlegt, um allen Identitäten im AWS-Konto 111122223333 effektiv den Zugriff zu erlauben. Sie enthält einen zusätzlichen AWS KMS-Bedingungsschlüssel ( 12), um die Berechtigungen weiter einzuschränken, indem nur Anforderungen über Amazon EBS zugelassen werden. Weitere Informationen finden Sie unter kms:ViaService.
kms:CustomerMasterKeySpec (veraltet)Der Bedingungsschlüssel 13 ist veraltet. Verwenden Sie stattdessen den Bedingungsschlüssel kms:KeySpec.Die Bedingungsschlüssel 13 und 15 funktionieren auf die gleiche Weise. Nur die Namen unterscheiden sich. Wir empfehlen Ihnen, 15 zu verwenden. Um jedoch Breaking Changes zu vermeiden, unterstützt AWS KMS beide Bedingungsschlüssel.kms:CustomerMasterKeyUsage (veraltet)Der Bedingungsschlüssel 17 ist veraltet. Verwenden Sie stattdessen den Bedingungsschlüssel kms:keyUsage.Die Bedingungsschlüssel 17 und 19 funktionieren auf die gleiche Weise. Nur die Namen unterscheiden sich. Wir empfehlen Ihnen, 19 zu verwenden. Um jedoch Breaking Changes zu vermeiden, unterstützt AWS KMS beide Bedingungsschlüssel.kms:DataKeyPairSpecAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 21String Einzelwertig 22 23Schlüsselrichtlinien und IAM-Richtlinien Mit diesem Bedingungsschlüssel können Sie den Zugriff auf die Operationen GenerateDataKeyPair und GenerateDataKeyPairWithoutPlaintext basierend auf dem Wert des 24-Parameters in der Anforderung steuern. Beispielsweise können Sie einem Benutzer erlauben, nur bestimmte Typen von Datenschlüsselpaaren zu generieren.Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den Bedingungsschlüssel 21, um es einem Benutzer zu erlauben, mit dem KMS-Schlüssel nur RSA-Datenschlüsselpaare zu generieren.
Informationen finden Sie auch unter: kms:EncryptionAlgorithmAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 26String Einzelwertig 27 28 29 22 23 32 33Schlüsselrichtlinien und IAM-Richtlinien Mit dem Bedingungsschlüssel 26 können Sie den Zugriff auf kryptografische Operationen basierend auf dem in der Produktion verwendeten Verschlüsselungsalgorithmus kontrollieren. Für die Operationen Encrypt, Decrypt und ReEncrypt steuert er den Zugriff anhand des Werts des Parameters EncryptionAlgorithm in der Anforderung. Für Operationen, die Datenschlüssel und Datenschlüsselpaare generieren, steuert er den Zugriff basierend auf dem Verschlüsselungsalgorithmus, der zum Verschlüsseln des Datenschlüssels verwendet wird.Dieser Bedingungsschlüssel hat keine Auswirkungen auf Operationen, die außerhalb von AWS KMS ausgeführt werden, z. B. die Verschlüsselung mit dem öffentlichen Schlüssel in einem asymmetrischen KMS-Schlüsselpaar außerhalb von AWS KMS. EncryptionAlgorithm-Parameter in einer Anforderung Damit Benutzer nur einen bestimmten Verschlüsselungsalgorithmus mit einem KMS-Schlüssel verwenden können, verwenden Sie eine Richtlinienanweisung mit dem Effekt 9 und dem Bedingungsoperator 36. Die folgende Schlüsselrichtlinienanweisung verhindert beispielsweise, dass Prinzipale, die die 37-Rolle annehmen können, diesen KMS-Schlüssel in den angegebenen kryptografischen Operationen verwenden, es sei denn, der Verschlüsselungsalgorithmus in der Anforderung ist 38 (ein asymmetrischer Verschlüsselungsalgorithmus, der mit RSA-KMS-Schlüsseln verwendet wird).Im Gegensatz zu einer Richtlinienanweisung, die es einem Benutzer erlaubt, einen bestimmten Verschlüsselungsalgorithmus zu verwenden, hindert eine Richtlinienanweisung mit einem doppelten Negativwert wie diese andere Richtlinien und Erteilungen für diesen KMS-Schlüssel daran, dieser Rolle die Verwendung anderer Verschlüsselungsalgorithmen zu ermöglichen. Das 9 in dieser Schlüsselrichtlinienanweisung hat Vorrang vor allen Schlüsselrichtlinien oder IAM-Richtlinien mit 00-Wirkung, und es hat vor allen Erteilungen für diesen KMS-Schlüssel und seine Prinzipale Vorrang.
Der für die Produktion verwendete Verschlüsselungsalgorithmus Sie können auch den 26-Bedingungsschlüssel verwenden, um den Zugriff auf Operationen basierend auf dem in der Produktion verwendeten Verschlüsselungsalgorithmus zu steuern, auch wenn der Algorithmus nicht in der Anforderung angegeben ist. Auf diese Weise können Sie den 1-Algorithmus, der möglicherweise nicht in einer Anforderung angegeben wird, erfordern oder verbieten, da es sich um den Standardwert handelt.Sie können den 26-Bedingungsschlüssel auch verwenden, um den Zugriff auf die Operationen zu steuern, die Datenschlüssel und Datenschlüsselpaare generieren. Diese Operationen verwenden nur KMS-Schlüssel zur symmetrischen Verschlüsselung und den 1-Algorithmus.Beispielsweise beschränkt diese IAM-Richtlinie ihre Prinzipale auf symmetrische Verschlüsselung. Sie verweigert den Zugriff auf jeden KMS-Schlüssel im Beispielkonto für kryptografische Operationen, es sei denn, der in der Anforderung angegebene oder in der Produktion verwendete Verschlüsselungsalgorithmus ist SYMMETRIC_DEFAULT. Wenn 45 enthalten ist, werden GenerateDataKey, GenerateDataKeyWithoutPlaintext, GenerateDataKeyPair und GenerateDataKeyPairWithoutPlaintext zu den Berechtigungen hinzugefügt. Die Bedingung hat keine Auswirkungen auf diese Vorgänge, da sie immer einen symmetrischen Verschlüsselungsalgorithmus verwenden.
Informationen finden Sie auch unter: kms:EncryptionContext:-Kontext-SchlüsselAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 5String Einzelwertig 47 28 27 29 22 23 32 33Schlüsselrichtlinien und IAM-Richtlinien Mit dem 5-Bedingungsschlüssel können Sie den Zugriff auf einen KMS-Schlüssel zu symmetrischen Verschlüsselung anhand des Verschlüsselungskontexts in einer Anforderung für eine kryptografische Produktion steuern. Verwenden Sie diesen Bedingungsschlüssel, um sowohl den Schlüssel als auch den Wert im Verschlüsselungskontext-Paar auszuwerten. Um nur die Verschlüsselungskontext-Schlüssel auszuwerten oder einen Verschlüsselungskontext unabhängig von Schlüsseln oder Werten zu erfordern, verwenden Sie den kms:EncryptionContextKeys-Bedingungsschlüssel.Dieser Bedingungsschlüssel ist in Schlüsselrichtlinien-Anweisungen und IAM-Richtlinienanweisungen gültig, obwohl er nicht in der IAM-Konsole oder in der IAM-Serviceautorisierungsreferenz vorkommt. Bedingungsschlüsselwerte müssen die Zeichenregeln für Schlüsselrichtlinien und IAM-Richtlinien einhalten. Einige Zeichen, die in einem Verschlüsselungskontext gültig sind, sind in Richtlinien nicht gültig. Sie können diesen Bedingungsschlüssel möglicherweise nicht verwenden, um alle gültigen Verschlüsselungskontextwerte auszudrücken. Weitere Informationen zu wichtigen Dokumentenregeln für Schlüsselrichtlinien finden Sie unter Schlüsselrichtlinienformat. Weitere Informationen zu Regeln für IAM-Richtliniendokumente finden Sie unter Anforderungen für den IAM-Namen im IAM-Benutzerhandbuch. Sie können mit einem asymmetrische KMS-Schlüssel oder einem HMAC-KMS-Schlüssel keinen Verschlüsselungskontext in einer kryptografischen Produktion angeben. Asymmetrische Algorithmen und MAC-Algorithmen unterstützen keinen Verschlüsselungskontext. Um den kms:EncryptionContext:-Kontext-Schlüssel-Bedingungsschlüssel zu verwenden, ersetzen Sie den 56-Platzhalter mit dem Verschlüsselungskontext-Schlüssel. Ersetzen Sie den 57-Platzhalter durch den Verschlüsselungskontextwert der Verschlüsselung.
Der folgende Bedingungsschlüssel gibt beispielsweise einen Verschlüsselungskontext an, in dem der Schlüssel 58 und der Wert 59 ( 60) ist.
Dies ist ein einzelwertiger Bedingungsschlüssel. Der Schlüssel im Bedingungsschlüssel gibt einen bestimmten Verschlüsselungskontext-Schlüssel an (Kontext-Schlüssel). Obwohl Sie mehrere Verschlüsselungskontext-Paare in jede API-Anforderung einschließen können, kann das Verschlüsselungskontext-Paar mit dem angegebenen Kontext-Schlüssel nur einen Wert haben. Der 61-Bedingungsschlüssel gilt beispielsweise nur für Verschlüsselungskontext-Paare mit einem 62-Schlüssel, und jedes gegebene Verschlüsselungskontext-Paar mit dem 62-Schlüssel kann nur einen Wert haben.Verwenden Sie keinen Satz-Operator mit dem 5-Bedingungsschlüssel. Wenn Sie eine Richtlinienanweisung mit einer 00-Aktion, dem 5-Bedingungsschlüssel und dem 2-Satz-Operator erstellen, erlaubt die Bedingung Anforderungen ohne Verschlüsselungskontext und Anforderungen mit Verschlüsselungskontext-Paaren, die nicht in der Richtlinienbedingung angegeben sind.Verwenden Sie keinen 1- oder 2-Satz-Operator mit diesem einzelwertigen Bedingungsschlüssel. Diese Satz-Operatoren können eine Richtlinienbedingung erstellen, die keine der von Ihnen gewünschten Werte erfordert und Werte erlaubt, die Sie verbieten möchten.Wenn Sie eine Richtlinie erstellen oder aktualisieren, die einen 2-Satz-Operator mit dem kms:EncryptionContext:-Kontextschlüssel enthält, gibt AWS KMS die folgende Fehlermeldung zurück:
Um ein bestimmtes Verschlüsselungskontext-Paar zu erfordern, verwenden Sie den 5-Bedingungsschlüssel mit dem 73-Operator.Die folgende Beispiel-Schlüsselrichtlinienanweisung erlaubt es Prinzipalen, die die Rolle übernehmen können, den KMS-Schlüssel in einer 29-Anforderung zu verwenden, nur dann, wenn der Verschlüsselungskontext in der Anforderung das 75-Paar beinhält. Andere Verschlüsselungskontext-Paare sind zulässig.Für den Schlüsselnamen muss die Groß-/Kleinschreibung nicht berücksichtigt werden. Die Berücksichtigung der Groß-/Kleinschreibung des Wertes wird durch den Bedingungsoperator (z. B. 73) festgelegt. Details hierzu finden Sie unter Beachtung der Groß-/Kleinschreibung bei der Verschlüsselungskontextbedingung.
Um ein Verschlüsselungskontext-Paar zu erfordern und alle anderen Verschlüsselungskontext-Paare zu verbieten, verwenden Sie sowohl den kms:EncryptionContext:-Kontext-Schlüssel und kms:EncryptionContextKeys in der Richtlinienanweisung. Die folgende Schlüsselrichtlinienanweisung verwendet die 77-Bedingung, um das 78-Verschlüsselungskontext-Paar in der Anforderung zu erfordern. Sie verwendet auch einen 79-Bedingungsschlüssel mit dem 2-Satz-Operator, um nur den 58-Verschlüsselungskontext-Schlüssel zu erlauben.Der 2-Satz-Operator beschränkt Verschlüsselungskontext-Schlüssel in der Anforderung an 58. Wenn die 79-Bedingung mit dem 2-Satz-Operator alleine in einer Richtlinienanweisung verwendet würde, würde dieser Satz-Operator Anforderungen ohne Verschlüsselungskontext erlauben. Wenn die Anforderung jedoch keinen Verschlüsselungskontext hätte, würde die 77-Bedingung fehlschlagen. Ausführliche Informationen zu dem 2-Satz-Operator finden Sie unter Verwenden mehrerer Schlüssel und Werte im IAM-Benutzerhandbuch.
Sie können diesen Bedingungsschlüssel auch verwenden, um den Zugriff auf einen KMS-Schlüssel für eine bestimmte Produktion zu verweigern. Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet eine 9-Wirkung, um dem Prinzipal die Verwendung des KMS-Schlüssels zu verbieten, wenn der Verschlüsselungskontext in der Anforderung ein 89-Verschlüsselungskontext-Paar enthält. Diese Bedingung ermöglicht eine Anforderung mit anderen Verschlüsselungskontext-Paaren, einschließlich Verschlüsselungskontext-Paaren mit dem 90-Schlüssel und andere Werte, wie 91. 0Verwenden mehrerer Verschlüsselungskontext-PaareSie können mehrere Verschlüsselungskontext-Paare erfordern oder verbieten. Sie können auch eines von mehreren Verschlüsselungskontext-Paaren erfordern. Ausführliche Informationen zur Logik, die zum Interpretieren dieser Bedingungen verwendet wird, finden Sie unter Erstellen einer Bedingung mit mehreren Schlüsseln oder Werten im IAM-Benutzerhandbuch. In früheren Versionen dieses Themas wurden Richtlinienanweisungen angezeigt, die die 1- und 2-Satz-Operatoren mit dem kms:EncryptionContext:-Kontext-Schlüssel-Bedingungsschlüssel verwendeten. Verwenden eines Set-Operators mit einem einzelwertigen Bedingungsschlüssel kann zu Richtlinien führen, die Anforderungen ohne Verschlüsselungskontext und mit nicht-spezifizierten Verschlüsselungskontext-Paaren erlauben.Eine Richtlinienbedingung mit dem 00-Effekt, dem 2-Satz-Operator und dem 96-Bedingungsschlüssel, beschränkt den Verschlüsselungskontext nicht auf das Paar „Department=IT“. Sie erlaubt Anforderungen ohne Verschlüsselungskontext und Anforderungen mit nicht spezifizierten Verschlüsselungskontext-Paaren, wie 89.Bitte überprüfen Sie Ihre Richtlinien und eliminieren Sie den Satz-Operator aus jeder Bedingung mit dem kms:EncryptionContext:-Kontext-Schlüssel. Versuche, eine Richtlinie mit diesem Format zu erstellen oder zu aktualisieren, schlagen mit einer 98-Ausnahme fehl. Um den Fehler zu beheben, löschen Sie den Satz-Operator.Um mehrere Verschlüsselungskontext-Paare zu erfordern, listen Sie die Paare in derselben Bedingung auf. Die folgende Beispiel-Schlüsselrichtlinienanweisung erfordert zwei Verschlüsselungskontext-Paare, 99 und 00. Da die Bedingungen unterschiedliche Schlüssel haben ( 61 und 02), werden sie implizit durch einen AND-Operator verbunden. Andere Verschlüsselungskontext-Paare sind zulässig, aber nicht erforderlich. 1Um ein Verschlüsselungskontext-Paar OR ein anderes Paar zu erfordern, platzieren Sie jeden Bedingungsschlüssel in einer separaten Richtlinienanweisung. Das folgende Beispiel einer Schlüsselrichtlinie erfordert 99- oder 00-Paare oder beides. Andere Verschlüsselungskontext-Paare sind zulässig, aber nicht erforderlich. 2Um ein Verschlüsselungs-Paar zu erfordern und alle anderen Verschlüsselungskontext-Paare zu verbieten, verwenden Sie sowohl den kms:EncryptionContext:-Kontext-Schlüssel und kms:EncryptionContextKeys in der Richtlinienanweisung. Die folgende Schlüsselrichtlinienanweisung verwendet die kms:EncryptionContext:-Kontext-Schlüssel-Bedingung, um einen Verschlüsselungskontext mit 99- und 00-Paaren zu erfordern. Sie verwendet einen 79-Bedingungsschlüssel mit dem 2-Satz-Operator, um nur die 62- und 10-Verschlüsselungskontext-Schlüssel zu erlauben.Der 2-Satz-Operator beschränkt Verschlüsselungskontext-Schlüssel in der Anforderung an 62 und 10. Wenn es alleine in einer Bedingung verwendet würde, würde dieser Satz-Operator Anforderungen ohne Verschlüsselungskontext erlauben, aber in dieser Konfiguration würde der kms:EncryptionContext:-Kontext-Schlüssel in dieser Bedingung fehlschlagen. 3Sie können auch mehrere Verschlüsselungskontext-Paare verbieten. Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet eine 9-Wirkung, um dem Prinzipal die Verwendung des KMS-Schlüssels zu verbieten, wenn der Verschlüsselungskontext in der Anforderung ein 89- oder 16-Paar enthält.Mehrere Werte ( 17 und 18) für denselben Schlüssel ( 19) sind implizit durch ein OR verbunden. Details dazu finden Sie unter Auswertungslogik für Bedingungen mit mehreren Schlüsseln oder Werten im IAM-Benutzerhandbuch. 4Beachtung der Groß-/Kleinschreibung bei der VerschlüsselungskontextbedingungDer Verschlüsselungskontext, der in einem Entschlüsselungsvorgang angegeben wird, muss exakt mit dem Verschlüsselungskontext übereinstimmen, der in dem Verschlüsselungsvorgang angegeben wird (inklusive Groß-/Kleinschreibung). Nur die Reihenfolge, in der die Paare angegeben werden, spielt keine Rolle. In den Richtlinienbedingungen wird die Groß-/Kleinschreibung für den Bedingungsschlüssel nicht berücksichtigt. Die Berücksichtigung der Groß-/Kleinschreibung des Bedingungswertes wird durch den von Ihnen verwendeten Richtlinienbedingungsoperator (z. B. 73 oder 21) festgelegt.Daher unterscheidet der Bedingungsschlüssel, der aus dem 22-Präfix und dem 23-Ersatz besteht, nicht zwischen Groß-/Kleinschreibung. Eine Richtlinie, die diese Bedingung verwendet, berücksichtigt die Groß-/Kleinschreibung bei beiden Elemente des Bedingungsschlüssels nicht. Die Berücksichtigung der Groß-/Kleinschreibung des Wertes (d. h. der 24-Ersatz) wird durch den Richtlinienbedingungsoperator festgelegt.Die folgende Richtlinie erlaubt den Vorgang, wenn der Verschlüsselungskontext einen 25-Schlüssel enthält – unabhängig von der Groß-/Kleinschreibung. Die 73-Bedingung erfordert, dass 59 wie ursprünglich angegeben geschrieben wird. 5Um einen Kontextschlüssel mit Berücksichtigung der Groß-/Kleinschreibung vorzuschreiben, verwenden Sie die Richtlinienbedingung kms:EncryptionContextKeys mit einem Operator für die Groß-/Kleinschreibung (z. B. 73). Da der Verschlüsselungskontext-Schlüssel in dieser Richtlinienbedingung der Wert der Richtlinienbedingung ist, wird die Groß-/Kleinschreibung durch den Bedingungsoperator berücksichtigt. 6Um eine Auswertung des Verschlüsselungskontext-Schlüssels und des Werts unter Berücksichtigung der Groß-/Kleinschreibung zu erfordern, verwenden Sie die Richtlinienbedingungen 79 und den kms:EncryptionContext:-Kontext-Schlüssel zusammen in derselben Richtlinie. Der Bedingungsoperator (z. B. 73) gilt immer für den Wert der Bedingung. Der Verschlüsselungskontext-Schlüssel (z. B. 58) ist der Wert der 79-Bedingung. Der Verschlüsselungskontext-Wert (z. B. 59) ist der Wert der kms:EncryptionContext:-Kontext-Schlüssel-Bedingung.In der folgenden Beispiel-Schlüsselrichtlinienanweisung wird, nachdem der 73-Operator die Groß-/Kleinschreibung berücksichtigt, sowohl im Schlüssel als auch im Wert des Verschlüsselungskontextes die Groß-/Kleinschreibung berücksichtigt. 7Verwenden von Variablen in einer VerschlüsselungskontextbedingungDer Schlüssel und der Wert in einem Verschlüsselungskontextpaar müssen einfache Literalzeichenfolgen sein. Sie dürfen keine Ganzzahlen oder Objekte oder Typen, die nicht vollständig aufgelöst sind, sein. Wenn Sie einen anderen Typ verwenden, z. B. eine Ganzzahl oder Gleitkommazahl, interpretiert AWS KMS diesen Typ als Literalzeichenfolge. 8Der Wert im 5-Bedingungsschlüsselpaar kann jedoch eine IAM-Richtlinien-Variable sein. Diese Richtlinien-Variablen werden zur Laufzeit basierend auf Werten in der Anforderung aufgelöst. Beispielsweise wird 36 zum Zeitpunkt der Anforderung und 37 zum Anzeigenamen des Aufrufers aufgelöst.Sie können diese Richtlinien-Variablen verwenden, um eine Richtlinienanweisung mit einer Bedingung zu erstellen, die sehr spezifische Informationen in einem Verschlüsselungskontext erfordert, z. B. den Benutzernamen des Aufrufers. Da sie eine Variable enthält, können Sie dieselbe Richtlinienanweisung für alle Benutzer verwenden, die die Rolle übernehmen können. Sie müssen nicht für jeden Benutzer eine separate Richtlinienanweisung schreiben. Angenommen, Sie möchten, dass alle Benutzer, die eine Rolle annehmen können, denselben KMS-Schlüssel verwenden, um ihre Daten zu verschlüsseln und zu entschlüsseln. Sie möchten ihnen jedoch nur erlauben, die Daten zu entschlüsseln, die sie verschlüsselt haben. Beginnen Sie damit vorzuschreiben, dass jede Anforderung an AWS KMS einen Verschlüsselungskontext enthält, in dem der Schlüssel 38 und der Wert der AWS-Benutzername des Aufrufers ist, z. B. der folgende. 9Um diese Anforderung zu erzwingen, können Sie dann eine Richtlinienanweisung wie die im folgenden Beispiel verwenden. Diese Richtlinienanweisung erteilt der 39-Rolle die Berechtigung zum Verschlüsseln und Entschlüsseln von Daten mit dem KMS-Schlüssel. Die Berechtigung ist jedoch nur gültig, wenn der Verschlüsselungskontext in der Anforderung ein 40"-Paar enthält. Um den Benutzernamen darzustellen, verwendet die Bedingung die 37-Richtlinien-Variable.Wenn die Anforderung ausgewertet wird, ersetzt der Benutzername des Aufrufers die Variable in der Bedingung. So erfordert die Bedingung einen Verschlüsselungskontext von 42 für "bob" und 43 für "alice". 0Sie können eine IAM-Richtlinien-Variable nur im Wert des Bedingungsschlüssels 5 verwenden. Sie können keine Variable im Schlüssel verwenden.Sie können auch anbieterspezifische Kontextschlüssel in Variablen verwenden. Diese Kontextschlüssel identifizieren Benutzer eindeutig, die sich über den Web-Identitätsverbund bei AWS angemeldet haben. Wie alle Variablen können diese Variablen nur in der 5-Richtlinienbedingung und nicht im eigentlichen Verschlüsselungskontext verwendet werden. Und sie können nur im Wert der Bedingung verwendet werden, nicht im Schlüssel.Die folgende Schlüsselrichtlinienanweisung ähnelt beispielsweise der vorherigen. Die Bedingung erfordert jedoch einen Verschlüsselungskontext, in dem der Schlüssel 46 ist und der Wert einen Benutzer eindeutig identifiziert, der in einem Amazon-Cognito-Benutzerpool angemeldet ist. Weitere Informationen zum Identifizieren von Benutzern und Rollen in Amazon Cognito finden Sie unter IAM-Rollen im Amazon-Cognito-Entwicklerhandbuch. 1Informationen finden Sie auch unter: kms:EncryptionContextKeysAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 79Zeichenfolge (Liste) Mehrwertig 47 27 28 29 22 23 32 33Schlüsselrichtlinien und IAM-Richtlinien Mit dem Bedingungsschlüssel 79 können Sie den Zugriff auf einen KMS-Schlüssel zu symmetrischen Verschlüsselung anhand des Verschlüsselungskontexts in einer Anforderung für eine kryptografische Produktion steuern. Verwenden Sie diesen Bedingungsschlüssel, um nur den Wert in den einzelnen Verschlüsselungskontext-Paaren auszuwerten. Verwenden Sie den Bedingungsschlüssel 5, um sowohl den Schlüssel als auch den Wert im Verschlüsselungskontext auszuwerten.Sie können mit einem asymmetrische KMS-Schlüssel oder einem HMAC-KMS-Schlüssel keinen Verschlüsselungskontext in einer kryptografischen Produktion angeben. Asymmetrische Algorithmen und MAC-Algorithmen unterstützen keinen Verschlüsselungskontext. Bedingungsschlüsselwerte, einschließlich eines Verschlüsselungskontextschlüssels, müssen die Zeichen- und Kodierungsregeln für AWS KMS-Schlüsselrichtlinien einhalten. Sie können diesen Bedingungsschlüssel möglicherweise nicht verwenden, um alle gültigen Verschlüsselungskontextschlüssel auszudrücken. Weitere Informationen zu wichtigen Dokumentenregeln für Schlüsselrichtlinien finden Sie unter Schlüsselrichtlinienformat. Weitere Informationen zu Regeln für IAM-Richtliniendokumente finden Sie unter Anforderungen für den IAM-Namen im IAM-Benutzerhandbuch. Dies ist ein mehrwertiger Bedingungsschlüssel. Sie können mehrere Verschlüsselungskontext-Paare in jeder API-Anforderung angeben. 79 vergleicht die Verschlüsselungskontext-Schlüssel in der Anforderung mit dem Satz von Verschlüsselungskontext-Schlüsseln in der Richtlinie. Um zu bestimmen, wie diese Sätze verglichen werden, müssen Sie einen 1 oder 2-Satz-Operator in der Richtlinienbedingung angeben. Ausführliche Informationen zu den Satz-Operatoren finden Sie unter Verwenden mehrerer Schlüssel und Werte im IAM-Benutzerhandbuch.
Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den 79-Bedingungsschlüssel mit dem 1-Operator. Diese Richtlinienanweisung erlaubt die Verwendung eines KMS-Schlüssels für die angegebenen Operationen nur, wenn mindestens eines der Verschlüsselungskontext-Paare in der Anforderung den 58-Schlüssel enthält, unabhängig von dessen Wert.Diese Schlüsselrichtlinienanweisung erlaubt beispielsweise eine 29-Anforderung mit zwei Verschlüsselungskontext-Paaren, 67 und 00, da das erste Verschlüsselungskontext-Paar die Bedingung erfüllt. Eine Anforderung mit nur 00 oder ohne Verschlüsselungskontext würde fehlschlagen.Da die Bedingungsoperation StringEquals zwischen Groß-/Kleinschreibung unterscheidet, erfordert diese Richtlinienanweisung die passende Schreibweise des Verschlüsselungskontext-Schlüssels. Sie können aber einen Bedingungsoperator verwenden, der die Groß-/Kleinschreibung des Schlüssels ignoriert – z. B. 21. 2Sie können den 79-Bedingungsschlüssel auch verwenden, um einen (beliebigen) Verschlüsselungskontext in kryptografischen Operationen, die den KMS-Schlüssel verwenden, zu erfordern.Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den Bedingungsschlüssel 79 mit dem Null-bedingten Operator, um den Zugriff auf einen KMS-Schlüssel nur zu erlauben, wenn der Verschlüsselungskontext in der API-Anforderung nicht Null ist. Diese Bedingung überprüft nicht die Schlüssel oder Werte des der Verschlüsselungskontexts. Sie überprüft nur, ob der Verschlüsselungskontext vorhanden ist. 3Informationen finden Sie auch unter: kms:ExpirationModelAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 73String Einzelwertig 74Schlüsselrichtlinien und IAM-Richtlinien Der 73-Bedingungsschlüssel steuert den Zugriff auf die Produktion ImportKeyMaterial basierend auf dem Wert des ExpirationModel-Parameters in der Anforderung. 76 ist ein optionaler Parameter, der festlegt, ob das importierte Schlüsselmaterial abgelaufen ist. Gültige Werte sind 77 und 78. Der Standardwert ist 77.Das Ablaufdatum und die Uhrzeit werden durch den Wert des ValidTo-Parameters bestimmt. Der 80-Parameter ist erforderlich, es sei denn der Wert des 76-Parameters lautet 78. Sie können den kms:ValidTo-Bedingungsschlüssel verwenden, um ein bestimmtes Ablaufdatum als Bedingung für den Zugriff zu erfordern.Das folgende Richtlinienanweisungsbeispiel verwendet den 73-Bedingungsschlüssel, um einem Benutzer das Importieren von Schlüsselmaterial in einen KMS-Schlüssel nur dann zu erlauben, wenn die Anforderung den 76-Parameter enthält und der entsprechende Wert 78 lautet. 4Sie können auch den 73-Bedingungsschlüssel verwenden, um einem Benutzer das Importieren von Schlüsselmaterial nur dann zu erlauben, wenn das Schlüsselmaterial abgelaufen ist, ohne ein Ablaufdatum in der Bedingung anzugeben. Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den 73-Bedingungsschlüssel mit dem Null-bedingten Operator, um einem Benutzer das Importieren von Schlüsselmaterial nur dann zu erlauben, wenn die Anforderung keinen 76-Parameter enthält. Der Standardwert für ExpirationModel ist 77. 5Informationen finden Sie auch unter: kms:GrantConstraintTypeAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 90String Einzelwertig 47Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um den Zugriff auf die Produktion CreateGrant basierend auf dem Typ der Erteilungseinschränkung der Anforderung zu kontrollieren. Wenn Sie eine Erteilung erstellen, können Sie optional eine Erteilungseinschränkung festlegen, damit die Operationen nur dann Zugriff gewähren, wenn ein bestimmter Verschlüsselungskontext vorhanden ist. Die Erteilungseinschränkung kann einem der folgenden beiden Typen vorliegen: 92 oder 93. Sie können diesen Bedingungsschlüssel verwenden, um zu überprüfen, ob die Anforderung den einen oder den anderen Typen enthält.Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den Bedingungsschlüssel 90, um einem Benutzer nur dann das Erstellen von Erteilungen zu gestatten, wenn die Anforderung die Erteilungseinschränkung 92 enthält. Das Beispiel zeigt eine Richtlinienanweisung in einer Schlüsselrichtlinie. 6Informationen finden Sie auch unter: kms:GrantIsForAWSResourceAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 96Boolesch Einzelwertig 47 98 99Schlüsselrichtlinien und IAM-Richtlinien Erlaubt oder verweigert die Berechtigung für die Operationen CreateGrant, ListGrants oder RevokeGrant nur dann, wenn einer der mit AWS KMS integrierten AWS-Servicesdie Produktion im Namen des Benutzers aufruft. Diese Richtlinienbedingung erlaubt es dem Benutzer nicht, diese Erteilungs-Operationen direkt aufzurufen. Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den Bedingungsschlüssel 96. Sie erlaubt es AWS-Services, die in AWS KMS integriert sind, z. B. Amazon EBS, auf diesem KMS-Schlüssel im Namen des angegebenen Prinzipals Erteilungen zu erstellen. 7Informationen finden Sie auch unter: kms:GrantProduktionsAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 01String Mehrwertig 47Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um den Zugriff auf die Produktion CreateGrant anhand der Erteilungs-Operationen der Anforderung zu steuern. Sie können beispielsweise einen Benutzer berechtigen, Erteilungen zu erstellen, mit den die Berechtigung zum Verschlüsseln, aber nicht zum Entschlüsseln gewährt wird. Weitere Informationen zu Erteilungen finden Sie unter Verwenden von Erteilungen. Dies ist ein mehrwertiger Bedingungsschlüssel. 01 vergleicht den Satz von Erteilungs-Operationen in der 47-Anforderung an den Satz der Erteilungs-Operationen in der Richtlinie. Um zu bestimmen, wie diese Sätze verglichen werden, müssen Sie einen 1 oder 2-Satz-Operator in der Richtlinienbedingung angeben. Ausführliche Informationen zu den Satz-Operatoren finden Sie unter Verwenden mehrerer Schlüssel und Werte im IAM-Benutzerhandbuch.
Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den Bedingungsschlüssel 01, um einem Benutzer nur dann das Erstellen von Erteilungen zu erlauben, wenn die Erteilungs-Operationen 28, 13 oder beides sind. Wenn die Erteilung andere Operationen umfasst, schlägt die 47-Anforderung fehl. 8Wenn Sie den Satz-Operator in der Richtlinienbedingung auf 1 ändern, würde die Richtlinienanweisung erfordern, dass mindestens eine der Erteilungs-Operationen in der Erteilung 28 oder 13 ist, aber es würde andere Erteilungs-Operationen wie 27 oder 19 erlauben.Informationen finden Sie auch unter: kms:GranteePrincipalAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 20String Einzelwertig 47IAM- und Schlüsselrichtlinien Sie können diesen Bedingungsschlüssel verwenden, um den Zugriff auf die Produktion CreateGrant basierend auf dem Wert des Parameters GranteePrincipal in der Anforderung zu steuern. Sie können beispielsweise einem Benutzer das Erstellen von Erteilungen zur Verwendung eines KMS-Schlüssels nur erlauben, wenn der erteilungsempfangende Prinzipal in der 47-Anforderung dem in der Bedingungsanweisung angegebenen Prinzipal entspricht.Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den Bedingungsschlüssel 20, um einem Benutzer nur dann das Erstellen von Erteilungen für einen KMS-Schlüssel zu erlauben, wenn der erteilungsempfangende Prinzipal in der Erteilung die 24 ist. 9Informationen finden Sie auch unter: kms:KeyOriginAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 25String Einzelwertig 7KMS-Schlüsselressourcen-Operationen IAM-Richtlinien Schlüsselrichtlinien und IAM-Richtlinien Der Bedingungsschlüssel 25 steuert den Zugriff auf Vorgänge anhand des Wertes der 5-Eigenschaft des KMS-Schlüssels, der von der Produktion erstellt oder verwendet wird. Er funktioniert als Ressourcenbedingung oder als Anforderungsbedingung.Sie können diesen Bedingungsschlüssel verwenden, um den Zugriff auf die Produktion CreateKey basierend auf dem Wert des Parameters Origin in der Anforderung zu steuern. Gültige Werte für 5 sind 6, 31 und 32.Beispielsweise können Sie einem Benutzer das Erstellen eines KMS-Schlüssels nur erlauben, wenn das Schlüsselmaterial AWS KMS ( 6) generiert wird, wenn das Schlüsselmaterial in einem AWS CloudHSM-Cluster generiert wird, der einem benutzerdefinierten Schlüsselspeicher zugeordnet ist ( 31), oder wenn das Schlüsselmaterial aus einer externen Quelle importiert wird ( 32).Die folgende Beispiel-Schlüsselrichtlinienanweisung verwendet den Bedingungsschlüssel 25, um einem Benutzer nur dann das Erstellen eines KMS-Schlüssels zu gestatten, wenn AWS KMS das Schlüsselmaterial erstellt. 0Sie können mit dem Bedingungsschlüssel 25 auch den Zugriff auf Operationen steuern, die einen KMS-Schlüssel verwenden oder verwalten, basierend auf der 5-Eigenschaft des KMS-Schlüssels, der für die Produktion verwendet wird. Bei der Operation muss es sich um eine KMS-Schlüsselressourcen-Operation handeln, das heißt, eine Operation, die für einen bestimmten KMS-Schlüssel autorisiert ist. Um die KMS-Schlüsselressourcen-Operationen zu identifizieren, suchen Sie in der Tabelle Actions and Resources (Aktionen und Ressourcen) Sie nach dem Wert von 7 in der 8-Spalte für die Operation.Die folgende IAM-Richtlinie erlaubt es beispielsweise Prinzipalen, die angegebenen KMS-Schlüsselressourcen-Operationen auszuführen, jedoch nur mit KMS-Schlüssel in dem Konto, die in einem benutzerdefinierten Schlüsselspeicher erstellt wurde. 1Informationen finden Sie auch unter: kms:KeySpecAWS KMS-BedingungsschlüsselBedingungstypAPI-OperationenRichtlinientyp 15String 7KMS-Schlüsselressourcen-Operationen IAM-Richtlinien Schlüsselrichtlinien und IAM-Richtlinien Der Bedingungsschlüssel 15 steuert den Zugriff auf Operationen anhand des Wertes der 6-Eigenschaft des KMS-Schlüssels, der von der Produktion erstellt oder verwendet wird.Sie können mit diesem Bedingungsschlüssel in einer IAM-Richtlinie den Zugriff auf die CreateKey-Produktion anhand des Wertes des CustomerMasterKeySpec-Parameters in einer 7-Anforderung zu steuern. Beispielsweise können Sie es mit dieser Bedingung Benutzern erlauben, nur KMS-Schlüssel für symmetrische Verschlüsselung oder nur HMAC-KMS-Schlüssel zu erstellen.Die folgende Beispiel-IAM-Richtlinienanweisung verwendet den Bedingungsschlüssel 15, um den Prinzipalen nur dann das Erstellen eines asymmetrischen RSA-KMS-Schlüssels zu erlauben. Die Berechtigung ist nur gültig, wenn der 6 in der Anfrage mit 48 beginnt. 2Sie können mit dem Bedingungsschlüssel 15 auch den Zugriff auf Operationen steuern, die einen KMS-Schlüssel verwenden oder verwalten, basierend auf der 6-Eigenschaft des KMS-Schlüssels, der für die Produktion verwendet wird. Bei der Operation muss es sich um eine KMS-Schlüsselressourcen-Operation handeln, das heißt, eine Operation, die für einen bestimmten KMS-Schlüssel autorisiert ist. Um die KMS-Schlüsselressourcen-Operationen zu identifizieren, suchen Sie in der Tabelle Actions and Resources (Aktionen und Ressourcen) Sie nach dem Wert von 7 in der 8-Spalte für die Produktion.Die folgende IAM-Richtlinie erlaubt es beispielsweise Prinzipalen, die angegebenen KMS-Schlüsselressourcen-Operationen auszuführen, jedoch nur mit KMS-Schlüsseln zur symmetrischen Verschlüsselung im Konto. 3Informationen finden Sie auch unter: kms:KeyUsageAWS KMS-BedingungsschlüsselBedingungstypAPI-OperationenRichtlinientyp 19String 7KMS-Schlüsselressourcen-Operationen IAM-Richtlinien Schlüsselrichtlinien und IAM-Richtlinien Der Bedingungsschlüssel 19 steuert den Zugriff auf Operationen anhand des Wertes der 56-Eigenchaft des KMS-Schlüssels, der von der Produktion erstellt oder verwendet wird.Sie können diesen Bedingungsschlüssel verwenden, um den Zugriff auf die Produktion CreateKey basierend auf dem Wert des Parameters KeyUsage in der Anforderung zu steuern. Gültige Werte für 56 sind 58, 59 und 60.Beispielsweise können Sie es einem Benutzer erlauben, einen KMS-Schlüssel nur dann zu erstellen, wenn 56 auf 58 eingestellt ist, oder einem Benutzer die Berechtigung verweigert, wenn 56 auf 59 eingestellt ist.Die folgende Beispiel-IAM-Richtlinienanweisung verwendet den Bedingungsschlüssel 19, damit ein Benutzer nur dann einen KMS-Schlüssel erstellen kann, wenn 56 auf 58 eingestellt ist. 4Sie können mit dem Bedingungsschlüssel 19 auch den Zugriff auf Operationen steuern, die einen KMS-Schlüssel verwenden oder verwalten, basierend auf der 56-Eigenschaft des KMS-Schlüssels, der für die Produktion verwendet wird. Bei der Operation muss es sich um eine KMS-Schlüsselressourcen-Operation handeln, das heißt, eine Operation, die für einen bestimmten KMS-Schlüssel autorisiert ist. Um die KMS-Schlüsselressourcen-Operationen zu identifizieren, suchen Sie in der Tabelle Actions and Resources (Aktionen und Ressourcen) Sie nach dem Wert von 7 in der 8-Spalte für die Operation.Die folgende IAM-Richtlinie erlaubt es beispielsweise Prinzipalen, die angegebenen KMS-Schlüsselressourcen-Operationen auszuführen, jedoch nur mit KMS-Schlüsseln im Konto, die für Signatur und Verifizierung verwendet werden. 5Informationen finden Sie auch unter: kms:MacAlgorithmAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 72String Einzelwertig 73 74Schlüsselrichtlinien und IAM-Richtlinien Sie können mit dem Bedingungsschlüssel 72 den Zugriff auf die Operationen GenerateMac und VerifyMac anhand des Werts des Parameters 76 in der Anforderung steuern.Die folgende Beispiel-Schlüsselrichtlinie ermöglicht Benutzern, die zur Verwendung des HMAC-KMS-Schlüssels zum Generieren und Verifizieren von HMAC-Tags nur dann, wenn der MAC-Algorithmus in der Anforderung 77 oder 78 ist, die Rolle 79 annehmen können. Diese Richtlinie verwendet zwei separate Richtlinienaussagen mit jeweils einer eigenen Bedingung. Wenn Sie mehr als einen MAC-Algorithmus in einer einzigen Bedingungsanweisung angeben, erfordert die Bedingung beide Algorithmen anstelle des einen oder anderen. 6Informationen finden Sie auch unter: kms:MessageTypeAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 80String Einzelwertig 81 82Schlüsselrichtlinien und IAM-RichtlinienDer Bedingungsschlüssel 80 steuert den Zugriff auf die Operationen Sign und Verify basierend auf dem Wert des 84-Parameters in der Anforderung. Gültige Werte für 84 sind 86 und 87.Die folgende Schlüsselrichtlinienanweisung verwendet beispielsweise den Bedingungsschlüssel 80, um es einem Benutzer zu erlauben, einen asymmetrischen KMS-Schlüssel zum Signieren einer Nachricht zu verwenden, jedoch keinen Nachrichten-Digest. 7Informationen finden Sie auch unter: kms:MultiRegionAWS KMS-BedingungsschlüsselBedingungstypAPI-OperationenRichtlinientyp 89Boolesch 7KMS-Schlüsselressourcen-Operationen Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um Operationen entweder nur für einzelregionale Schlüssel oder nur für multiregionale Schlüssel zu erlauben. Der Bedingungsschlüssel 89 steuert den Zugriff auf AWS KMS-Operationen auf KMS-Schlüsseln und auf die CreateKey-Produktion anhand des Wertes der 92-Eigenschaft des KMS-Schlüssels. Gültige Werte sind 93 (multiregionaler Schlüssel) oder 02 (einzelregionaler Schlüssel). Alle KMS-Schlüssel verfügen über eine 92-Eigenschaft.Das folgende Beispiel einer IAM-Richtlinienanweisung verwendet den 89-Bedingungsschlüssel, um den Prinzipalen nur dann das Erstellen von einzelregionalen Schlüsseln zu gestatten. 8kms:MultiRegionKeyTypeAWS KMS-BedingungsschlüsselBedingungstypAPI-OperationenRichtlinientyp 97String 7KMS-Schlüsselressourcen-Operationen Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um Operationen entweder nur für multiregionale Primärschlüssel oder nur für multiregionale Replikatschlüssel zu erlauben. Der Bedingungsschlüssel 97 steuert den Zugriff auf AWS KMS-Operationen auf KMS-Schlüsseln und auf die CreateKey-Produktion anhand der 00-Eigenschaft des KMS-Schlüssels. Die gültigen Werte sind 01 und 02. Nur multiregionale Schlüssel verfügen über eine 00-Eigenschaft.In der Regel verwenden Sie den 97-Bedingungsschlüssel in einer IAM-Richtlinie, um den Zugriff auf mehrere KMS-Schlüssel zu kontrollieren. Da ein bestimmter multiregionaler Schlüssel jedoch zu Primär- oder Replikat wechseln kann, sollten Sie diese Bedingung in einer Schlüsselrichtlinie verwenden, um eine Produktion nur dann zu erlauben, wenn der bestimmte multiregionale Schlüssel ein Primär- oder Replikatschlüssel ist.In diesem Beispiel verwendet die IAM-Richtlinienanweisung den Bedingungsschlüssel 97, um Prinzipalen das Planen und Abbrechen einer Schlüssellöschung nur für multiregionale Replikatschlüssel im angegebenen AWS-Konto zu erlauben. 9Um den Zugriff auf alle multiregionale Schlüssel zu erlauben oder zu verweigern, können Sie beide Werte oder einen Nullwert mit 97 verwenden. Allerdings wird der Bedingungsschlüssel kms:MultiRegion zu diesem Zweck empfohlen.kms:PrimaryRegionAWS KMS-BedingungsschlüsselBedingungstypAPI-OperationenRichtlinientyp 07Zeichenfolge (Liste) 08Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um die Zielregionen in eine UpdatePrimaryRegion-Produktion einzuschränken. Dies sind AWS-Regionen, die Ihre multiregionalen Primärschlüssel hosten können. Der Bedingungsschlüssel 07 steuert den Zugriff auf die UpdatePrimaryRegion-Produktion anhand von dem Wert des 10-Parameters. Der 10-Parameter gibt die AWS-Region des multiregionalen Replikatschlüssels an, der zum Primärschlüssel heraufgestuft wird. Der Wert der Bedingung entspricht einem oder mehreren AWS-Region-Namen, wie 12 oder 13 oder Regionsnamenmuster, wie 14Die folgende Schlüsselrichtlinienanweisung verwendet beispielsweise den Bedingungsschlüssel 07, um es Prinzipalen zu erlauben, die primäre Region eines multiregionalen Schlüssels auf eine der vier angegebenen Regionen zu aktualisieren. 0kms:ReEncryptOnSameKeyAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 16Boolesch Einzelwertig 33Schlüsselrichtlinien und IAM-Richtlinien Mit diesem Bedingungsschlüssel können Sie den Zugriff auf die ReEncrypt-Produktion basierend darauf kontrollieren, ob die Anforderung den gleichen Ziel-KMS-Schlüssel angibt, der auch für die ursprüngliche Verschlüsselung verwendet wurde. Die folgende Richtlinienanweisung verwendet beispielsweise den Bedingungsschlüssel 16, um es einem Benutzer zu erlauben, nur dann eine erneute Verschlüsselung vorzunehmen, wenn der verwendete Ziel-KMS-Schlüssel mit dem der ursprünglichen Verschlüsselung übereinstimmt. 1kms:RequestAliasSie können diesen Bedingungsschlüssel verwenden, um eine Produktion nur dann zu erlauben, wenn die Anforderung einen bestimmten Alias zum Identifizieren des KMS-Schlüssels verwendet. Der Bedingungsschlüssel 19 steuert den Zugriff auf einen KMS-Schlüssel, der in einer kryptografischen Produktion verwendet wird, 20, oder 21, basierend auf dem Alias, der diesen KMS-Schlüssel in der Anforderung identifiziert. (Diese Richtlinienbedingung hat keine Auswirkung auf die GenerateRandom-Produktion, da die Produktion keinen KMS-Schlüssel oder Alias verwendet.)Diese Bedingung unterstützt attributbasierte Zugriffssteuerung (ABAC) in AWS KMS, mit dem Sie den Zugriff auf KMS-Schlüssel anhand der Tags und Aliasen eines KMS-Schlüssels steuern können. Sie können Tags und Aliase verwenden, um den Zugriff auf einen KMS-Schlüssel zu erlauben oder zu verweigern, ohne Richtlinien oder Erteilungen zu ändern. Details hierzu finden Sie unter ABAC für AWS KMS. Um den Alias in dieser Richtlinienbedingung anzugeben, verwenden Sie einen Aliasnamen, wie 22, oder ein Alias-Namensmuster, wie 23. Sie können keinen Alias-ARN im Wert dieses Bedingungsschlüssels angeben.Um diese Bedingung zu erfüllen, muss der Wert des 24-Parameters in der Anforderung ein übereinstimmender Aliasname oder Alias-ARN sein. Wenn die Anforderung einen anderen Schlüsselbezeichner verwendet, erfüllt er die Bedingung nicht, selbst wenn er denselben KMS-Schlüssel identifiziert.Die folgende Schlüsselrichtlinienanweisung erlaubt es beispielsweise dem Prinzipal, die GenerateDataKey-Produktion auf dem KMS-Schlüssel aufzurufen. Dies ist jedoch nur zulässig, wenn der Wert des 24-Parameters in der Anforderung 26 ist oder ein Alias-ARN mit diesem Aliasnamen, z. B. 27. 2Sie können diesen Bedingungsschlüssel nicht verwenden, um den Zugriff auf Alias-Operationen zu steuern, z. B. CreateAlias oder DeleteAlias. Weitere Hinweise zum Steuern des Zugriffs auf Alias-Operationen finden Sie unter Steuern des Zugriffs auf Aliasse. kms:ResourceAliasesAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 28Zeichenfolge (Liste) MehrwertigKMS-Schlüsselressourcen-OperationenNur IAM-Richtlinien Verwenden Sie diesen Bedingungsschlüssel, um den Zugriff auf einen KMS-Schlüssel basierend auf den Aliasen, die dem KMS-Schlüssel zugeordnet sind. Bei der Operation muss es sich um eine KMS-Schlüsselressourcen-Operation handeln, das heißt, eine Operation, die für einen bestimmten KMS-Schlüssel autorisiert ist. Um die KMS-Schlüsselressourcen-Operationen zu identifizieren, suchen Sie in der Tabelle Actions and Resources (Aktionen und Ressourcen) Sie nach dem Wert von 7 in der 8-Spalte für die Operation.Diese Bedingung unterstützt attributbasierte Zugriffssteuerung (ABAC) in AWS KMS. Mit ABAC können Sie den Zugriff auf KMS-Schlüssel anhand der Tags steuern, die einem KMS-Schlüssel zugewiesen sind, und den Aliasen, die einem KMS-Schlüssel zugeordnet sind. Sie können Tags und Aliasse verwenden, um den Zugriff auf einen KMS-Schlüssel zu erlauben oder zu verweigern, ohne Richtlinien oder Erteilungen zu ändern. Details hierzu finden Sie unter ABAC für AWS KMS. Ein Alias muss in einem AWS-Konto und einer Region eindeutig sein, aber diese Bedingung ermöglicht es Ihnen, den Zugriff auf mehrere KMS-Schlüssel in derselben Region zu steuern (mit dem 31-Vergleichsoperator) oder auf mehrere KMS-Schlüssel in verschiedenen AWS-Regionen eines jeden Kontos.Die kms:ResourceAliases-Bedingung ist nur wirksam, wenn der KMS-Schlüssel dem Aliase-pro-KMS-Schlüssel-Kontingent entspricht. Wenn ein KMS-Schlüssel dieses Kontingent überschreitet, wird auch Prinzipalen, die berechtigt sind, den KMS-Schlüssel zu nutzen, durch die Bedingung 28 der Zugriff auf den KMS-Schlüssel verweigert.Um den Alias in dieser Richtlinienbedingung anzugeben, verwenden Sie einen Aliasnamen, wie 22, oder ein Alias-Namensmuster, wie 23. Sie können keinen Alias-ARN im Wert dieses Bedingungsschlüssels angeben. Um die Bedingung zu erfüllen, muss der in der Produktion verwendete KMS-Schlüssel über den angegebenen Alias verfügen. Es spielt keine Rolle, ob oder wie der KMS-Schlüssel in der Anforderung für die Produktion identifiziert wird.Dies ist ein mehrwertiger Bedingungsschlüssel, der den Satz von Aliasen, die einem KMS-Schlüssel zugeordnet sind, mit dem Satz von Aliasen in der Richtlinie vergleicht. Um zu bestimmen, wie diese Sätze verglichen werden, müssen Sie einen 1 oder 2-Satz-Operator in der Richtlinienbedingung angeben. Ausführliche Informationen zu den Satz-Operatoren finden Sie unter Verwenden mehrerer Schlüssel und Werte im IAM-Benutzerhandbuch.
Die folgende IAM-Richtlinienanweisung erlaubt es beispielsweise dem Prinzipal, die Produktion GenerateDataKey für einen beliebigen KMS-Schlüssel im angegebenen AWS-Konto aufzurufen, das dem 37-Alias zugeordnet ist. (Die Schlüsselrichtlinien der betroffenen KMS-Schlüssel müssen es auch dem Konto des Prinzipals erlauben, sie für diese Produktion zu verwenden.) Um anzuzeigen, dass die Bedingung erfüllt ist, wenn einer der vielen Aliase, die dem KMS-Schlüssel zugeordnet werden könnten, 26 ist, verwendet die Bedingung den 1-Satz-Operator.Da die 28-Bedingung auf der Ressource und nicht auf der Anforderung basiert, ist ein Aufruf an 29 für jeden KMS-Schlüssel erfolgreich, der dem 37-Alias zugeordnet ist, auch wenn die Anforderung eine Schlüssel-ID oder einen Schüssel-ARN verwendet, um den KMS-Schlüssel zu identifizieren. 3Die folgende Beispiel-IAM-Richtlinienanweisung erlaubt es dem Prinzipal, KMS-Schlüssel zu aktivieren und zu deaktivieren, aber nur, wenn alle Aliase den KMS-Schlüssel " 43" enthalten. Diese Richtlinienanweisung verwendet zwei Bedingungen. Die Bedingung mit dem 2-Satz-Operator erfordert, dass alle Aliase, die dem KMS-Schlüssel zugeordnet sind, "Test" enthalten. Die Bedingung mit dem 1-Satz-Operator erfordert, dass der KMS-Schlüssel mindestens einen Alias mit "Test" enthält. Ohne die 1-Bedingung, hätte diese Richtlinienanweisung es dem Prinzipal erlaubt, KMS-Schlüssel zu verwenden, die keine Aliase hatten. 4kms:ReplicaRegionAWS KMS-BedingungsschlüsselBedingungstypAPI-OperationenRichtlinientyp 47Zeichenfolge (Liste) 48Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um die AWS-Regionen einzuschränken, in denen ein Prinzipal einen multiregionalen Schlüssel replizieren kann. Der Bedingungsschlüssel 47 steuert den Zugriff auf die ReplicateKey-Produktion anhand von dem Wert des ReplicaRegion-Parameters in der Anforderung. Dieser Parameter gibt die AWS-Region für den neuen Replikatschlüssel an.Der Wert der Bedingung entspricht einem oder mehreren AWS-Region-Namen, wie 12 oder 13 oder Regionsnamenmuster, wie 14. Eine Liste der Namen von AWS-Regionen, die AWS KMS unterstützt, finden Sie unter AWS Key Management Service-Endpunkte und -Kontingente in der Allgemeinen AWS-Referenz.Die folgende Schlüsselrichtlinienanweisung verwendet beispielsweise den Bedingungsschlüssel 47, um Prinzipalen den Aufruf der ReplicateKey-Produktion nur dann zu erlauben, wenn der Wert des 54-Parameters eine der angegebenen Regionen ist. 5Dieser Bedingungsschlüssel steuert nur den Zugriff auf die ReplicateKey-Produktion. Um den Zugriff auf die UpdatePrimaryRegion-Produktion zu steuern, verwenden Sie den Bedingungsschlüssel kms:PrimaryRegion. kms:RetiringPrincipalAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 55Zeichenfolge (Liste) Einzelwertig 47Schlüsselrichtlinien und IAM-Richtlinien Sie können diesen Bedingungsschlüssel verwenden, um den Zugriff auf die Produktion CreateGrant basierend auf dem Wert des Parameters RetiringPrincipal in der Anforderung zu steuern. Sie können beispielsweise einem Benutzer das Erstellen von Erteilungen zur Verwendung eines KMS-Schlüssels nur erlauben, wenn der 57 in der 47-Anforderung dem in der Bedingungsanweisung angegebenen 57 entspricht.Die folgende Beispiel-Schlüsselrichtlinienanweisung erlaubt es einem Benutzer, Erteilungen für den KMS-Schlüssel zu erstellen. Der Bedingungsschlüssel 55 beschränkt die Berechtigung auf 47-Anforderungen, wenn der ausscheidende Prinzipal in der Erteilung entweder der 24 oder der 63-Benutzer ist. 6Informationen finden Sie auch unter: kms:SigningAlgorithmAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 64String Einzelwertig 81 82Schlüsselrichtlinien und IAM-Richtlinien Sie können mit dem Bedingungsschlüssel 64 den Zugriff auf die Operationen Sign und Verify anhand des Werts des Parameters SigningAlgorithm in der Anforderung steuern. Dieser Bedingungsschlüssel hat keine Auswirkungen auf Operationen, die außerhalb von AWS KMS ausgeführt werden, z. B. das Überprüfen von Signaturen mit dem öffentlichen Schlüssel in einem asymmetrischen KMS-Schlüsselpaar außerhalb von AWS KMS.Die folgende Beispiel-Schlüsselrichtlinie erlaubt es Benutzern, die die 79-Rolle annehmen können, den KMS-Schlüssel zum Signieren von Nachrichten nur dann zu verwenden, wenn der für die Anforderung verwendete Signaturalgorithmus ein RSASSA_PSS-Algorithmus ist, z. B 69. 7Informationen finden Sie auch unter: kms:ValidToAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 70Zeitstempel Einzelwertig 74Schlüsselrichtlinien und IAM-Richtlinien Der 70-Bedingungsschlüssel steuert den Zugriff auf die ImportKeyMaterial-Produktion basierend auf dem Wert des ValidTo-Parameters in der Anforderung, der bestimmt, wann das importierte Schlüsselmaterial abgelaufen ist. Der Wert wird im Unix-Zeitformatangegeben.Standardmäßig ist der 80-Parameter in einer 74-Anforderung erforderlich. Wenn jedoch der Wert des ExpirationModel-Parameters 78 lautet, ist der 80-Parameter ungültig. Sie können auch den kms:ExpirationModel-Bedingungsschlüssel verwenden, um den 76-Parameter oder einen bestimmten Parameterwert zu erfordern.Die folgende Beispiel-Richtlinienanweisung erlaubt es einem Benutzer, Schlüsselmaterial in einen KMS-Schlüssel zu importieren. Der 70-Bedingungsschlüssel beschränkt die Berechtigung für 74-Anforderungen, bei denen der 80-Wert kleiner oder gleich 81 ist (31. Dezember 2018 23:59:59). 8Informationen finden Sie auch unter: kms:ViaServiceAWS KMS-BedingungsschlüsselBedingungstypWerttypAPI-OperationenRichtlinientyp 12String EinzelwertigKMS-Schlüsselressourcen-Operationen Schlüsselrichtlinien und IAM-Richtlinien Der Bedingungsschlüssel 12 schränkt die Verwendung eines AWS KMS AWS KMS key (KMS-Schlüssel) auf Anforderungen von bestimmten AWS-Services ein. In jedem 12-Bedingungsschlüssel können Sie einen oder mehrere Services angeben. Bei der Operation muss es sich um eine KMS-Schlüsselressourcen-Operation handeln, das heißt, eine Operation, die für einen bestimmten KMS-Schlüssel autorisiert ist. Um die KMS-Schlüsselressourcen-Operationen zu identifizieren, suchen Sie in der Tabelle Actions and Resources (Aktionen und Ressourcen) Sie nach dem Wert von 7 in der 8-Spalte für die Operation.Die folgende Schlüsselrichtlinienanweisung verwendet beispielsweise den Bedingungsschlüssel 12, um die Verwendung eines kundenverwalteten KMS-Schlüssels nur für die angegebenen Aktionen zu erlauben, wenn die Anforderung im Auftrag von Amazon EC2 oder Amazon RDS in der Region USA West (Oregon) im Namen von 88 ausgegeben wurde. 9Außerdem können Sie mit dem Bedingungsschlüssel 12 die Berechtigung zur Verwendung eines KMS-Schlüssels verweigern, wenn die Anforderung von bestimmten Services stammt. Die folgende Richtlinienanweisung einer Schlüsselrichtlinie verwendet beispielsweise einen 12-Bedingungsschlüssel, um zu verhindern, dass ein kundenverwalteter KMS-Schlüssel für 28-Operationen verwendet wird, wenn die Anforderung im Namen von 88 von AWS Lambda ausgegeben wird. 0Wenn Sie den Bedingungsschlüssel 12 verwenden, gibt der Service die Anforderung im Namen eines Prinzipals im AWS-Konto aus. Diese Prinzipale müssen über die folgenden Berechtigungen verfügen:
Alle Von AWS verwaltete Schlüssel verwenden einen 12-Bedingungsschlüssel in ihrem Schlüsselrichtliniendokument. Diese Bedingung erlaubt es dem KMS-Schlüssel, nur für Anforderungen verwendet zu werden, die von dem Service stammen, der den KMS-Schlüssel erstellt hat. Um die Schlüsselrichtlinie für einen Von AWS verwalteter Schlüssel anzuzeigen, verwenden Sie die GetKeyPolicy-Produktion.Der Bedingungsschlüssel 12 ist in IAM- und Schlüsselrichtlinienanweisungen gültig. Die von Ihnen angegebenen Services müssen inin AWS KMS integriert seinund den Bedingungsschlüssel 12 unterstützen.Services, die den Bedingungsschlüssel {
"Effect": "Allow",
"Action": "kms:PutKeyPolicy",
"Resource": "*",
"Condition": {
"Null": {
"kms:BypassPolicyLockoutSafetyCheck": true
}
}
} |