Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Erstellen Sie eine Zero-ETL-Integration für DynamoDB - Amazon Redshift

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.

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.

Erstellen Sie eine Zero-ETL-Integration für DynamoDB

Bevor Sie eine Zero-ETL-Integration erstellen, sollten Sie sich mit den Überlegungen und Anforderungen vertraut machen, die unter beschrieben sind. Überlegungen bei der Verwendung von Null-ETL-Integrationen mit Amazon Redshift Folgen Sie diesem allgemeinen Ablauf, um eine Zero-ETL-Integration von DynamoDB zu Amazon Redshift zu erstellen

Um DynamoDB-Daten mit Zero-ETL-Integration nach Amazon Redshift zu replizieren
  1. Bestätigen Sie, dass Ihre Anmeldeinformationen die Berechtigungen für die Arbeit mit Zero-ETL-Integrationen mit Amazon Redshift und DynamoDB zulassen. Ein Beispiel für eine IAM-Richtlinie finden Sie unterIAM-Richtlinie für die Arbeit mit DynamoDB Zero-ETL-Integrationen.

  2. Konfigurieren Sie in der DynamoDB-Konsole Ihre DynamoDB-Tabelle so, dass sie über Berechtigungen für point-in-time Wiederherstellung (PITR), Ressourcenrichtlinien, identitätsbasierte Richtlinien und Verschlüsselungsschlüssel verfügt, wie im Amazon DynamoDB DynamoDB-Entwicklerhandbuch beschrieben.

  3. Über die Amazon-Redshift-Konsole: Erstellen und Konfigurieren eines Ziel-Data-Warehouse in Amazon Redshift.

  4. Erstellen Sie in der Amazon Redshift Redshift-Konsole die Zero-ETL-Integrationsintegration, wie später in diesem Thema beschrieben.

  5. Erstellen Sie von der Amazon Redshift-Konsole aus die Zieldatenbank in Ihrem Amazon Redshift Data Warehouse. Weitere Informationen finden Sie unter Erstellen von Zieldatenbanken in Amazon Redshift.

  6. Fragen Sie von der Amazon Redshift-Konsole aus Ihre replizierten Daten im Amazon Redshift Data Warehouse ab. Weitere Informationen finden Sie unter Abfragen von replizierten Daten in Amazon Redshift.

In diesem Schritt erstellen Sie eine Amazon DynamoDB Zero-ETL-Integration mit Amazon Redshift.

