Verwendung AWS KMS mit der Amazon Redshift Data API - Amazon Redshift

Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blog-Posting.

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.

Verwendung AWS KMS mit der Amazon Redshift Data API

Wenn Sie Ihren Amazon Redshift-Cluster oder Ihre Redshift Serverless-Arbeitsgruppe mit einem vom Kunden verwalteten Schlüssel verschlüsseln, verwendet die Amazon Redshift Data API denselben kundenverwalteten Schlüssel, um Ihre Abfragen und Ergebnisse zu speichern und zu verschlüsseln.

Die Daten-API verschlüsselt Ihre Daten standardmäßig, um vertrauliche Informationen wie Abfragetext und Abfrageergebnisse zu schützen. AWSFür diesen Schutz werden AWS KMS Verschlüsselungsschlüssel verwendet, die Eigentum von sind.

Die Standardverschlüsselung für ruhende Daten reduziert den betrieblichen Aufwand und die Komplexität beim Schutz sensibler Daten. Dieser Ansatz hilft Ihnen dabei, sichere Anwendungen zu entwickeln, die strenge Verschlüsselungsvorschriften und regulatorische Anforderungen erfüllen.

Verwendung von Zuschüssen in AWS KMS

Für die Daten-API ist eine Genehmigung erforderlich, um Ihren vom Kunden verwalteten Schlüssel verwenden zu können.

Wenn Sie einen Cluster anrufen ExecuteStatement oder BatchExecuteStatement gegen einen Cluster anrufen, der mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, erstellt Amazon Redshift in Ihrem Namen einen Zuschuss, indem es eine CreateGrantAnfrage an AWS KMS sendet. AWS KMSverwendet Zuschüsse, um der Daten-API Zugriff auf einen KMS-Schlüssel in Ihrem Konto zu gewähren.

Für die Daten-API ist die Genehmigung erforderlich, um Ihren vom Kunden verwalteten Schlüssel für die folgenden Vorgänge zu verwenden:

  • Senden Sie EncryptAnfragen AWS KMS zur Verschlüsselung von Abfrage-Metadaten mit Ihrem vom Kunden verwalteten Schlüssel an.

  • Senden Sie GenerateDataKeyAnfragen AWS KMS zur Generierung von Datenschlüsseln, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt sind.

  • Senden Sie DecryptAnfragen AWS KMS zur Entschlüsselung der verschlüsselten Datenschlüssel, damit diese Ihre Daten verschlüsseln können.

Sie können den Zugriff auf die Gewährung jederzeit widerrufen oder Amazon Redshift Redshift-Zugriff auf Ihren vom Kunden verwalteten Schlüssel entfernen. Wenn Sie dies tun, kann die Daten-API nicht mehr auf Daten zugreifen, die mit Ihrem vom Kunden verwalteten Schlüssel verschlüsselt wurden, was sich auf Vorgänge auswirkt, die von diesen Daten abhängen. Wenn Sie beispielsweise versuchen, Abfrageergebnisse abzurufen oder den Abfragestatus zu verfolgen, nachdem Sie den Zuschuss widerrufen haben, gibt die Daten-API eine AccessDeniedException zurück.

Wichtige Richtlinien für Ihren vom Kunden verwalteten Schlüssel

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter Kundenverwaltete Schlüssel im AWS Key Management ServiceEntwicklerhandbuch.

Um Ihre vom Kunden verwalteten Schlüssel mit der Daten-API zu verwenden, müssen Sie zunächst den Zugriff auf Amazon Redshift zulassen. Die folgenden API-Operationen müssen in der Schlüsselrichtlinie zulässig sein:

  • kms:CreateGrant: Fügt einem kundenverwalteten Schlüssel eine Erteilung hinzu. Gewährt Kontrollzugriff auf einen bestimmten AWS KMS Schlüssel, der Zugriff auf Grant-Operationen ermöglicht, die Amazon Redshift benötigt. Weitere Informationen finden Sie unter Verwenden von Zuschüssen in AWS KMS.

Im Folgenden finden Sie ein Beispiel für eine wichtige Richtlinie:

"Statement":[ { "Sid":"Allow access to principals authorized to use Amazon Redshift", "Effect":"Allow", "Principal":{ "AWS":"*" }, "Action":[ "kms:DescribeKey", "kms:CreateGrant" ], "Resource":"*", "Condition":{ "StringEquals":{ "kms:ViaService":"redshift.amazonaws.com", "kms:CallerAccount":"111122223333" } } }, { "Sid":"AllowKeyAdministratorsAccess", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::111122223333:role/ExampleAdminRole" }, "Action":"kms:*", "Resource":"*" }, { "Sid":"AllowKeyUseForExampleRole", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::111122223333:role/ExampleUserRole" }, "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource":"*" } ]

Kontext der Daten-API-Verschlüsselung

Ein Verschlüsselungskontext ist ein optionaler Satz von Schlüssel-Wert-Paaren, der zusätzliche kontextbezogene Informationen zu den Daten enthält. AWS KMSverwendet den Verschlüsselungskontext als zusätzliche authentifizierte Daten, um die authentifizierte Verschlüsselung zu unterstützen. Wenn Sie einen Verschlüsselungskontext in eine Anforderung zum Verschlüsseln von Daten einbeziehen, wird der Verschlüsselungskontext AWS KMS an die verschlüsselten Daten gebunden. Um die Daten zu entschlüsseln, müssen Sie denselben Verschlüsselungskontext in die Anforderung aufnehmen.

Die Daten-API verwendet bei allen AWS KMS kryptografischen Vorgängen für bereitgestellte Cluster dieselben drei Schlüssel-Wert-Paare für den Verschlüsselungskontext:

  • aws:redshift:arn— Der Amazon-Ressourcenname (ARN) des Clusters

  • aws:redshift:createtime— Der Zeitstempel, als Sie die Cluster-Erstellung angefordert haben

  • serviceNameRedshiftDataAPI

"EncryptionContextSubset": { "aws:redshift:arn": "arn:aws:redshift:us-east-1:123456789012:cluster:redshift-cluster", "aws:redshift:createtime": "20250815T0000Z", "serviceName": "RedshiftDataAPI", }

Die Daten-API verwendet bei allen AWS KMS kryptografischen Vorgängen für serverlose Arbeitsgruppen zwei Schlüssel-Wert-Paare aus dem Verschlüsselungskontext:

  • aws:redshift-serverless:arn— Der Amazon-Ressourcenname (ARN) des Namespaces

  • serviceName— API RedshiftData

"EncryptionContextSubset": { "aws:redshift-serverless:arn": "arn:aws:redshift-serverless:us-east-1:123456789012:namespace:12345678-1234-1234-1234-123456789012", "serviceName": "RedshiftDataAPI" }

Weitere Informationen zur Verschlüsselung finden Sie unter Einführung in die kryptografischen Details von AWS KMS. Weitere Informationen zu Amazon Redshift und dessen AWS KMS Integration finden Sie unter Verwendung von Amazon Redshift. AWS KMS