Schritt 1: AWS-IAM-Benutzer und -Rolle erstellen
Sie müssen einen IAM-Benutzer und eine IAM-Rolle erstellen, die Kameleoon für den Zugriff auf Ihren Redshift-Cluster verwenden wird. Sie können diese in der AWS Management Console oder in der AWS CLI erstellen. Wir stellen Beispielbefehle für die AWS CLI bereit.1. Einen IAM-Benutzer erstellen
Verwenden Sie den folgenden Befehl, um einen dedizierten IAM-Benutzer für Kameleoon zu erstellen:aws iam create-user --user-name kameleoon_user
Generieren Sie als Nächstes einen Access Key für den kameleoon_user:
aws iam create-access-key --user-name kameleoon_user
Achten Sie darauf, die Felder AccessKeyId und SecretAccessKey aus dem von diesem Befehl zurückgegebenen JSON zu behalten, da Sie aufgefordert werden, diese Kameleoon bei der Einrichtung in der Kameleoon-Benutzeroberfläche bereitzustellen.
2. Eine IAM-Rolle erstellen
Erstellen Sie eine Rolle, die Kameleoon übernehmen kann, damit es mit Ihrem Redshift-Cluster interagieren kann. Verwenden Sie den folgenden Befehl, um die Rolle mit einer Inline-JSON-Trust-Policy zu erstellen:{account_id} durch Ihre AWS-Konto-ID.
Wenn Sie Redshift als Quelle verwenden, kann s3.amazonaws.com weggelassen werden. Wenn Sie Provisioned verwenden, kann redshift-serverless.amazonaws.com weggelassen werden.
Für Amazon Redshift als Ziel — S3 Redshift-Zugriffsrechte einer IAM-Rolle gewähren
Erstellen und hängen Sie eine S3-Rolle an, damit Kameleoon mit dem S3-Bucket Ihrer Wahl interagieren und Daten von S3 nach Redshift kopieren kann.{s3_bucket_name}, {aws_region} und {account_id} durch Ihre Daten.
Alternativ verwenden Sie die vorhandenen Richtlinien AmazonS3FullAccess und AmazonRedshiftFullAccess.
Schritt 2: Berechtigungen für die Kameleoon-Rolle erteilen
Erteilen Sie der mit Kameleoon verknüpften IAM-Rolle die erforderlichen Berechtigungen, um die Interaktion mit Ihrer Redshift-Datenbank zu ermöglichen. Berechtigungen sollten auf SQL-Benutzerebene über SQL-Befehle erteilt werden. Der standardmäßige SQL-Benutzer, der für eine IAM-Rolle erstellt wird, heißtIAMR:{role_name}. Wenn die von Ihnen verwendete Rolle also kameleoon_role heißt, werden diese Befehle für den SQL-Benutzer IAMR:kameleoon_role ausgeführt.
Für Amazon Redshift als Quelle
1. Zugriff auf vorhandenes Schema gewähren
Gewähren Sie der Kameleoon IAM-Rolle Zugriff auf das relevante Schema und die Tabellen in Ihrer Redshift-Datenbank. Wenn Sie beispielsweise möchten, dass Kameleoon Daten aus Ihrer „users”-Tabelle im Schemaschema_containing_data aufnimmt, führen Sie die folgenden SQL-Befehle aus:
2. Kameleoon-Konfigurationsschema erstellen
Erstellen Sie ein neues Schema für Kameleoon-Konfigurationen und erteilen Sie die erforderlichen Berechtigungen:3. DML-Berechtigungen im Kameleoon-Konfigurationsschema erteilen
Erteilen Sie der Kameleoon-Rolle Berechtigungen zum Einfügen, Aktualisieren und Löschen von Daten im Schemakameleoon_configuration:
4. Standardberechtigungen für zukünftige Tabellen festlegen
Stellen Sie sicher, dass alle zukünftigen Tabellen, die im Schemakameleoon_configuration erstellt werden, der Kameleoon-Rolle automatisch die erforderlichen Berechtigungen erteilen:
Für Amazon Redshift als Ziel
1. Kameleoon-Ereignisschema erstellen
Erstellen Sie ein neues Schema für Kameleoon-Ereignisse und erteilen Sie die erforderlichen Berechtigungen:2. DML-Berechtigungen für das Kameleoon-Ereignisschema erteilen
Erteilen Sie der Kameleoon-Rolle Berechtigungen zum Einfügen, Aktualisieren und Löschen von Daten im Schemakameleoon_events:
3. Standardberechtigungen für zukünftige Tabellen festlegen
Stellen Sie sicher, dass alle zukünftigen Tabellen, die im Schemakameleoon_events erstellt werden, der Kameleoon-Rolle automatisch die erforderlichen Berechtigungen erteilen:
Schritt 3: Aktivieren und Konfigurieren der Integration in der Kameleoon-Benutzeroberfläche
Gehen Sie in Ihrem Kameleoon-Konto zur Seite Integrations und suchen Sie Amazon Redshift in der Liste.