Amazon Redshift console
So erstellen Sie eine Amazon DynamoDB Zero-ETL-Integration mit Amazon Redshift mithilfe der Amazon Redshift Redshift-Konsole
  1. Wählen Sie in der Amazon Redshift Redshift-Konsole Zero-ETL-Integrationen aus. Wählen Sie im Bereich mit der Liste der Zero-ETL-Integrationen die Optionen Zero-ETL-Integration erstellen, DynamoDB-Integration erstellen aus.

  2. Geben Sie auf den Seiten zum Erstellen einer Integration wie folgt Informationen zur Integration ein:

    • Geben Sie einen Integrationsnamen ein — Dabei handelt es sich um einen eindeutigen Namen, der als Verweis auf Ihre Integration verwendet werden kann.

    • Geben Sie eine Beschreibung ein — Diese beschreibt die Daten, die von der Quelle zum Ziel repliziert werden sollen.

    • Wählen Sie die DynamoDB-Quelltabelle — Es kann eine DynamoDB-Tabelle ausgewählt werden. Point-in-timeRecovery (PITR) muss für die Tabelle aktiviert sein. Es werden nur Tabellen mit einer Tabellengröße von bis zu 100 Tebibyte (TiB) angezeigt. Die DynamoDB-Quelltabelle muss verschlüsselt sein. Die Quelle muss außerdem über eine Ressourcenrichtlinie mit autorisierten Prinzipalen und Integrationsquellen verfügen. Wenn diese Richtlinie nicht korrekt ist, wird Ihnen die Option Fix it for me angezeigt.

    • Wählen Sie das Amazon Redshift-Ziel-Data Warehouse — Das Data Warehouse kann ein von Amazon Redshift bereitgestellter Cluster oder eine Redshift Serverless-Arbeitsgruppe sein. Wenn sich Ihr Ziel-Amazon Amazon Redshift im selben Konto befindet, können Sie das Ziel auswählen. Wenn sich das Ziel in einem anderen Konto befindet, geben Sie den Redshift Data Warehouse-ARN an. Das Ziel muss über eine Ressourcenrichtlinie mit autorisierten Prinzipalen und einer Integrationsquelle verfügen und der enable_case_sensitive_identifier Parameter muss auf true gesetzt sein. Wenn Sie nicht über die richtigen Ressourcenrichtlinien auf dem Ziel verfügen und sich Ihr Ziel im selben Konto befindet, können Sie die Option Fix it for me auswählen, um die Ressourcenrichtlinien beim Erstellen der Integration automatisch anzuwenden. Wenn sich Ihr Ziel in einem anderen befindet AWS-Konto, müssen Sie die Ressourcenrichtlinie manuell auf das Amazon Redshift Redshift-Warehouse anwenden. Wenn in Ihrem Amazon Redshift Redshift-Ziel-Data Warehouse nicht die richtige Parametergruppenoption enable_case_sensitive_identifier konfiguriert isttrue, können Sie die Option Fix it for me auswählen, um diese Parametergruppe automatisch zu aktualisieren und das Warehouse während des Integrationsprozesses neu zu starten.

    • Geben Sie bis zu 50 Tag-Schlüssel und einen optionalen Wert ein, um zusätzliche Metadaten zur Integration bereitzustellen. Weitere Informationen finden Sie unter Tag-Ressourcen in Amazon Redshift.

    • Wählen Sie Verschlüsselungsoptionen — Um die Integration zu verschlüsseln. Weitere Informationen finden Sie unter Verschlüsselung von DynamoDB-Integrationen mit einem vom Kunden verwalteten Schlüssel.

      Wenn Sie die Integration verschlüsseln, können Sie auch zusätzliche Verschlüsselungskontexte hinzufügen. Weitere Informationen finden Sie unter Verschlüsselungskontext.

  3. Es wird eine Übersichtsseite angezeigt, auf der Sie DynamoDB-Integration erstellen auswählen können.

  4. Es wird eine Fortschrittsseite angezeigt, auf der Sie den Fortschritt der verschiedenen Aufgaben zur Erstellung der Zero-ETL-Integration verfolgen können.

  5. Nachdem die Integration erstellt und aktiv ist, wählen Sie auf der Detailseite der Integration die Option Mit Datenbank Connect aus. Als Ihr Amazon Redshift Data Warehouse zum ersten Mal erstellt wurde, wurde auch eine Datenbank erstellt. Sie müssen eine Verbindung zu einer beliebigen Datenbank in Ihrem Ziel-Data Warehouse herstellen, um eine weitere Datenbank für die Integration zu erstellen. Stellen Sie auf der Seite Mit Datenbank verbinden fest, ob Sie eine aktuelle Verbindung verwenden können, und wählen Sie eine Authentifizierungsmethode aus. Geben Sie je nach Ihrer Authentifizierungsmethode Informationen ein, um eine Verbindung zu einer vorhandenen Datenbank in Ihrem Ziel herzustellen. Diese Authentifizierungsinformationen können den Namen der vorhandenen Datenbank (in der Regeldev) und den Datenbankbenutzer enthalten, der bei der Erstellung der Datenbank mit dem Amazon Redshift Data Warehouse angegeben wurde.

  6. Nachdem Sie mit einer Datenbank verbunden sind, wählen Sie Datenbank aus Integration erstellen, um die Datenbank zu erstellen, die die Daten aus der Quelle empfängt. Wenn Sie die Datenbank erstellen, geben Sie die Integrations-ID, den Data Warehouse-Namen und den Datenbanknamen an.

  7. Sobald der Integrationsstatus und die Zieldatenbank angegeben sindActive, beginnen die Daten mit der Replikation von Ihrer DynamoDB-Tabelle in die Zieltabelle. Wenn Sie der Quelle Daten hinzufügen, werden sie automatisch in das Amazon Redshift Redshift-Ziel-Data Warehouse repliziert.

