Verschlüsselung im Ruhezustand: So verwenden Sie vom Kunden verwaltete Schlüssel, um Tabellen in Amazon Keyspaces zu verschlüsseln - Amazon Keyspaces (für Apache Cassandra)

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, um Tabellen in Amazon Keyspaces zu verschlüsseln

Sie können die Konsolen- oder CQL-Anweisungen verwenden, um dieAWS 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.

Voraussetzungen: Erstellen Sie einen vom Kunden verwalteten Schlüssel mithilfe von Amazon KeyspacesAWS KMS und gewähren Sie diesen 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 inAWS Key Management Service (AWS KMS) erstellen und dann Amazon Keyspaces autorisieren, diesen Schlüssel zu verwenden.

Schritt 1: Erstellen eines kundenverwalteten Schlüssel mitAWS KMS

Um einen vom Kunden verwalteten Schlüssel zu erstellen, der zum Schutz einer Amazon Keyspaces-Tabelle verwendet werden soll, folgen Sie den Schritten unter Erstellen symmetrischer Verschlüsselungs-KMS-Schlüssel mithilfe der Konsole oder derAWS API.

Schritt 2: Autorisieren Sie die Verwendung Ihres vom Kunden verwalteten Schlüssels

Bevor Sie einen kundenverwalteten Schlüssel zum Schutz einer Amazon Keyspaces-Tabelle auswählen können, müssen die Richtlinien für diesen kundenverwalteten Schlüssel Amazon Keyspaces zu seiner Verwendung in Ihrem Namen berechtigen. Sie haben volle Kontrolle über die Richtlinien und Erteilungen 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 die Amazon Keyspaces-Tabellen in IhremAWS Konto mit der Standardeinstellung AWS-eigener Schlüsselzu schützen.

In den folgenden Themen wird gezeigt, 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.

Schlüsselverwaltete

Wenn Sie einen kundenverwalteten Schlüssel zum Schutz einer Amazon Keyspaces-Tabelle auswählen, erhält Amazon Keyspaces die Berechtigung, den kundenverwalteten Schlüssel im Namen des Prinzipals zu verwenden, der die Auswahl trifft. Dieser Prinzipal, ein Benutzer oder eine Rolle, muss über die Berechtigungen für den kundenverwalteten Schlüssel verfügen, die Amazon Keyspaces benötigt.

Amazon Keyspaces erfordert mindestens die folgenden Berechtigungen für einen kundenverwalteten Schlüssel:

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 die Verwendung des vom Kunden verwalteten Schlüssel für kryptografische Operationen und die Erstellung von Erteilungen — jedoch nur, wenn es im Auftrag von Prinzipalen im Konto handelt, die über die Berechtigung zur Verwendung von Amazon Keyspaces verfügen. Wenn die in der Richtlinienanweisung angegebenen Prinzipale nicht zur Verwendung von Amazon Keyspaces berechtigt sind, schlägt der Anruf selbst dann fehl, wenn er vom Amazon Keyspaces-Service stammt.

  • Der Bedingungsschlüssel kms:ViaService erlaubt die Berechtigungen nur, wenn die Anforderung von Amazon Keyspaces im Auftrag der in der Richtlinienanweisung aufgeführten Prinzipale stammt. 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 Erlaubnis, unabhängig von einer bestimmten Person zu seinAWS-Region.

  • Gewährt den kundenverwalteten Schlüsselverwalteten (Benutzer, die diedb-team Rolle annehmen können) schreibgeschützten Zugriff auf den kundenverwalteten Schlüssel und die Berechtigung, Erteilungen zu widerrufen, einschließlich der Erteilungen, die Amazon Keyspaces zum Schutz der Tabelle benötigt.

  • Gewährt Amazon Keyspaces schreibgeschützten Zugriff auf den kundenverwalteten Schlüssel. In diesem Fall kann Amazon Keyspaces diese Operationen direkt aufrufen. Es muss nicht im Namen eines Kontoinhabers handeln.

Bevor Sie eine Beispiel-Schlüsselrichtlinie verwenden, ersetzen Sie die Beispiel-Prinzipale 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": "*" } ] }

Verwenden von Erteilungen zum Autorisieren von Amazon Keyspaces

