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.
Verschlüsseln von Ressourcen in Amazon Verified Permissions
Amazon Verified Permissions bietet standardmäßig Verschlüsselung, um vertrauliche Kundendaten im Speicher mithilfe AWS eigener Verschlüsselungsschlüssel zu schützen. Als zusätzliche Schutzebene können Sie mit Amazon Verified Permissions Ihre Policy-Shops mit AWS Key Management Service (AWS KMS) Kundenverwalteter Schlüssel s (CMK) verschlüsseln. Diese Funktion gewährleistet den Schutz sensibler Daten durch Verschlüsselung im Ruhezustand, was Ihnen hilft:
-
Reduzieren Sie den betrieblichen Aufwand auf der Seite Ihrer Anwendung, um sensible Daten zu schützen
-
Behalten Sie die Kontrolle darüber, wer über Ihre eigenen AWS KMS Kundenverwalteter Schlüssel s die Details Ihrer Autorisierungsrichtlinien einsehen kann
-
Aufbau sicherheitsrelevanter Anwendungen, die strenge Verschlüsselungsvorschriften und gesetzliche Auflagen erfüllen
In den folgenden Abschnitten wird erklärt, wie Sie die Verschlüsselung für neue Richtlinienspeicher konfigurieren und Ihre Verschlüsselungsschlüssel verwalten.
AWS KMS Schlüsseltypen für von Amazon verifizierte Berechtigungen
Amazon Verified Permissions lässt sich in AWS KMS die Verwaltung von Verschlüsselungsschlüsseln integrieren, die für encrypting/decrypting Kundendaten verwendet werden. Weitere Informationen zu Schlüsseltypen und -zustände finden Sie unter AWS Key Management Service Konzepte im AWS KMS Entwicklerhandbuch. Wenn Sie einen neuen Richtlinienspeicher erstellen, können Sie aus den folgenden AWS KMS Schlüsseltypen wählen, um Ihre Daten zu verschlüsseln:
AWS Eigener Schlüssel
Der Standard-Verschlüsselungstyp. Amazon Verified Permissions ist Eigentümer des Schlüssels, ohne dass Ihnen zusätzliche Kosten entstehen, und verschlüsselt gespeicherte Ressourcendaten bei der Erstellung. In Ihrem Code oder Ihren Anwendungen ist keine zusätzliche Konfiguration für encrypt/decrypt Ihre Daten erforderlich, die den Schlüssel verwenden, der Verified Permissions gehört.
Vom Kunden verwalteter Schlüssel
Sie erstellen, besitzen und verwalten den Schlüssel in Ihrem AWS Konto. Sie haben die volle Kontrolle über den AWS KMS Schlüssel. AWS KMS Für Kundenverwalteter Schlüssel s fallen Gebühren an. Weitere Informationen finden Sie in der AWS KMS
Wenn Sie Kundenverwalteter Schlüssel für die Verschlüsselung von Ressourcen der obersten Ebene (d. h. Richtlinienspeicher) eine Option angeben, verschlüsselt Verified Permissions die Ressource sowie ihre untergeordneten Ressourcen mit diesem Schlüssel. Um einen Richtlinienspeicher mithilfe von zu verschlüsseln Kundenverwalteter Schlüssel, müssen Sie in Ihrer Schlüsselrichtlinie Zugriff auf verifizierte Berechtigungen gewähren. Eine Schlüsselrichtlinie ist eine ressourcenbasierte Richtlinie, die Sie an Ihre Richtlinie anhängen, um den Zugriff darauf Kundenverwalteter Schlüssel zu kontrollieren. Weitere Details finden Sie unter Autorisieren der Verwendung Ihres AWS KMS Schlüssels für Amazon Verified Permissions.
Um einen verschlüsselten Richtlinienspeicher mit einem zu erstellen oder API-Aufrufe an einen Kundenverwalteter Schlüssel durch a verschlüsselten Richtlinienspeicher zu tätigen, muss der IAM-Benutzer oder die Rolle Kundenverwalteter Schlüssel, die den Aufruf tätigt, außerdem Zugriff auf den Schlüssel haben. Wenn Verified Permissions nicht auf den Schlüssel zugreifen kann, sind alle Autorisierungsentscheidungen, die mit diesem Schlüssel verschlüsselte Ressourcen betreffen, möglicherweise veraltet oder ungenau. Wenn Sie keinen Zugriff auf den Schlüssel haben, können Sie nicht auf read/update/delete Ressourcen zugreifen, die mit diesem Schlüssel verschlüsselt wurden, und alle Create-Aufrufe zur Verwendung des Schlüssels für die Verschlüsselung schlagen fehl.
Anmerkung
Die Verschlüsselung im Ruhezustand mit verifizierten Berechtigungen ist in allen AWS Regionen verfügbar, in denen Verifizierte Berechtigungen verfügbar sind.
Wichtig
Sobald a zum Verschlüsseln eines Richtlinienspeichers verwendet Kundenverwalteter Schlüssel wurde, können Sie die Ressource NICHT so aktualisieren, dass sie einen anderen Schlüssel für die Verschlüsselung verwendet, oder den Schlüssel aus diesem Richtlinienspeicher entfernen.
Verwendung AWS KMS und Datenschlüssel mit von Amazon Verified Permissions
Die Funktion „Verschlüsselung im Ruhezustand“ von Amazon Verified Permissions verwendet einen AWS KMS Schlüssel und eine Hierarchie von Datenschlüsseln, um Ihre Ressourcendaten zu schützen.
Anmerkung
Amazon Verified Permissions unterstützt nur symmetrische AWS KMS Schlüssel. Sie können keinen asymmetrischen AWS KMS Schlüssel verwenden, um Ihre Amazon Verified Permissions-Ressourcen zu verschlüsseln.
Eigene Schlüssel verwenden AWS
Amazon Verified Permissions verschlüsselt standardmäßig alle Ressourcen mit AWS eigenen Schlüsseln. Diese Schlüssel können kostenlos verwendet werden und werden jährlich gewechselt, um Ihre Kontoressourcen zu schützen. Sie müssen diese Schlüssel nicht einsehen, verwalten, verwenden oder prüfen, sodass keine Maßnahmen für den Datenschutz erforderlich werden. Weitere Informationen zu AWS eigenen Schlüsseln finden Sie unter AWS Eigene Schlüssel im AWS KMS Entwicklerhandbuch.
Vom Kunden verwaltete Schlüssel verwenden
Die Auswahl eines Kundenverwalteter Schlüssel für die Verschlüsselung bietet die folgenden Vorteile:
-
Sie erstellen und verwalten den AWS KMS Schlüssel, einschließlich der Festlegung der wichtigsten Richtlinien und IAM Richtlinien zur Steuerung des Zugriffs auf den AWS KMS Schlüssel. Sie können den AWS KMS Schlüssel aktivieren und deaktivieren, die automatische Schlüsselrotation aktivieren und deaktivieren und den AWS KMS Schlüssel löschen, wenn er nicht mehr verwendet wird.
-
Sie können einen Kundenverwalteter Schlüssel mit importiertem Schlüsselmaterial oder einen Kundenverwalteter Schlüssel in einem benutzerdefinierten Schlüsselspeicher verwenden, den Sie besitzen und verwalten.
-
Sie können die Verschlüsselung und Entschlüsselung Ihrer Verified Permissions-Ressourcen überprüfen, indem Sie die API-Aufrufe von Amazon Verified Permissions AWS KMS in den AWS CloudTrail Protokollen untersuchen.
Damit Amazon Verified Permissions Ihr Kundenverwalteter Schlüssel s für encryption/decryption, you will need to add specific key policies to allow Amazon Verified Permissions to encrypt/decrypt Ressourcen in Ihrem Namen verwenden kann.
Autorisieren der Verwendung Ihres AWS KMS Schlüssels für Amazon Verified Permissions
Amazon Verified Permissions erfordert mindestens die folgenden Berechtigungen für eine Kundenverwalteter Schlüssel:
kms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:DescribeKeykms:ReEncryptTokms:ReEncryptFromkms:Decrypt
Ein Beispiel für eine wichtige Richtlinie finden Sie unten:
{ "Sid": "Enable AVP to use the KMS key for encrypting project J.A.K. policy resources", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey" ], "Resource": "*" }
Den Quellkontext verstehen
Der Quellkontext liefert Informationen darüber, wie der Quellaufrufer versucht, AWS KMS Aktionen gegen einen bestimmten Schlüssel auszuführen. Dadurch wird eine Verwechselung oder ein Missbrauch verschlüsselter Daten verhindert, indem der Kontext an die Quelle der Daten gebunden wird.
Kunden können den Quellkontext als zusätzliche Bedingung für ihre wichtigsten Richtlinien verwenden, z. B. für die folgenden wichtigen Richtlinienerklärungen:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable this account full access to this key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable AVP to retrieve this key's metadata", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" } } }, { "Sid": "Enable AVP to encrypt/decrypt resources utilizing this key", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" } } } ] }
Diese wichtige Richtlinie ermöglicht es Verified Permissions, in Ihrem Namen AWS KMS Anrufe zu tätigen, sofern das Quellkonto mit dem Konto identisch ist, in dem sich dieser AWS KMS Schlüssel befindet. Diese Werte sollten überprüfbar sein, wenn in den AWS CloudTrail Auditprotokollen nach dem CMK-Schlüssel gesucht wird. Weitere Informationen zu globalen AWS Bedingungsschlüsseln finden Sie unter aws:SourceAccountBedingungsschlüssel verwenden aws:SourceArn.
Den Verschlüsselungskontext verstehen
Der Verschlüsselungskontext besteht aus einer Reihe von Schlüssel-Wert-Paaren, die zusätzliche authentifizierte Daten für Integritätsprüfungen der Verschlüsselung enthalten. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zur Verschlüsselung von Daten einbeziehen, wird der Verschlüsselungskontext AWS KMS kryptografisch an die verschlüsselten Daten gebunden. Um die Daten zu entschlüsseln, müssen Sie denselben Verschlüsselungskontext übergeben.
Amazon Verified Permissions verwendet bei allen AWS KMS kryptografischen Vorgängen denselben Verschlüsselungskontext und kann anhand von AWS CloudTrail Protokollen verifiziert werden, wenn Verified Permissions in Ihrem Namen encryption/decryption Prozesse AWS KMS aufruft. Standardmäßig verwendet Verified Permissions bei der Verschlüsselung Ihrer Ressourcen die folgenden Schlüssel-Wert-Paare für den Verschlüsselungskontext:
{ "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012" }
Mit Amazon Verified Permissions können Sie auch einen benutzerdefinierten Verschlüsselungskontext als Teil zusätzlicher Metadaten anhängen, die Sie in encryption/decryption Prozesse einbeziehen möchten. Dies bedeutet, dass Ihre wichtigsten Richtlinien bei der Erteilung von Berechtigungen detaillierter sein können, wie im folgenden Beispiel:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable this account full access to this key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable AVP to retrieve this key's metadata", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable AVP to encrypt/decrypt resources utilizing this key", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/*", "kms:EncryptionContext:policy_owner": "Tim" } } } ] }
Diese Schlüsselrichtlinie ermöglicht es Verified Permissions, AWS KMS Anrufe in Ihrem Namen zu tätigen, wenn die Verschlüsselungskontext-Map einen Schlüssel enthältaws:verifiedpermissions:policy-store-arn, dessen Wert dem Format von folgt arn:aws:verifiedpermissions::111122223333:policy-store/* und der auch ein Schlüssel-Wert-Paar enthält. "policy_owner": "Tim" Informationen Einen verschlüsselten Richtlinienspeicher erstellen zum Einstellen eines benutzerdefinierten Verschlüsselungskontextes finden Sie unter.
Anmerkung
Es wird empfohlen, dass Schlüsselrichtlinien mit Bedingungen, die auf dem Verschlüsselungskontext basieren, für eine Teilmenge der Verschlüsselungskontextübersicht gelten, anstatt nach jedem Schlüssel-Wert-Paar zu suchen. Der Dienst und seine Abhängigkeiten im Upstream fügen möglicherweise zusätzliche Schlüssel-Wert-Paare hinzu, die für Sie nicht sichtbar sind, und können sich auf den Schlüsselzugriff von Verified Permissions auswirken, wenn die Schlüsselrichtlinie dies aufgrund des genauen Aussehens der Verschlüsselungskontextübersicht unter bestimmten Bedingungen zulässt.
Verstehen kms: ViaService
Der kms:ViaService Bedingungsschlüssel beschränkt die Verwendung eines AWS KMS Schlüssels auf Anfragen von bestimmten AWS Diensten. Dieser Bedingungsschlüssel gilt nur für Forward Access Sessions (FAS). Weitere Informationen zu finden Sie kms:ViaService unter kms: ViaService im AWS KMS Entwicklerhandbuch.
In der folgenden wichtigen Richtlinienerklärung wird beispielsweise der kms:ViaService Bedingungsschlüssel verwendet, um die Verwendung von a Kundenverwalteter Schlüsselfür die angegebenen Aktionen nur dann zuzulassen, wenn die Anfrage von Amazon Verified Permissions in der Region USA Ost (Nord-Virginia) im Namen von kommtBrentRole.
{ "Sid": "Enable AVP to encrypt/decrypt resources using credentials of BrentRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/BrentRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "verifiedpermissions.us-east-1.amazonaws.com" ] } } }
Dies ist erforderlich, damit Verified Permissions Ihre Identität, Berechtigungen und Sitzungsattribute weitergeben kann, wenn Verified Permissions in Ihrem Namen eine Anfrage zur Verschlüsselung/Entschlüsselung AWS KMS bei Verified Permissions stellt. Weitere Informationen zu FAS-Anfragen finden Sie unter Forward Access Sessions im Benutzerhandbuch.IAM
Vollständige AWS KMS wichtige Richtlinie
Basierend auf den Konzepten in den vorherigen Abschnitten ist dies ein Beispiel für eine Schlüsselrichtlinie, die es Amazon Verified Permissions ermöglicht, ein CMK für die Verschlüsselung/Entschlüsselung zu verwenden:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable this account full access to this key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable AVP to retrieve this key's metadata", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" } } }, { "Sid": "Enable AVP to encrypt/decrypt resources utilizing this key", "Effect": "Allow", "Principal": { "Service": "verifiedpermissions.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/*", "kms:EncryptionContext:policy_owner": "Tim", "aws:SourceArn": "arn:aws:verifiedpermissions::111122223333:policy-store/*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "Enable AVP to encrypt/decrypt resources using credentials of BrentRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/BrentRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "verifiedpermissions.us-east-1.amazonaws.com" ] }, "StringLike": { "kms:EncryptionContext:aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/*", "kms:EncryptionContext:policy_owner": "Tim" } } } ] }
Warnung
Seien Sie vorsichtig, wenn Sie AWS KMS wichtige Richtlinien für Schlüssel ändern, die bereits von Amazon Verified Permissions verwendet werden. Verified Permissions validiert zwar die Verschlüsselungs- und Entschlüsselungsberechtigungen, wenn Sie bei der Erstellung einer Ressource auf oberster Ebene zum ersten Mal einen AWS KMS Schlüssel konfigurieren, aber nachfolgende Richtlinienänderungen können nicht auf Anfrage überprüft werden. Wenn Sie versehentlich die erforderlichen Berechtigungen entfernen, können Ihre Autorisierungsentscheidungen und die regulären Dienstabläufe mit verifizierten Berechtigungen gestört werden. Anleitungen zur Behebung häufiger Fehler im Zusammenhang mit Kundenverwalteter Schlüssel s in Amazon Verified Permissions finden Sie unterFehlerbehebung bei von Kunden verwalteten Schlüsseln in Amazon Verified Permissions.
Erforderliche IAM Richtlinien für verschlüsselte Ressourcen
Kunden, die Verified Permissions über eine IAM Rolle in ihrem Konto aufrufen, müssen sicherstellen, dass die entsprechende IAM Richtlinie über die Kundenverwalteter Schlüssel erforderlichen Berechtigungen verfügt, um Ressourcen zu verschlüsseln und zu entschlüsseln.
Für die Erstellung von Richtlinienspeichern, die mit einem verschlüsselt sind Kundenverwalteter Schlüssel, zeigt die folgende IAM Richtlinie, welche Aktionen mindestens erforderlich sind AWS KMS und welche Berechtigungen verifiziert sind:
{ "Version": "2012-10-17", "Statement": [ { "Action": "verifiedpermissions:CreatePolicyStore", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Effect": "Allow" } ] }
Anmerkung
Zum Abrufen (Get*- und List*-Operationen) und Löschen von Richtlinienspeichern, die mit a verschlüsselt sind Kundenverwalteter Schlüssel, sind keine zusätzlichen Berechtigungen erforderlich.
Für das Aktualisieren eines mit A verschlüsselten Richtlinienspeichers Kundenverwalteter Schlüssel, das Abrufen (Get*- und List*-Operationen), das Aktualisieren und Löschen untergeordneter Ressourcen eines mit a verschlüsselten Richtlinienspeichers zeigt die folgende IAM Richtlinie Kundenverwalteter Schlüssel, welche Aktionen hierfür mindestens erforderlich sind und welche verifizierten Berechtigungen erforderlich sind AWS KMS :
{ "Version": "2012-10-17", "Statement": [ { "Action": "verifiedpermissions:*", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:Decrypt" ], "Resource": "*", "Effect": "Allow" } ] }
Als einzige IAM Richtlinie können Kunden einfach Folgendes zu ihrer Rollenrichtlinie hinzufügen: IAM
{ "Version": "2012-10-17", "Statement": [ { "Action": "verifiedpermissions:*", "Resource": "*", "Effect": "Allow" }, { "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:DescribeKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Effect": "Allow" } ] }
Verschlüsselte Richtlinienspeicher verwalten
Richtlinienspeicher sind der Einstiegscontainer, der alle zugehörigen Richtlinienressourcen enthält. Weitere Informationen zu Policy Stores und der Hierarchie untergeordneter Ressourcen finden Sie unter Amazon Verified Permissions Policy Stores im Amazon Verified Permissions User Guide.
Wenn Sie in Verified Permissions einen Richtlinienspeicher erstellen, können Sie die Verschlüsselung im Ruhezustand mithilfe von AWS KMS Schlüsseln aktivieren. Dadurch wird sichergestellt, dass:
-
Bei allen Lese-, Aktualisierungs- und Löschvorgängen in Richtlinienspeichern und ihren untergeordneten Ressourcen werden die Kundenverwalteter Schlüssel für die Entschlüsselung vorgesehenen Prozesse verwendet
-
Bei Aufrufen von Autorisierungsentscheidungen (d. h. IsAuthorized BatchIsAuthorized, IsAuthorizedWithToken, usw.) werden die Kundenverwalteter Schlüssel für die Entschlüsselung bereitgestellten Prozesse verwendet
Einen verschlüsselten Richtlinienspeicher erstellen
Bevor Sie einen verschlüsselten Richtlinienspeicher erstellen, stellen Sie sicher, dass für den von Kundenverwalteter Schlüssel Ihnen verwendeten Richtlinienspeicher die richtigen Schlüsselrichtlinienerklärungen für Amazon Verified Permissions festgelegt sind, um den Schlüssel für die Verschlüsselung/Entschlüsselung zu verwenden. Sehen Sie Autorisieren der Verwendung Ihres AWS KMS Schlüssels für Amazon Verified Permissions nach, für welche Berechtigungen erforderlich sind.
Verwenden von AWS CLI:
aws verifiedpermissions create-policy-store --region us-east-1 --encryption-settings file://encrypted.json --validation-settings "{\"mode\": \"OFF\"}"
Wo encrypted.json sieht aus wie:
{ "kmsEncryptionSettings": { "key": "arn:aws:kms:us-east-1:111122223333:key/12345678-90ab-cdef-ghij-klmnopqrstuv", "encryptionContext": { "<ENCRYPTION_CONTEXT_KEY_1>": "<ENCRYPTION_CONTEXT_VALUE_1>", "<ENCRYPTION_CONTEXT_KEY_2>": "<ENCRYPTION_CONTEXT_VALUE_2>", ... } } }
Achten Sie darauf, durch Ihren Kundenverwalteter Schlüssel ARN zu key ersetzen <ENCRYPTION_CONTEXT_KEY> und durch die gewünschten <ENCRYPTION_CONTEXT_VALUE> encryptionContext Schlüssel-Wert-Paare zu ersetzen und zu paaren. encryptionContextkann komplett weggelassen werden, wenn keine Hinzufügungen von Schlüssel-Wert-Paaren gewünscht werden.
Wichtig
Nehmen Sie das Schlüssel-Wert-Paar nicht aws:verifiedpermissions:policy-store-arn in Ihren benutzerdefinierten Verschlüsselungskontext auf. Dies wird automatisch hinzugefügt und führt zu Validierungsfehlern, wenn es Teil Ihrer übergebenen Schlüssel-Wert-Paare für den benutzerdefinierten Verschlüsselungskontext ist.
Weitere Informationen zu den verfügbaren untergeordneten Ressourcen APIs eines Policy Stores finden Sie unter Aktionen im Referenzhandbuch zur Amazon Verified Permissions API.
Anmerkung
Wenn die AWS KMS Kundenverwalteter Schlüssel von Ihren Amazon Verified Permissions verwendeten Ressourcen gelöscht, deaktiviert oder aufgrund einer falschen AWS KMS Schlüsselrichtlinie nicht zugänglich sind, schlägt die Entschlüsselung der Ressourcen fehl, was zu veralteten Autorisierungsentscheidungen führt. Der Verlust des Zugriffs kann je nach den Umständen vorübergehend (eine wichtige Richtlinie kann korrigiert werden) oder dauerhaft (ein gelöschter Schlüssel kann nicht wiederhergestellt werden) sein. Wir empfehlen Ihnen, den Zugriff auf kritische Vorgänge wie das Löschen oder Deaktivieren des AWS KMS Schlüssels zu beschränken. Außerdem empfehlen wir, dass Ihr Unternehmen AWS glasklare Zugriffsverfahren einrichtet, um sicherzustellen, dass Ihre privilegierten Benutzer AWS in dem unwahrscheinlichen Fall, dass Amazon Verified Permissions nicht zugänglich ist, darauf zugreifen können.
Überwachung der Interaktion mit Amazon Verified Permissions AWS KMS
Sie können die Nutzung Ihres Kundenverwalteter Schlüssel Through durch Amazon Verified Permissions überwachen. AWS CloudTrail Jede Anfrage an AWS KMS via Verified Permissions beinhaltet den Verschlüsselungskontext und den verwendeten Schlüssel-ARN (Ihr Kundenverwalteter Schlüssel) in den Anforderungsparametern:
Beispiel für einen AWS CloudTrail Protokolleintrag fürGenerateDataKeyWithoutPlaintext:
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:51:04Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "encryptionContext": { "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012", "policy_store_editor": "Janus" }, ... }, ... }
Beispiel für einen AWS CloudTrail Protokolleintrag fürDecrypt:
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:53:21Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "encryptionContext": { "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012", "policy_store_owner": "Elias" } }, ... }
Beispiel für einen AWS CloudTrail Protokolleintrag fürReEncrypt:
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:51:04Z", "eventSource": "kms.amazonaws.com", "eventName": "ReEncrypt", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "sourceKeyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "destinationEncryptionContext": { "aws:verifiedpermissions:policy-store-arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012" }, "sourceEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "destinationKeyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx", "sourceEncryptionContext": { "aws:verifiedpermissions:policy_store_arn": "arn:aws:verifiedpermissions::111122223333:policy-store/PSt123456789012" }, "destinationEncryptionAlgorithm": "SYMMETRIC_DEFAULT", ... }, ... }
Beachten Sie, dass die Protokolleinträge invokedBy Verweise auf den Principal von Amazon Verified Permissions enthalten und in der encryptionContext/sourceEncryptionContext/destinationEncryptionContext Map enthalten sind. requestParameters
Beispiel für einen AWS CloudTrail Protokolleintrag für: DescribeKey
{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "verifiedpermissions.amazonaws.com" }, "eventTime": "2025-09-28T16:51:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "verifiedpermissions.amazonaws.com", "userAgent": "verifiedpermissions.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/abcdefgh-0123-ijkl-4567-mnopqrstuvwx" }, ... }
Beachten Sie, dass der Protokolleintrag einen invokedBy Verweis auf den Principal von Amazon Verified Permissions enthält.
Weitere Informationen zu AWS CloudTrail Protokolleinträgen finden Sie unter Understanding AWS CloudTrail events im AWS CloudTrail Benutzerhandbuch.
Einschränkungen
In diesem Thema werden die aktuellen Einschränkungen von Verified Permissions und die Verwendung von Kundenverwalteter Schlüssel s für die Verschlüsselung von Ressourcen beschrieben.
Sie können die Verschlüsselung für einen Richtlinienspeicher nicht deaktivieren, sobald sie aktiviert ist
Nachdem Sie einen Richtlinienspeicher ohne Verschlüsselung erstellt haben, können Sie den Richtlinienspeicher nicht mehr so aktualisieren, dass er mit einem verschlüsselt wird Kundenverwalteter Schlüssel
Nachdem Sie einem Kundenverwalteter Schlüssel vorhandenen verschlüsselten Richtlinienspeicher den Zugriff auf verifizierte Berechtigungen entzogen haben, besteht die Möglichkeit, dass Autorisierungsentscheidungen veraltet sind
Nachdem Sie einen Richtlinienspeicher mit einem erstellt haben Kundenverwalteter Schlüssel, können Sie keine benutzerdefinierten Werte für den Verschlüsselungskontext ändern. Es handelt sich dabei um statische Werte, die bei der Erstellung eines verschlüsselten Richtlinienspeichers festgelegt wurden
Fehlerbehebung bei von Kunden verwalteten Schlüsseln in Amazon Verified Permissions
In diesem Thema werden häufig auftretende Kundenverwalteter Schlüssel Fehler beschrieben, die bei der Verwendung von Amazon Verified Permissions auftreten können, und es werden Schritte zur Behebung dieser Fehler beschrieben.
Zugriff verweigert: Problem mit der AWS KMS Genehmigung
Fehler: „Der Dienst oder der Anrufer ist nicht berechtigt, den bereitgestellten AWS KMS Schlüssel zu verwenden, da die Ressource in dieser Region nicht existiert, keine ressourcenbasierten Richtlinien den Zugriff zulassen oder eine ressourcenbasierte Richtlinie den Zugriff explizit verweigert“
Dies kann entweder bedeuten, dass dem Dienst oder dem Aufrufer die erforderlichen kms:* Aktionsberechtigungen in der IAM AWS KMS Richtlinie/Schlüsselrichtlinie fehlen oder dass der Schlüssel, auf den verwiesen wird, nicht oder nicht mehr existiert.
Problembehandlung mit: AWS CloudTrail
Suchen Sie nach
kms.amazonaws.com.rproxy.govskope.caEreignissen in AWS CloudTrailSuchen Sie nach dem Namen des AWS KMS Vorgangs, der als nicht zulässig eingestuft wurde (d. h.
DecryptReEncryptGenerateDataKeyWithoutPlaintext,DescribeKey,, usw.)Überprüfen Sie die
errorMessageFeldererrorCodeundÜberprüfen Sie
userIdentity, welcher Principal den Vorgang versucht hat
Um dieses Problem zu beheben, gewähren Sie dem Benutzer oder IAM Prinzipal die entsprechenden Zugriffsberechtigungen für den AWS KMS Vorgang in seiner IAM Richtlinie und AWS KMS Schlüsselrichtlinie. Weitere Informationen finden Sie unter Vollständige AWS KMS wichtige Richtlinie.
Validierungsausnahme: AWS KMS Schlüsselkonfiguration
Fehler: „ AWS KMS Der konfigurierte Schlüssel hat keine gültige Konfiguration“
Dies bedeutet, dass der Schlüssel, auf den verwiesen wird, vom Dienst aufgrund seiner aktuellen Konfiguration nicht zur Kundenverwalteter Schlüssel Verschlüsselung verwendet werden kann. Gründe dafür können sein, dass der Schlüssel deaktiviert ist, dass der Schlüssel nicht unterstützt wird EncryptionAlgorithm oder dass der Schlüssel einen nicht unterstützten KeyUsage Typ hat.
Ausnahme bei der Drosselung: Ratenbegrenzungen AWS KMS
Fehler: „Sie haben die Rate überschritten, mit der Sie anrufen können“ AWS KMS
Dieser Fehler bedeutet, dass Sie das AWS KMS Limit für kryptografische Operationen für Ihren Schlüssel überschritten haben: https://docs.aws.amazon.com/kms/latest/developerguide/requests-per-second.html.