AWS CLI

Um eine Amazon DynamoDB Zero-ETL-Integration mit Amazon Redshift mithilfe von zu erstellen AWS CLI, verwenden Sie den create-integration Befehl mit den folgenden Optionen:

  • integration-name – Geben Sie einen Namen für die Integration an.

  • source-arn— Geben Sie den ARN der DynamoDB-Quelle an.

  • target-arn— Geben Sie den Namespace-ARN des von Amazon Redshift bereitgestellten Clusters oder des Redshift Serverless-Arbeitsgruppenziels an.

Im folgenden Beispiel wird eine Integration erstellt, indem der Integrationsname, der Quell-ARN und der Ziel-ARN angegeben werden. Die Integration ist nicht verschlüsselt.

aws redshift create-integration \ --integration-name ddb-integration \ --source-arn arn:aws:dynamodb:us-east-1:123456789012:table/books \ --target-arn arn:aws:redshift:us-east-1:123456789012:namespace:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 { "Status": "creating", "IntegrationArn": "arn:aws:redshift:us-east-1:123456789012:integration:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Errors": [], "ResponseMetadata": { "RetryAttempts": 0, "HTTPStatusCode": 200, "RequestId": "132cbe27-fd10-4f0a-aacb-b68f10bb2bfb", "HTTPHeaders": { "x-amzn-requestid": "132cbe27-fd10-4f0a-aacb-b68f10bb2bfb", "date": "Sat, 24 Aug 2024 05:44:08 GMT", "content-length": "934", "content-type": "text/xml" } }, "Tags": [], "CreateTime": "2024-08-24T05:44:08.573Z", "KMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "AdditionalEncryptionContext": {}, "TargetArn": "arn:aws:redshift:us-east-1:123456789012:namespace:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "IntegrationName": "ddb-integration", "SourceArn": "arn:aws:dynamodb:us-east-1:123456789012:table/books" }

Im folgenden Beispiel wird eine Integration erstellt, bei der ein vom Kunden verwalteter Schlüssel zur Verschlüsselung verwendet wird. Bevor Sie die Integration erstellen:

  • Erstellen Sie einen vom Kunden verwalteten Schlüssel (im Beispiel „CMCMK“ genannt) in demselben Konto (im Beispiel „AccountA“ genannt) in der DynamoDB-Quelltabelle.

  • Stellen Sie sicher, dass der Benutzer/die Rolle (im Beispiel „RoleA“ genannt) verwendet wird, um die Integration zu erstellen, über kms:DescribeKey Berechtigungen für diesen kms:CreateGrant KMS-Schlüssel verfügt.

  • Fügen Sie der Schlüsselrichtlinie Folgendes hinzu.

