Autorisieren von Amazon Redshift für den Zugriff auf AWS-Services in Ihrem Namen - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Autorisieren von Amazon Redshift für den Zugriff auf AWS-Services in Ihrem Namen

Für einige Amazon-Redshift-Funktionen ist es erforderlich, dass Amazon Redshift in Ihrem Namen auf andere AWS-Services zugreift. Beispielsweise können mit den Befehlen COPY und UNLOAD Daten unter Verwendung eines Amazon S3 Buckets in Ihren Amazon-Redshift-Cluster geladen bzw. entladen werden. Mit dem Befehl CREATE EXTERNAL FUNCTION kann eine AWS-Lambda-Funktion mithilfe einer skalaren benutzerdefinierten Lambda-Funktion (User-Defined Function, UDF) aufgerufen werden. Amazon Redshift Spectrum kann einen Datenkatalog in Amazon Athena oder verwenden AWS Glue. Damit Ihre Amazon-Redshift-Cluster in Ihrem Namen agieren können, stellen Sie ihnen Sicherheitsanmeldeinformationen bereit. Zur Bereitstellung von Sicherheitsanmeldeinformationen geben Sie am besten eine AWS Identity and Access Management (IAM)-Rolle an. Für COPY und UNLOAD können Sie temporäre Anmeldeinformationen angeben.

Benutzer benötigen programmgesteuerten Zugriff, wenn sie außerhalb der AWS-Managementkonsole mit AWS interagieren möchten. Die Vorgehensweise, um programmgesteuerten Zugriff zu gewähren, hängt davon ab, welcher Benutzertyp auf zugreift AWS.

Um Benutzern programmgesteuerten Zugriff zu gewähren, wählen Sie eine der folgenden Optionen.

Welcher Benutzer benötigt programmgesteuerten Zugriff? Bis Von

Mitarbeiteridentität

(Benutzer, die in IAM Identity Center verwaltet werden)

Verwenden Sie temporäre Anmeldeinformationen, um programmgesteuerte Anforderungen an die AWS CLI, AWS-SDKs oder AWS-APIs zu signieren.

Befolgen Sie die Anweisungen für die Schnittstelle, die Sie verwenden möchten.

IAM Verwenden Sie temporäre Anmeldeinformationen, um programmgesteuerte Anforderungen an die AWS CLI, AWS-SDKs oder AWS-APIs zu signieren. Folgen Sie den Anweisungen unter Verwenden temporärer Anmeldeinformationen mit AWS-Ressourcen im IAM-Benutzerhandbuch.
IAM

(Nicht empfohlen)

Verwenden Sie langfristige Anmeldeinformationen, um programmgesteuerte Anforderungen an die AWS CLI, AWS-SDKs oder AWS-APIs zu signieren.

Befolgen Sie die Anweisungen für die Schnittstelle, die Sie verwenden möchten.

Im folgenden Abschnitt erfahren Sie, wie Sie eine IAM-Rolle mit den entsprechenden Berechtigungen für den Zugriff auf andere AWS-Services erstellen. Sie müssen dazu auch die Rolle Ihrem Cluster zuweisen und den Amazon-Ressourcennamen (ARN) der Rolle angeben, wenn Sie den Amazon-Redshift-Befehl ausführen. Weitere Informationen finden Sie unter Autorisieren der Vorgänge COPY, UNLOAD, CREATE EXTERNAL FUNCTION und CREATE EXTERNAL SCHEMA mithilfe von IAM-Rollen.

Darüber hinaus kann ein Superuser bestimmten Benutzern und Gruppen die Berechtigung ASSUMEROLE erteilen, um Zugriff auf eine Rolle für COPY- und UNLOAD-Vorgänge zu gewähren. Weitere Informationen finden Sie unter GRANT im Datenbankentwicklerhandbuch zu Amazon Redshift.

Erstellen einer IAM-Rolle, um Ihrem Amazon-Redshift-Cluster Zugriff auf AWS-Services zu gewähren

Erstellen einer IAM-Rolle mit Berechtigungen

Gehen Sie wie folgt vor, um eine IAM-Rolle zu erstellen, die Ihrem Amazon-Redshift-Cluster die Kommunikation mit anderen AWS-Services für Sie ermöglicht. Die in diesem Abschnitt verwendeten Werte sind Beispiele. Sie können Werte basierend auf Ihren Anforderungen auswählen.

So erstellen Sie eine IAM-Rolle, um Amazon Redshift Zugriff auf AWS-Services zu gewähren
  1. Öffnen Sie die IAM-Konsole.

  2. Wählen Sie im Navigationsbereich Roles aus.

  3. Wählen Sie Create role (Rolle erstellen) aus.

  4. Wählen Sie AWS service und anschließend Redshift aus.

  5. Wählen Sie unter Select your use case (Auswahl Ihres Anwendungsfalls) Redshift - Customizable (Redshift - Anpassbar) und dann Next: Permissions (Weiter: Berechtigungen) aus. Die Seite Attach permissions policy (Berechtigungsrichtlinie anfügen) wird angezeigt.

  6. Zum Zugreifen auf Amazon S3 mithilfe von COPY können Sie beispielsweise AmazonS3ReadOnlyAccess und Anhängen verwenden. Zum Zugreifen auf Amazon S3 mit COPY oder UNLOAD empfehlen wir, verwaltete Richtlinien zu erstellen, die den Zugriff auf den gewünschten Bucket und das entsprechende Präfix beschränken. Für Lese- und Schreibvorgänge empfehlen wir, die minimalen Berechtigungen zu aktivieren und den Zugriff auf die Amazon S3 Buckets und Schlüsselpräfixe zu beschränken, die Amazon Redshift erfordert.

    Für Zugriff zum Aufrufen von Lambda-Funktionen für den Befehl CREATE EXTERNAL FUNCTION fügen Sie hinzu AWSLambdaRole.

    Für Redshift Spectrum, zusätzlich zum Zugriff auf Amazon S3, fügen Sie AWSGlueConsoleFullAccess oder AmazonAthenaFullAccess hinzu.

    Wählen Sie Next: Markierungen (Weiter: Markierungen).

  7. Die Seite Add tags (Tags hinzufügen) wird angezeigt. Sie können optional Tags hinzufügen. Klicken Sie auf Next: Review (Weiter: Prüfen).

  8. Geben Sie in Role name (Rollenname) einen Namen für die Rolle ein, z. B. RedshiftCopyUnload. Wählen Sie Create role (Rolle erstellen) aus.

  9. Die neue Rolle ist für alle Benutzer auf Clustern verfügbar, die diese Rolle verwenden. Um den Zugriff auf bestimmte Benutzer auf bestimmten Clustern oder auf Clustern in bestimmten Regionen zu beschränken, bearbeiten Sie das Vertrauensverhältnis für die Rolle. Weitere Informationen finden Sie unter Einschränken des Zugriffs auf IAM-Rollen.

  10. Weisen Sie die Rolle zu Ihrem Cluster zu. Sie können eine IAM-Rolle einem Cluster zuweisen, wenn Sie den Cluster erstellen, Sie können sie aber auch einem vorhandenen Cluster zuweisen. Weitere Informationen finden Sie unter Verknüpfen von IAM-Rollen mit Clustern.

    Anmerkung

    Um den Zugriff auf bestimmte Daten zu beschränken, verwenden Sie eine IAM-Rolle, die die minimal erforderlichen Berechtigungen gewährt.