- AWS Account ID: die eindeutige numerische Kennung Ihres Amazon Web Services-Kontos
- AWS Role name: der Name der AWS IAM-Rolle, die Sie für Kameleoon gemäß den Anweisungen in den vorherigen Abschnitten erstellt haben
- AWS Access key ID und Secret access key ID: Diese beiden Felder werden beim Erstellen von Anmeldedaten für die AWS-Rolle bereitgestellt. Wenn Sie die AWS-Befehlszeilenschnittstelle zum Erstellen dieses Schlüssels verwendet haben, wie in Schritt 1 dieses Artikels beschrieben, wurden diese beiden Werte in der JSON-Antwort auf diesen Befehl bereitgestellt.
Schritt 4: Sicherheitsgruppe für Redshift konfigurieren
Um Kameleoon den Zugriff auf Ihren Redshift-Cluster zu ermöglichen, autorisieren Sie Abfragen von den IP-Adressen von Kameleoon in Ihrer Sicherheitsgruppe. Dies kann in der AWS-Konsole erfolgen:- Sicherheitsgruppe identifizieren: Die Sicherheitsgruppe, die Ihrem Redshift-Cluster zugeordnet ist, kann im Redshift-Dashboard angezeigt werden, und Sie können von dort aus auf die Konfigurationsseite dieser Sicherheitsgruppe zugreifen. Wenn Sie Redshift Serverless verwenden, suchen Sie die Sicherheitsgruppe Ihres Workgroups.
- Eingehende Regeln hinzufügen
- Navigieren Sie zum Tab Inbound Rules.
- Klicken Sie auf Edit inbound rules > Add rule.
- Setzen Sie die folgenden Parameter:
- Type: Custom TCP rule
- Port range: 5439 (Standard-Redshift-Port)
- Source: Custom (fügen Sie die Kameleoon-IP-Adressen hinzu, die im Abschnitt zur Redshift-Integration in der Kameleoon-Benutzeroberfläche angezeigt werden)
Schritt 5: Workgroup-VPC für externe Verbindungen öffnen
Stellen Sie sicher, dass das mit Ihrem Redshift-Cluster verknüpfte VPC so konfiguriert ist, dass es externe Verbindungen zulässt. Zur Vereinfachung können Sie das VPC öffentlich zugänglich machen und sich ausschließlich auf die Sicherheitsgruppen-Einstellungen verlassen. Ein sichererer Ansatz besteht darin, die Network Access Control List Ihres VPC-Subnetzes fein abzustimmen. Ändern Sie hierzu die VPC-Einstellungen in Ihrer AWS-Konsole wie folgt:- Zugriff auf VPC-Einstellungen: Gehen Sie zum VPC-Dashboard in der AWS Management Console.
- Netzwerk-ACLs ändern:
- Navigieren Sie zum Abschnitt Network ACLs.
- Suchen Sie die mit Ihrem VPC verknüpfte ACL.
- Ändern Sie die eingehenden und ausgehenden Regeln, um den Datenverkehr von den IP-Adressen von Kameleoon auf Port 5439 zuzulassen.
- Routentabellen aktualisieren: Stellen Sie sicher, dass die mit Ihrem VPC verknüpften Routentabellen korrekt konfiguriert sind, um den Datenverkehr zu Ihrem Redshift-Cluster zu leiten.