{ "Sid": "Enable RoleA to create grants with key", "Effect": "Allow", "Principal": { "AWS": "RoleA-ARN" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { // Add "StringEquals" condition if you plan to provide additional encryption context // for the zero-ETL integration. Ensure that the key-value pairs added here match // the key-value pair you plan to use while creating the integration. // Remove this if you don't plan to use additional encryption context "StringEquals": { "kms:EncryptionContext:context-key1": "context-value1" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "Enable RoleA to describe key", "Effect": "Allow", "Principal": { "AWS": "RoleA-ARN" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Allow use by RS SP", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*" }
aws redshift create-integration \ --integration-name ddb-integration \ --source-arn arn:aws:dynamodb:us-east-1:123456789012:table/books \ --target-arn arn:aws:redshift:us-east-1:123456789012:namespace:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \ --kms-key-id arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333 \ --additional-encryption-context key33=value33 // This matches the condition in the key policy. { "IntegrationArn": "arn:aws:redshift:us-east-1:123456789012:integration:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "IntegrationName": "ddb-integration", "SourceArn": "arn:aws:dynamodb:us-east-1:123456789012:table/books", "SourceType": "dynamodb", "TargetArn": "arn:aws:redshift:us-east-1:123456789012:namespace:a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "Status": "creating", "Errors": [], "CreateTime": "2024-10-02T18:29:26.710Z", "KMSKeyId": "arn:aws:kms:us-east-1:123456789012:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "AdditionalEncryptionContext": { "key33": "value33" }, "Tags": [] }
So erstellen Sie eine Amazon DynamoDB Zero-ETL-Integration mit Amazon Redshift mithilfe der Amazon Redshift Redshift-Konsole
  1. Wählen Sie in der Amazon Redshift Redshift-Konsole Zero-ETL-Integrationen aus. Wählen Sie im Bereich mit der Liste der Zero-ETL-Integrationen die Optionen Zero-ETL-Integration erstellen, DynamoDB-Integration erstellen aus.

  2. Geben Sie auf den Seiten zum Erstellen einer Integration wie folgt Informationen zur Integration ein:

    • Geben Sie einen Integrationsnamen ein — Dabei handelt es sich um einen eindeutigen Namen, der als Verweis auf Ihre Integration verwendet werden kann.

    • Geben Sie eine Beschreibung ein — Diese beschreibt die Daten, die von der Quelle zum Ziel repliziert werden sollen.

    • Wählen Sie die DynamoDB-Quelltabelle — Es kann eine DynamoDB-Tabelle ausgewählt werden. Point-in-timeRecovery (PITR) muss für die Tabelle aktiviert sein. Es werden nur Tabellen mit einer Tabellengröße von bis zu 100 Tebibyte (TiB) angezeigt. Die DynamoDB-Quelltabelle muss verschlüsselt sein. Die Quelle muss außerdem über eine Ressourcenrichtlinie mit autorisierten Prinzipalen und Integrationsquellen verfügen. Wenn diese Richtlinie nicht korrekt ist, wird Ihnen die Option Fix it for me angezeigt.

    • Wählen Sie das Amazon Redshift-Ziel-Data Warehouse — Das Data Warehouse kann ein von Amazon Redshift bereitgestellter Cluster oder eine Redshift Serverless-Arbeitsgruppe sein. Wenn sich Ihr Ziel-Amazon Amazon Redshift im selben Konto befindet, können Sie das Ziel auswählen. Wenn sich das Ziel in einem anderen Konto befindet, geben Sie den Redshift Data Warehouse-ARN an. Das Ziel muss über eine Ressourcenrichtlinie mit autorisierten Prinzipalen und einer Integrationsquelle verfügen und der enable_case_sensitive_identifier Parameter muss auf true gesetzt sein. Wenn Sie nicht über die richtigen Ressourcenrichtlinien auf dem Ziel verfügen und sich Ihr Ziel im selben Konto befindet, können Sie die Option Fix it for me auswählen, um die Ressourcenrichtlinien beim Erstellen der Integration automatisch anzuwenden. Wenn sich Ihr Ziel in einem anderen befindet AWS-Konto, müssen Sie die Ressourcenrichtlinie manuell auf das Amazon Redshift Redshift-Warehouse anwenden. Wenn in Ihrem Amazon Redshift Redshift-Ziel-Data Warehouse nicht die richtige Parametergruppenoption enable_case_sensitive_identifier konfiguriert isttrue, können Sie die Option Fix it for me auswählen, um diese Parametergruppe automatisch zu aktualisieren und das Warehouse während des Integrationsprozesses neu zu starten.

    • Geben Sie bis zu 50 Tag-Schlüssel und einen optionalen Wert ein, um zusätzliche Metadaten zur Integration bereitzustellen. Weitere Informationen finden Sie unter Tag-Ressourcen in Amazon Redshift.

    • Wählen Sie Verschlüsselungsoptionen — Um die Integration zu verschlüsseln. Weitere Informationen finden Sie unter Verschlüsselung von DynamoDB-Integrationen mit einem vom Kunden verwalteten Schlüssel.

      Wenn Sie die Integration verschlüsseln, können Sie auch zusätzliche Verschlüsselungskontexte hinzufügen. Weitere Informationen finden Sie unter Verschlüsselungskontext.

  3. Es wird eine Übersichtsseite angezeigt, auf der Sie DynamoDB-Integration erstellen auswählen können.

  4. Es wird eine Fortschrittsseite angezeigt, auf der Sie den Fortschritt der verschiedenen Aufgaben zur Erstellung der Zero-ETL-Integration verfolgen können.

  5. Nachdem die Integration erstellt und aktiv ist, wählen Sie auf der Detailseite der Integration die Option Mit Datenbank Connect aus. Als Ihr Amazon Redshift Data Warehouse zum ersten Mal erstellt wurde, wurde auch eine Datenbank erstellt. Sie müssen eine Verbindung zu einer beliebigen Datenbank in Ihrem Ziel-Data Warehouse herstellen, um eine weitere Datenbank für die Integration zu erstellen. Stellen Sie auf der Seite Mit Datenbank verbinden fest, ob Sie eine aktuelle Verbindung verwenden können, und wählen Sie eine Authentifizierungsmethode aus. Geben Sie je nach Ihrer Authentifizierungsmethode Informationen ein, um eine Verbindung zu einer vorhandenen Datenbank in Ihrem Ziel herzustellen. Diese Authentifizierungsinformationen können den Namen der vorhandenen Datenbank (in der Regeldev) und den Datenbankbenutzer enthalten, der bei der Erstellung der Datenbank mit dem Amazon Redshift Data Warehouse angegeben wurde.

  6. Nachdem Sie mit einer Datenbank verbunden sind, wählen Sie Datenbank aus Integration erstellen, um die Datenbank zu erstellen, die die Daten aus der Quelle empfängt. Wenn Sie die Datenbank erstellen, geben Sie die Integrations-ID, den Data Warehouse-Namen und den Datenbanknamen an.

  7. Sobald der Integrationsstatus und die Zieldatenbank angegeben sindActive, beginnen die Daten mit der Replikation von Ihrer DynamoDB-Tabelle in die Zieltabelle. Wenn Sie der Quelle Daten hinzufügen, werden sie automatisch in das Amazon Redshift Redshift-Ziel-Data Warehouse repliziert.

IAM-Richtlinie für die Arbeit mit DynamoDB Zero-ETL-Integrationen

Wenn Sie Zero-ETL-Integrationen erstellen, müssen Ihre Anmeldedaten sowohl für DynamoDB- als auch für Amazon Redshift Redshift-Aktionen sowie für die Ressourcen, die als Quellen und Ziele der Integration verwendet werden, berechtigt sein. Im Folgenden finden Sie ein Beispiel, das die erforderlichen Mindestberechtigungen veranschaulicht.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:ListTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "dynamodb:GetResourcePolicy", "dynamodb:PutResourcePolicy", "dynamodb:UpdateContinuousBackups" ], "Resource": [ "arn:aws:dynamodb:<region>:<account>:table/my-ddb-table" ] }, { "Sid": "AllowRedshiftDescribeIntegration", "Effect": "Allow", "Action": [ "redshift:DescribeIntegrations" ], "Resource": "*" }, { "Sid": "AllowRedshiftCreateIntegration", "Effect": "Allow", "Action": "redshift:CreateIntegration", "Resource": "arn:aws:redshift:<region>:<account>:integration:*" }, { "Sid": "AllowRedshiftModifyDeleteIntegration", "Effect": "Allow", "Action": [ "redshift:ModifyIntegration", "redshift:DeleteIntegration" ], "Resource": "arn:aws:redshift:<region>:<account>:integration:<uuid>" }, { "Sid": "AllowRedshiftCreateInboundIntegration", "Effect": "Allow", "Action": "redshift:CreateInboundIntegration", "Resource": "arn:aws:redshift:<region>:<account>:namespace:<uuid>" } ] }