Zusätzlich zu den wichtigsten Richtlinien verwendet Amazon Keyspaces Erteilungen, um Berechtigungen für einen kundenverwalteten Schlüssel festzulegen. Verwenden Sie den ListGrantsVorgang, um die Zuschüsse für einen vom Kunden verwalteten Schlüssel in Ihrem Konto einzusehen. Amazon Keyspaces benötigt keine Erteilungen oder zusätzliche Berechtigungen, um die zum Schutz Ihrer Tabelle AWS-eigener Schlüsselzu verwenden.

Amazon Keyspaces verwendet die Berechtigungen zum Ausführen von Hintergrundsystemwartung und kontinuierlichen Datenschutzaufgaben. Außerdem werden Erteilungen verwenden, um Tabellenschlüssel zu generieren.

Jede Erteilung ist tabellenspezifisch. Wenn das Konto mehrere Tabellen enthält, die mit demselben vom Kunden verwalteten Schlüssel verschlüsselt sind, wird für jede Tabelle ein Erteilung für jeden Typ gewährt. Die Gewährung ist durch den Amazon Keyspaces-Verschlüsselungskontext eingeschränkt, der den Tabellennamen und dieAWS-Konto ID umfasst. Der Zuschuss beinhaltet die Erlaubnis, den Zuschuss zurückzuziehen, wenn er nicht mehr benötigt wird.

Zum Erstellen von Erteilungen muss Amazon Keyspaces über die Berechtigung verfügen,CreateGrant im Namen des Benutzers anzurufen, der die verschlüsselte Tabelle erstellt hat.

Die Schlüsselrichtlinie kann es dem Konto auch erlauben, die Erteilung für den vom Kunden verwalteten Schlüssel zu widerrufen. Wenn Sie jedoch die Erteilung für eine aktive verschlüsselte Tabelle widerrufen, kann Amazon Keyspaces die Tabelle nicht mehr schützen und pflegen.

Schritt 3: Geben eines vom Kunden verwalteten Schlüssel für eine neue Tabelle an

Führen Sie die folgenden Schritte aus, um den kundenverwalteten Schlüssel in einer neuen Tabelle mithilfe der Amazon Keyspaces-Konsole oder CQL anzugeben.

Erstellen einer verschlüsselten Tabelle mit einem vom Kunden verwalteten Schlüssel (Konsole)

  1. Melden Sie sich bei derAWS Management Console an und öffnen Sie die Amazon Keyspaces-Konsole unter https://console.aws.amazon.com/keyspaces/home.

  2. Wählen Sie im Navigationsbereich Tables (Tabellen) und anschließend Create table (Tabelle erstellen) aus.

  3. Wählen Sie auf der Seite Tabelle erstellen im Abschnitt Tabellendetails ein Schlüsselfeld aus und geben Sie einen Namen für die neue Tabelle ein.

  4. Erstellen Sie im Abschnitt Schema das Schema für Ihre Tabelle.

  5. Wählen Sie im Abschnitt Tabelleneinstellungen die Option Einstellungen anpassen aus.

  6. 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 einenAWS KMS key anderen KMS-Schlüssel (erweitert) und wählen Sie im Suchfeld einen Amazon-Ressourcennamen (ARN) ausAWS KMS key oder geben Sie einen Amazon-Ressourcennamen (ARN) ein.

    Anmerkung

    Wenn auf den von Ihnen ausgewählten Schlüssel nicht zugegriffen werden kann oder die erforderlichen Berechtigungen fehlen, finden Sie imAWS Key Management Service Entwicklerhandbuch unter Problembehandlung beim Schlüsselzugriff weitere Informationen.

  7. Wählen Sie Create (Erstellen) , um die verschlüsselte Tabelle zu erstellen.

Erstellen einer neuen Tabelle mit einem kundenverwalteten Schlüssel für Verschlüsselung im Ruhezustand (CQL)

Um eine neue Tabelle zu erstellen, die einen kundenverwalteten Schlüssel für die Verschlüsselung im Ruhezustand verwendet, können Sie dieCREATE TABLE Anweisung wie im folgenden Beispiel gezeigt verwenden. Stellen Sie sicher, dass Sie den Schlüssel-ARN durch einen ARN ersetzen, um einen gültigen Schlüssel mit Berechtigungen zu erhalten, die Amazon Keyspaces gewährt wurden.

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 eine 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. Um zu überprüfen, ob der Schlüssel korrekt konfiguriert wurde, finden Sie imAWS Key Management Service Entwicklerhandbuch unter Problembehandlung beim Schlüsselzugriff.

