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üsselung im Ruhezustand: So verwenden Sie vom Kunden verwaltete Schlüssel zum Verschlüsseln von Tabellen in Amazon Keyspaces
Sie können die Konsole oder CQL Anweisungen verwenden, um die AWS KMS key für neue Tabellen anzugeben und die Verschlüsselungsschlüssel vorhandener Tabellen in Amazon Keyspaces zu aktualisieren. Im folgenden Thema wird beschrieben, wie vom Kunden verwaltete Schlüssel für neue und bestehende Tabellen implementiert werden.
Themen
- Voraussetzungen: Erstellen Sie einen vom Kunden verwalteten Schlüssel mithilfe von Amazon Keyspaces AWS KMS und gewähren Sie ihm Berechtigungen
- Schritt 3: Geben Sie einen vom Kunden verwalteten Schlüssel für eine neue Tabelle an
- Schritt 4: Aktualisieren Sie den Verschlüsselungsschlüssel einer vorhandenen Tabelle
- Schritt 5: Verwenden Sie den Amazon Keyspaces-Verschlüsselungskontext in Protokollen
- Schritt 6: Konfigurieren Sie die Überwachung mit AWS CloudTrail
Voraussetzungen: Erstellen Sie einen vom Kunden verwalteten Schlüssel mithilfe von Amazon Keyspaces AWS KMS und gewähren Sie ihm Berechtigungen
Bevor Sie eine Amazon Keyspaces-Tabelle mit einem vom Kunden verwalteten Schlüssel schützen können, müssen Sie zuerst den Schlüssel in AWS Key Management Service (AWS KMS) erstellen und dann Amazon Keyspaces autorisieren, diesen Schlüssel zu verwenden.
Schritt 1: Erstellen Sie einen vom Kunden verwalteten Schlüssel mit AWS KMS
Um einen vom Kunden verwalteten Schlüssel zu erstellen, der zum Schutz einer Amazon Keyspaces-Tabelle verwendet werden soll, können Sie die Schritte unter Erstellen symmetrischer KMS Verschlüsselungsschlüssel mithilfe der Konsole oder der ausführen. AWS API
Schritt 2: Autorisieren Sie die Verwendung Ihres vom Kunden verwalteten Schlüssels
Bevor Sie einen vom Kunden verwalteten Schlüssel zum Schutz einer Amazon Keyspaces-Tabelle auswählen können, müssen die Richtlinien für diesen vom Kunden verwalteten Schlüssel Amazon Keyspaces die Erlaubnis geben, ihn in Ihrem Namen zu verwenden. Sie haben die volle Kontrolle über die Richtlinien und Zuschüsse für den vom Kunden verwalteten Schlüssel. Sie können diese Berechtigungen in einer Schlüsselrichtlinie, einer IAM-Richtlinie oder einer Erteilung bereitstellen.
Amazon Keyspaces benötigt keine zusätzliche Autorisierung, um den Standard AWS-eigener Schlüsselzum Schutz der Amazon Keyspaces-Tabellen in Ihrem AWS Konto zu verwenden.
Die folgenden Themen zeigen, wie Sie die erforderlichen Berechtigungen mithilfe von IAM Richtlinien und Zuschüssen konfigurieren, die es Amazon Keyspaces-Tabellen ermöglichen, einen vom Kunden verwalteten Schlüssel zu verwenden.
Themen
Wichtige Richtlinie für vom Kunden verwaltete Schlüssel
Wenn Sie einen vom Kunden verwalteten Schlüssel auswählen, um eine Amazon Keyspaces-Tabelle zu schützen, erhält Amazon Keyspaces die Erlaubnis, den vom Kunden verwalteten Schlüssel im Namen des Prinzipals zu verwenden, der die Auswahl trifft. Dieser Principal, ein Benutzer oder eine Rolle, muss über die Berechtigungen für den vom Kunden verwalteten Schlüssel verfügen, die Amazon Keyspaces benötigt.
Amazon Keyspaces benötigt mindestens die folgenden Berechtigungen für einen vom Kunden verwalteten Schlüssel:
kms: ReEncrypt * (für kms: ReEncryptFrom und kms:ReEncryptTo)
kms: GenerateDataKey * (für kms: GenerateDataKey und kms: GenerateDataKeyWithoutPlaintext)
Beispiel für eine Schlüsselrichtlinie
Beispielsweise bietet die folgende Beispiel-Schlüsselrichtlinie nur die erforderlichen Berechtigungen. Die Richtlinie hat folgende Auswirkungen:
-
Erlaubt Amazon Keyspaces, den vom Kunden verwalteten Schlüssel für kryptografische Operationen zu verwenden und Zuschüsse zu gewähren — aber nur, wenn Amazon Keyspaces im Namen von Prinzipalen des Kontos handelt, die die Erlaubnis haben, Amazon Keyspaces zu verwenden. Wenn die in der Datenschutzerklärung angegebenen Principals nicht berechtigt sind, Amazon Keyspaces zu verwenden, schlägt der Anruf fehl, auch wenn er vom Amazon Keyspaces-Service stammt.
-
Der ViaService Bedingungsschlüssel kms: erlaubt die Berechtigungen nur, wenn die Anfrage von Amazon Keyspaces im Namen der in der Datenschutzerklärung aufgeführten Prinzipale kommt. Diese Prinzipale können diese Operationen nicht direkt aufrufen. Beachten Sie, dass der
kms:ViaService
-Wert,cassandra.*.amazonaws.com
, in der Region-Position ein Sternchen (*) hat. Amazon Keyspaces benötigt die Genehmigung, unabhängig von einer bestimmten AWS-Region Person zu sein. -
Gewährt den vom Kunden verwalteten Schlüsseladministratoren (Benutzern, die die
db-team
Rolle übernehmen können) schreibgeschützten Zugriff auf den vom Kunden verwalteten Schlüssel und die Berechtigung, Zuschüsse zu widerrufen, einschließlich der Zuweisungen, die Amazon Keyspaces zum Schutz der Tabelle benötigt. -
Gewährt Amazon Keyspaces schreibgeschützten Zugriff auf den vom Kunden verwalteten Schlüssel. In diesem Fall kann Amazon Keyspaces diese Operationen direkt aufrufen. Es muss nicht im Namen eines Kontoinhabers handeln.
Bevor Sie ein Beispiel für eine Schlüsselrichtlinie verwenden, ersetzen Sie die Beispielprinzipale durch tatsächliche Prinzipale aus Ihrem. AWS-Konto
{ "Id": "key-policy-cassandra", "Version":"2012-10-17", "Statement": [ { "Sid" : "Allow access through Amazon Keyspaces for all principals in the account that are authorized to use Amazon Keyspaces", "Effect": "Allow", "Principal": {"AWS": "
arn:aws:iam::111122223333:user/db-lead
"}, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService" : "cassandra.*.amazonaws.com" } } }, { "Sid": "Allow administrators to view the customer managed key and revoke grants", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/db-team
" }, "Action": [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource": "*" } ] }
Verwendung von Zuschüssen zur Autorisierung von Amazon Keyspaces
Zusätzlich zu den wichtigsten Richtlinien verwendet Amazon Keyspaces Zuschüsse, um Berechtigungen für einen vom Kunden verwalteten Schlüssel festzulegen. Um die Erteilungen für den kundenverwalteten Schlüssel in Ihrem Konto anzuzeigen, verwenden Sie die ListGrants-Operation. Amazon Keyspaces benötigt keine Zuschüsse oder zusätzliche Berechtigungen, um Ihre Tabelle AWS-eigener Schlüsselzu schützen.
Amazon Keyspaces verwendet die gewährten Berechtigungen, wenn es Systemwartungs- und kontinuierliche Datenschutzaufgaben im Hintergrund ausführt. Außerdem werden Erteilungen verwenden, um Tabellenschlüssel zu generieren.
Jede Erteilung ist tabellenspezifisch. Wenn das Konto mehrere Tabellen enthält, die unter demselben vom Kunden verwalteten Schlüssel verschlüsselt sind, gibt es für jede Tabelle eine Genehmigung jedes Typs. Die Gewährung wird durch den Amazon Keyspaces-Verschlüsselungskontext eingeschränkt, der den Tabellennamen und die AWS-Konto ID umfasst. Der Zuschuss beinhaltet die Erlaubnis, den Zuschuss zurückzuziehen, wenn er nicht mehr benötigt wird.
Um die Grants zu erstellen, muss Amazon Keyspaces über die Berechtigung verfügen, CreateGrant
im Namen des Benutzers, der die verschlüsselte Tabelle erstellt hat, anzurufen.
Die Schlüsselrichtlinie kann es dem Konto auch erlauben, die Erteilung für den kundenverwalteten Schlüssel zu widerrufen. Wenn Sie jedoch den Zuschuss für eine aktive verschlüsselte Tabelle widerrufen, kann Amazon Keyspaces die Tabelle nicht schützen und verwalten.
Schritt 3: Geben Sie einen vom Kunden verwalteten Schlüssel für eine neue Tabelle an
Gehen Sie wie folgt vor, um den vom Kunden verwalteten Schlüssel mithilfe der Amazon Keyspaces-Konsole oder CQL in einer neuen Tabelle anzugeben.
Erstellen Sie eine verschlüsselte Tabelle mit einem vom Kunden verwalteten Schlüssel (Konsole)
Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon Keyspaces-Konsole zu https://console.aws.amazon.com/keyspaces/Hause
. -
Wählen Sie im Navigationsbereich Tables (Tabellen) und anschließend Create table (Tabelle erstellen) aus.
-
Wählen Sie auf der Seite Tabelle erstellen im Abschnitt Tabellendetails einen Schlüsselraum aus und geben Sie einen Namen für die neue Tabelle ein.
-
Erstellen Sie im Abschnitt Schema das Schema für Ihre Tabelle.
Wählen Sie im Abschnitt Tabelleneinstellungen die Option Einstellungen anpassen aus.
-
Fahren Sie mit den Verschlüsselungseinstellungen fort.
In diesem Schritt wählen Sie die Verschlüsselungseinstellungen für die Tabelle aus.
Wählen Sie im Abschnitt Verschlüsselung im Ruhezustand unter Wählen Sie eine AWS KMS key die Option Anderen KMS Schlüssel auswählen (erweitert) und wählen Sie im Suchfeld einen Amazon-Ressourcennamen aus AWS KMS key oder geben Sie einen Amazon-Ressourcennamen ein (ARN).
Anmerkung
Wenn auf den ausgewählten Schlüssel nicht zugegriffen werden kann oder die erforderlichen Berechtigungen fehlen, finden Sie weitere Informationen unter Fehlerbehebung beim Schlüsselzugriff im AWS Key Management Service Entwicklerhandbuch.
-
Wählen Sie Create (Erstellen) , um die verschlüsselte Tabelle zu erstellen.
Erstellen Sie eine neue Tabelle mit einem vom Kunden verwalteten Schlüssel für die Verschlüsselung im Ruhezustand (CQL)
Um eine neue Tabelle zu erstellen, die einen vom Kunden verwalteten Schlüssel für die Verschlüsselung im Ruhezustand verwendet, können Sie die CREATE TABLE
Anweisung verwenden, wie im folgenden Beispiel gezeigt. Stellen Sie sicher, dass Sie den Schlüssel ARN durch einen ARN für einen gültigen Schlüssel mit Amazon Keyspaces erteilten Berechtigungen ersetzen.
CREATE TABLE
my_keyspace.my_table
(id bigint, name text, place text STATIC, PRIMARY KEY(id, name)) WITH CUSTOM_PROPERTIES = { 'encryption_specification':{ 'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111
' } };
Wenn Sie einen erhaltenInvalid Request Exception
, müssen Sie bestätigen, dass der vom Kunden verwaltete Schlüssel gültig ist und Amazon Keyspaces über die erforderlichen Berechtigungen verfügt. Informationen zur Bestätigung, dass der Schlüssel korrekt konfiguriert wurde, finden Sie unter Fehlerbehebung beim Schlüsselzugriff im AWS Key Management Service Entwicklerhandbuch.
Schritt 4: Aktualisieren Sie den Verschlüsselungsschlüssel einer vorhandenen Tabelle
Sie können auch die Amazon Keyspaces-Konsole verwenden oder CQL die Verschlüsselungsschlüssel einer vorhandenen Tabelle jederzeit zwischen einem AWS-eigener Schlüssel und einem vom Kunden verwalteten KMS Schlüssel ändern.
Aktualisieren Sie eine bestehende Tabelle mit dem neuen vom Kunden verwalteten Schlüssel (Konsole)
Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon Keyspaces-Konsole zu https://console.aws.amazon.com/keyspaces/Hause
. -
Wählen Sie im Navigationsbereich Tables (Tabellen) aus.
-
Wählen Sie die Tabelle aus, die Sie aktualisieren möchten, und wählen Sie dann den Tab Zusätzliche Einstellungen.
-
Wählen Sie im Abschnitt Verschlüsselung im Ruhezustand die Option Verschlüsselung verwalten aus, um die Verschlüsselungseinstellungen für die Tabelle zu bearbeiten.
Wählen Sie unter Wählen Sie die Option Anderen KMS Schlüssel auswählen (erweitert) und wählen Sie im Suchfeld einen Amazon-Ressourcennamen (ARN) aus AWS KMS key oder geben Sie einen ein. AWS KMS key
Anmerkung
Wenn der von Ihnen gewählte Schlüssel nicht gültig ist, finden Sie weitere Informationen unter Fehlerbehebung beim Schlüsselzugriff im AWS Key Management Service Entwicklerhandbuch.
Alternativ können Sie eine AWS-eigener Schlüssel für eine Tabelle wählen, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist.
-
Wählen Sie Änderungen speichern, um Ihre Änderungen an der Tabelle zu speichern.
Aktualisieren Sie den Verschlüsselungsschlüssel, der für eine bestehende Tabelle verwendet wurde
Um den Verschlüsselungsschlüssel einer vorhandenen Tabelle zu ändern, verwenden Sie die ALTER
TABLE
Anweisung, um einen vom Kunden verwalteten Schlüssel für die Verschlüsselung im Ruhezustand anzugeben. Stellen Sie sicher, dass Sie den Schlüssel ARN durch einen ARN für einen gültigen Schlüssel mit Amazon Keyspaces erteilten Berechtigungen ersetzen.
ALTER TABLE
my_keyspace.my_table
WITH CUSTOM_PROPERTIES = { 'encryption_specification':{ 'encryption_type': 'CUSTOMER_MANAGED_KMS_KEY', 'kms_key_identifier':'arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111
' } };
Wenn Sie einen erhaltenInvalid Request Exception
, müssen Sie bestätigen, dass der vom Kunden verwaltete Schlüssel gültig ist und Amazon Keyspaces über die erforderlichen Berechtigungen verfügt. Informationen zur Bestätigung, dass der Schlüssel korrekt konfiguriert wurde, finden Sie unter Fehlerbehebung beim Schlüsselzugriff im AWS Key Management Service Entwicklerhandbuch.
Um den Verschlüsselungsschlüssel wieder auf die Standardoption Verschlüsselung im Ruhezustand zurückzusetzen AWS-eigene Schlüssel, können Sie die ALTER TABLE
Anweisung verwenden, wie im folgenden Beispiel gezeigt.
ALTER TABLE
my_keyspace.my_table
WITH CUSTOM_PROPERTIES = { 'encryption_specification':{ 'encryption_type' : 'AWS_OWNED_KMS_KEY' } };
Schritt 5: Verwenden Sie den Amazon Keyspaces-Verschlüsselungskontext in Protokollen
Ein Verschlüsselungskontext ist eine Gruppe von Schlüssel/Wert-Paaren mit willkürlichen, nicht geheimen Daten. Wenn Sie einen Verschlüsselungskontext in eine Anfrage zur Verschlüsselung von Daten einbeziehen, wird der Verschlüsselungskontext AWS KMS kryptografisch an die verschlüsselten Daten gebunden. Zur Entschlüsselung der Daten müssen Sie denselben Verschlüsselungskontext übergeben.
Amazon Keyspaces verwendet bei allen AWS KMS kryptografischen Vorgängen denselben Verschlüsselungskontext. Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, um Ihre Amazon Keyspaces-Tabelle zu schützen, können Sie den Verschlüsselungskontext verwenden, um die Verwendung des vom Kunden verwalteten Schlüssels in Prüfaufzeichnungen und Protokollen zu identifizieren. Es erscheint auch im Klartext in Protokollen, z. B. in Protokollen für AWS CloudTrailund Amazon CloudWatch Logs.
In seinen Anfragen verwendet Amazon Keyspaces einen Verschlüsselungskontext mit drei Schlüssel-Wert-Paaren. AWS KMS
"encryptionContextSubset": { "aws:cassandra:keyspaceName": "my_keyspace", "aws:cassandra:tableName": "mytable" "aws:cassandra:subscriberId": "111122223333" }
-
Keyspace — Das erste Schlüssel-Wert-Paar identifiziert den Schlüsselraum, der die Tabelle enthält, die Amazon Keyspaces verschlüsselt. Der Schlüssel lautet
aws:cassandra:keyspaceName
. Der Wert ist der Name des Schlüsselraums."aws:cassandra:keyspaceName": "
<keyspace-name>
"Beispielsweise:
"aws:cassandra:keyspaceName": "
my_keyspace
" -
Tabelle — Das zweite Schlüssel-Wert-Paar identifiziert die Tabelle, die Amazon Keyspaces verschlüsselt. Der Schlüssel lautet
aws:cassandra:tableName
. Der Wert ist der Name der Tabelle."aws:cassandra:tableName": "
<table-name>
"Beispielsweise:
"aws:cassandra:tableName": "
my_table
" -
Konto — Das dritte Schlüssel-Wert-Paar identifiziert die. AWS-Konto Der Schlüssel lautet
aws:cassandra:subscriberId
. Der Wert ist die Konto-ID."aws:cassandra:subscriberId": "
<account-id>
"Beispielsweise:
"aws:cassandra:subscriberId": "111122223333"
Schritt 6: Konfigurieren Sie die Überwachung mit AWS CloudTrail
Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, um Ihre Amazon Keyspaces-Tabellen zu schützen, können Sie AWS CloudTrail Protokolle verwenden, um die Anfragen zu verfolgen, an die Amazon Keyspaces in AWS KMS Ihrem Namen sendet.
Die CreateGrant
Anfragen GenerateDataKey
DescribeKey
,Decrypt
, und werden in diesem Abschnitt behandelt. Darüber hinaus verwendet Amazon Keyspaces eine RetireGrantOperation, um einen Zuschuss zu entfernen, wenn Sie eine Tabelle löschen.
- GenerateDataKey
-
Amazon Keyspaces erstellt einen eindeutigen Tabellenschlüssel, um Daten im Ruhezustand zu verschlüsseln. Es sendet eine GenerateDataKeyAnfrage an AWS KMS , die den KMS Schlüssel für die Tabelle spezifiziert.
Das Ereignis, das die
GenerateDataKey
-Operation aufzeichnet, ähnelt dem folgenden Beispielereignis. Der Benutzer ist das Amazon Keyspaces-Servicekonto. Zu den Parametern gehören der Amazon-Ressourcenname (ARN) des vom Kunden verwalteten Schlüssels, ein Schlüsselspezifizierer, für den ein 256-Bit-Schlüssel erforderlich ist, und der Verschlüsselungskontext, der den Schlüsselraum, die Tabelle und den identifiziert. AWS-Konto{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "AWS Internal" }, "eventTime": "2021-04-16T04:56:05Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "keySpec": "AES_256", "encryptionContext": { "aws:cassandra:keyspaceName": "my_keyspace", "aws:cassandra:tableName": "my_table", "aws:cassandra:subscriberId": "123SAMPLE012" }, "keyId": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111" }, "responseElements": null, "requestID": "5e8e9cb5-9194-4334-aacc-9dd7d50fe246", "eventID": "49fccab9-2448-4b97-a89d-7d5c39318d6f", "readOnly": true, "resources": [ { "accountId": "123SAMPLE012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123SAMPLE012", "sharedEventID": "84fbaaf0-9641-4e32-9147-57d2cb08792e" }
- DescribeKey
-
Amazon Keyspaces verwendet einen DescribeKeyVorgang, um festzustellen, ob der von Ihnen ausgewählte KMS Schlüssel in dem Konto und der Region vorhanden ist.
Das Ereignis, das die
DescribeKey
-Operation aufzeichnet, ähnelt dem folgenden Beispielereignis. Der Benutzer ist das Amazon Keyspaces-Servicekonto. Zu den Parametern gehören ARN der vom Kunden verwaltete Schlüssel und ein Schlüsselspezifizierer, für den ein 256-Bit-Schlüssel erforderlich ist.{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAZ3FNIIVIZZ6H7CFQG", "arn": "arn:aws:iam::123SAMPLE012:user/admin", "accountId": "123SAMPLE012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "admin", "sessionContext": { "sessionIssuer": {}, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-16T04:55:42Z" } }, "invokedBy": "AWS Internal" }, "eventTime": "2021-04-16T04:55:58Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "keyId": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111" }, "responseElements": null, "requestID": "c25a8105-050b-4f52-8358-6e872fb03a6c", "eventID": "0d96420e-707e-41b9-9118-56585a669658", "readOnly": true, "resources": [ { "accountId": "123SAMPLE012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123SAMPLE012" }
- Decrypt
-
Wenn Sie auf eine Amazon Keyspaces-Tabelle zugreifen, muss Amazon Keyspaces den Tabellenschlüssel entschlüsseln, damit es die Schlüssel entschlüsseln kann, die sich in der Hierarchie darunter befinden. Anschließend werden die Daten in der Tabelle entschlüsselt. Um den Tabellenschlüssel zu entschlüsseln, sendet Amazon Keyspaces eine Decrypt-Anfrage an AWS KMS , die den KMS Schlüssel für die Tabelle angibt.
Das Ereignis, das die
Decrypt
-Operation aufzeichnet, ähnelt dem folgenden Beispielereignis. Der Benutzer ist Ihr Hauptbenutzer, der auf AWS-Konto die Tabelle zugreift. Zu den Parametern gehören der verschlüsselte Tabellenschlüssel (als Chiffretext-Blob) und der Verschlüsselungskontext, der die Tabelle und den identifiziert. AWS-Konto AWS KMS leitet die ID des vom Kunden verwalteten Schlüssels aus dem Chiffretext ab.{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "AWS Internal" }, "eventTime": "2021-04-16T05:29:44Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "encryptionContext": { "aws:cassandra:keyspaceName": "my_keyspace", "aws:cassandra:tableName": "my_table", "aws:cassandra:subscriberId": "123SAMPLE012" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "50e80373-83c9-4034-8226-5439e1c9b259", "eventID": "8db9788f-04a5-4ae2-90c9-15c79c411b6b", "readOnly": true, "resources": [ { "accountId": "123SAMPLE012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123SAMPLE012", "sharedEventID": "7ed99e2d-910a-4708-a4e3-0180d8dbb68e" }
- CreateGrant
-
Wenn Sie einen vom Kunden verwalteten Schlüssel verwenden, um Ihre Amazon Keyspaces-Tabelle zu schützen, verwendet Amazon Keyspaces Zuschüsse, damit der Service kontinuierliche Datenschutz-, Wartungs- und Haltbarkeitsaufgaben durchführen kann. Diese Zuschüsse sind am nicht erforderlich. AWS-eigene Schlüssel
Die Zuschüsse, die Amazon Keyspaces erstellt, sind tabellenspezifisch. Der Principal in der CreateGrantAnfrage ist der Benutzer, der die Tabelle erstellt hat.
Das Ereignis, das die
CreateGrant
-Operation aufzeichnet, ähnelt dem folgenden Beispielereignis. Zu den Parametern gehören ARN der vom Kunden verwaltete Schlüssel für die Tabelle, der Principal des Empfängers und der ausscheidende Principal (der Amazon Keyspaces-Service) sowie die Operationen, die durch den Zuschuss abgedeckt werden. Es enthält auch eine Einschränkung, nach der alle Verschlüsselungsvorgänge den angegebenen Verschlüsselungskontext verwenden müssen.{ "eventVersion": "1.08", "userIdentity": { "type": "IAMUser", "principalId": "AIDAZ3FNIIVIZZ6H7CFQG", "arn": "arn:aws:iam::arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111:user/admin", "accountId": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "admin", "sessionContext": { "sessionIssuer": {}, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-16T04:55:42Z" } }, "invokedBy": "AWS Internal" }, "eventTime": "2021-04-16T05:11:10Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "keyId": "a7d328af-215e-4661-9a69-88c858909f20", "operations": [ "DescribeKey", "GenerateDataKey", "Decrypt", "Encrypt", "ReEncryptFrom", "ReEncryptTo", "RetireGrant" ], "constraints": { "encryptionContextSubset": { "aws:cassandra:keyspaceName": "my_keyspace", "aws:cassandra:tableName": "my_table", "aws:cassandra:subscriberId": "123SAMPLE012" } }, "retiringPrincipal": "cassandratest.us-east-1.amazonaws.com", "granteePrincipal": "cassandratest.us-east-1.amazonaws.com" }, "responseElements": { "grantId": "18e4235f1b07f289762a31a1886cb5efd225f069280d4f76cd83b9b9b5501013" }, "requestID": "b379a767-1f9b-48c3-b731-fb23e865e7f7", "eventID": "29ee1fd4-28f2-416f-a419-551910d20291", "readOnly": false, "resources": [ { "accountId": "123SAMPLE012", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:5555555555555:key/11111111-1111-111-1111-111111111111" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "123SAMPLE012" }