Verschlüsselung von DynamoDB-Integrationen mit einem vom Kunden verwalteten Schlüssel

Wenn Sie AWS-eigener Schlüssel beim Erstellen einer DynamoDB-Zero-ETL-Integration einen benutzerdefinierten KMS-Schlüssel anstelle eines angeben, muss die Schlüsselrichtlinie dem Amazon Redshift Service Principal Zugriff auf die Aktion gewähren. CreateGrant Darüber hinaus muss sie dem Konto oder der Rolle des Anforderers die Erlaubnis geben, die Aktionen auszuführen. DescribeKey CreateGrant

Das folgende Beispiel für wichtige Richtlinienerklärungen zeigt, welche Berechtigungen in Ihrer Richtlinie erforderlich sind. Einige Beispiele enthalten Kontextschlüssel, um den Umfang der Berechtigungen weiter zu reduzieren.

Die folgende Richtlinienerklärung ermöglicht es dem Konto oder der Rolle des Anforderers, Informationen über einen KMS-Schlüssel abzurufen.

{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::{account-ID}:role/{role-name}" }, "Action":"kms:DescribeKey", "Resource":"*" }

Die folgende Richtlinienerklärung ermöglicht es dem Konto oder der Rolle des Antragstellers, einem KMS-Schlüssel eine Gewährung hinzuzufügen. Der kms:ViaServiceBedingungsschlüssel beschränkt die Verwendung des KMS-Schlüssels auf Anfragen von Amazon Redshift.

{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::{account-ID}:role/{role-name}" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:{context-key}":"{context-value}", "kms:ViaService":"redshift.{region}.amazonaws.com" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }

Die folgende Richtlinienerklärung ermöglicht es dem Amazon Redshift Service Principal, einem KMS-Schlüssel einen Grant hinzuzufügen.

{ "Effect":"Allow", "Principal":{ "Service":"redshift.amazonaws.com" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:{context-key}":"{context-value}", "aws:SourceAccount":"{account-ID}" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] }, "ArnLike":{ "aws:SourceArn":"arn:aws:*:{region}:{account-ID}:integration:*" } } }

Die folgende Richtlinienerklärung ermöglicht es dem Konto oder der Rolle des Anforderers, Informationen über einen KMS-Schlüssel abzurufen.

{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::{account-ID}:role/{role-name}" }, "Action":"kms:DescribeKey", "Resource":"*" }

Die folgende Richtlinienerklärung ermöglicht es dem Konto oder der Rolle des Antragstellers, einem KMS-Schlüssel eine Gewährung hinzuzufügen. Der kms:ViaServiceBedingungsschlüssel beschränkt die Verwendung des KMS-Schlüssels auf Anfragen von Amazon Redshift.

{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::{account-ID}:role/{role-name}" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:{context-key}":"{context-value}", "kms:ViaService":"redshift.{region}.amazonaws.com" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }

Die folgende Richtlinienerklärung ermöglicht es dem Amazon Redshift Service Principal, einem KMS-Schlüssel einen Grant hinzuzufügen.

{ "Effect":"Allow", "Principal":{ "Service":"redshift.amazonaws.com" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:{context-key}":"{context-value}", "aws:SourceAccount":"{account-ID}" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] }, "ArnLike":{ "aws:SourceArn":"arn:aws:*:{region}:{account-ID}:integration:*" } } }

Weitere Informationen finden Sie unter Erstellen einer Schlüsselrichtlinie im AWS Key Management Service -Entwicklerhandbuch.

Verschlüsselungskontext

Wenn Sie eine Zero-ETL-Integration verschlüsseln, können Sie Schlüssel-Wert-Paare als zusätzlichen Verschlüsselungskontext hinzufügen. Möglicherweise möchten Sie diese Schlüssel-Wert-Paare hinzufügen, um zusätzliche Kontextinformationen zu den zu replizierenden Daten hinzuzufügen. Weitere Informationen finden Sie unter Verschlüsselungskontext im AWS Key Management Service -Entwicklerhandbuch.

Amazon Redshift fügt zusätzlich zu den von Ihnen hinzugefügten Verschlüsselungskontextpaaren die folgenden Verschlüsselungskontextpaare hinzu:

  • aws:redshift:integration:arn - IntegrationArn

  • aws:servicename:id - Redshift

Dies reduziert die Gesamtzahl der Paare, die Sie hinzufügen können, von 8 auf 6 und trägt zur allgemeinen Zeichenbeschränkung der Grant-Beschränkung bei. Weitere Informationen finden Sie im AWS Key Management Service Developer Guide unter Using Grant Constraints.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.