Schritt 4: Den Verschlüsselungsschlüssel einer vorhandenen Tabelle aktualisieren

Sie können auch die Amazon Keyspaces-Konsole oder CQL verwenden, um die Verschlüsselungsschlüssel einer vorhandenen Tabelle jederzeit zwischen einem vom Kunden verwalteten KMS-SchlüsselAWS-eigener Schlüssel und einem vom Kunden verwalteten KMS-Schlüssel zu ändern.

Aktualisieren Sie eine vorhandene Tabelle mit dem neuen vom Kunden verwalteten Schlüssel (Konsole)

  1. Melden Sie sich bei derAWS Management Console an und öffnen Sie die Amazon Keyspaces-Konsole unter https://console.aws.amazon.com/keyspaces/home.

  2. Wählen Sie im Navigationsbereich Tables (Tabellen) aus.

  3. Wählen Sie die Tabelle aus, die Sie aktualisieren möchten, und wählen Sie dann die Registerkarte Zusätzliche Einstellungen.

  4. 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 unterAWS KMS key Choose an die Option Einen anderen KMS-Schlüssel auswählen (erweitert) und wählen Sie im Suchfeld einen Amazon-Ressourcennamen (ARN) ausAWS KMS key oder geben Sie einen Amazon-Ressourcennamen (ARN) ein.

    Anmerkung

    Wenn der von Ihnen gewählte Schlüssel nicht gültig ist, lesen Sie den Abschnitt Problembehandlung beim Schlüsselzugriff imAWS Key Management Service Entwicklerhandbuch.

    Alternativ können Sie einenAWS-eigener Schlüssel für eine Tabelle auswählen, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist.

  5. Wählen Sie Änderungen speichern, um Ihre Änderungen an der Tabelle zu speichern.

Aktualisieren des Verschlüsselungsschlüssels, der für eine vorhandene Tabelle verwendet wurde

Um den Verschlüsselungsschlüssel einer vorhandenen Tabelle zu ändern, verwenden Sie dieALTER 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 ersetzen, um einen gültigen Schlüssel mit Berechtigungen zu erhalten, die Amazon Keyspaces gewährt wurden.

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 eine 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. Um zu überprüfen, ob der Schlüssel korrekt konfiguriert wurde, finden Sie imAWS Key Management Service Entwicklerhandbuch unter Problembehandlung beim Schlüsselzugriff.

Um den Verschlüsselungsschlüssel wieder auf die Standardoption Encryption at Rest mit zu ändernAWS-eigene Schlüssel, können Sie dieALTER 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 Anforderung zur Verschlüsselung von Daten aufnehmen, bindet AWS KMS den Verschlüsselungskontext kryptografisch an die verschlüsselten Daten. Zur Entschlüsselung der Daten müssen Sie denselben Verschlüsselungskontext übergeben.

Amazon Keyspaces verwendet in allenAWS KMS kryptografischen Operationen denselben Verschlüsselungskontext. Wenn Sie einen kundenverwalteten Schlüssel zum Schutz Ihrer Amazon Keyspaces-Tabelle verwenden, können Sie anhand des Verschlüsselungskontexts die Verwendung des vom Kunden verwalteten Schlüssel in Prüfungs-Datensätzen und -Protokollen identifizieren. Es erscheint auch im Klartext in Protokollen, z. B. in Protokollen für AWS CloudTrailund Amazon CloudWatch Logs.

In den Anforderungen anAWS KMS verwendet Amazon Keyspaces einen Verschlüsselungskontext mit drei Schlüssel-Wert-Paaren.

"encryptionContextSubset": { "aws:cassandra:keyspaceName": "my_keyspace", "aws:cassandra:tableName": "mytable" "aws:cassandra:subscriberId": "111122223333" }
  • Keyspace — Das erste Schlüssel-Wert-Paar gibt den Schlüsselraum an, der die Tabelle enthält, die Amazon Keyspaces verschlüsselt. Der Schlüssel lautet aws:cassandra:keyspaceName. Der Wert ist der Name des Keyspace.

    "aws:cassandra:keyspaceName": "<keyspace-name>"

    Beispiel:

    "aws:cassandra:keyspaceName": "my_keyspace"
  • Tabelle: Das zweite Schlüssel-Wert-Paar gibt die Tabelle an, die Amazon Keyspaces verschlüsselt. Der Schlüssel lautet aws:cassandra:tableName. Der Wert ist der Name der Tabelle.

    "aws:cassandra:tableName": "<table-name>"

    Beispiel:

    "aws:cassandra:tableName": "my_table"
  • Konto — Das dritte Schlüssel-Wert-Paar gibt das anAWS-Konto. Der Schlüssel lautet aws:cassandra:subscriberId. Der Wert ist die Konto-ID.

    "aws:cassandra:subscriberId": "<account-id>"

    Beispiel:

    "aws:cassandra:subscriberId": "111122223333"

Schritt 6: Konfigurieren Sie die Überwachung mitAWS CloudTrail

Wenn Sie einen kundenverwalteten Schlüssel zum Schutz Ihrer Amazon-Keyspaces-Tabellen verwenden, können Sie mithilfe vonAWS CloudTrail -Protokollen, die Anforderungen nachverfolgen, die Amazon Keyspaces in Ihrem NamenAWS KMS an sendet.

DieGenerateDataKey,DescribeKeyDecrypt, undCreateGrant Anfragen werden in diesem Abschnitt behandelt. Darüber hinaus verwendet Amazon Keyspaces einen RetireGrantVorgang, um einen Zuschuss zu entfernen, wenn Sie eine Tabelle löschen.

GenerateDataKey

Amazon Keyspaces erstellt einen eindeutigen Tabellenschlüssel zum Verschlüsseln von Daten im Ruhezustand. Es sendet eine GenerateDataKeyAnfrage anAWS KMS, die den KMS-Schlüssel für die Tabelle angibt.

Das Ereignis, das die GenerateDataKey-Operation aufzeichnet, ähnelt dem folgenden Beispielereignis. Der Benutzer ist das Amazon Keyspaces-Dienstkonto. Die Parameter enthalten den Amazon-Ressourcennamen (ARN) des vom Kunden verwalteten Schlüssel, einen Schlüsselbezeichner, der einen 256-Bit-Schlüssel benötigt, und den Verschlüsselungskontext, der den Schlüsselverwalteten, die Tabelle und das identifiziertAWS-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 zu ermitteln, ob der von Ihnen ausgewählte KMS-Schlüssel im Konto und in der Region vorhanden ist.

Das Ereignis, das die DescribeKey-Operation aufzeichnet, ähnelt dem folgenden Beispielereignis. Der Benutzer ist das Amazon Keyspaces-Dienstkonto. Die Parameter enthalten den ARN des vom Kunden verwalteten Schlüssel und einen Schlüsselbezeichner, der einen 256-Bit-Schlüssel benötigt.

{ "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 die in der Hierarchie tiefer angeordneten Schlüssel entschlüsselt werden können. Anschließend werden die Daten in der Tabelle entschlüsselt. Zum Entschlüsseln des Tabellenschlüssels sendet Amazon Keyspaces eine Decrypt-Anforderung anAWS 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 der Prinzipal in Ihrem AWS-Konto, mit dem auf die Tabelle zugegriffen wird. Die Parameter enthalten den verschlüsselten Tabellenschlüssel (als Verschlüsselungstext-Blob) und den Verschlüsselungskontext, der die Tabelle und das identifiziertAWS-Konto. AWS KMSleitet 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 kundenverwalteten Schlüssel zum Schutz Ihrer Amazon Keyspaces-Tabelle verwenden, verwendet Amazon Keyspaces Erteilungen, um dem Service die Ausführung von Aufgaben für kontinuierlichen Datenschutz, Wartung und Haltbarkeit zu erlauben. Diese Zuschüsse sind nicht erforderlich für AWS-eigene Schlüssel.

Die von Amazon Keyspaces erstellten Erteilungen 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. Die Parameter enthalten den ARN des vom Kunden verwalteten Schlüssel für die Tabelle, den Empfänger-Prinzipal und den ausscheidenden Prinzipal (der Amazon Keyspaces-Service) sowie die Operationen, die der Erteilung abdeckt. 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" }