

 Amazon Redshift unterstützt UDFs ab Patch 198 nicht mehr die Erstellung von neuem Python. Das bestehende Python UDFs wird bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im [Blog-Posting](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Authentifizierung mit dem Spark-Connector
<a name="redshift-spark-connector-authentication"></a>

Das folgende Diagramm beschreibt die Authentifizierung zwischen Amazon S3, Amazon Redshift, dem Spark-Treiber und Spark-Executors.

![\[Dieses Diagramm stellt die Authentifizierung des Spark-Connectors dar.\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/images/spark-connector-authentication.png)


## Authentifizierung zwischen Redshift und Spark
<a name="redshift-spark-authentication"></a>

 Sie können den von Amazon Redshift bereitgestellten JDBC-Treiber Version 2.x verwenden, um durch die Angabe von Anmeldeinformationen mit dem Spark-Connector eine Verbindung mit Amazon Redshift herzustellen. Wenn Sie IAM verwenden möchten, [konfigurieren Sie Ihre JDBC-URL so, dass die IAM-Authentifizierung verwendet wird](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-configure-jdbc-odbc.html). Um von Amazon EMR oder aus eine Verbindung zu einem Redshift-Cluster herzustellen AWS Glue, stellen Sie sicher, dass Ihre IAM-Rolle über die erforderlichen Berechtigungen zum Abrufen temporärer IAM-Anmeldeinformationen verfügt. In der folgenden Liste werden alle Berechtigungen beschrieben, die Ihre IAM-Rolle benötigt, um Anmeldeinformationen abzurufen und Amazon-S3-Operationen auszuführen. 
+ [Redshift: GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html) (für bereitgestellte Redshift-Cluster)
+ [Redshift: DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) (für bereitgestellte Redshift-Cluster)
+ [Redshift: GetWorkgroup](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetWorkgroup.html) (für serverlose Amazon Redshift Redshift-Arbeitsgruppen)
+ [Redshift: GetCredentials](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetCredentials.html) (für serverlose Amazon Redshift Redshift-Arbeitsgruppen)
+ [s3: ListBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
+ [s3: GetBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html)
+ [s3: GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [s3: PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [s3: GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)

 Weitere Informationen zu finden Sie GetClusterCredentials unter [IAM-Richtlinien für GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources). 

Sie müssen außerdem sicherstellen, dass Amazon Redshift die IAM-Rolle während `COPY`- und `UNLOAD`-Operationen übernehmen kann.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "redshift.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Wenn Sie den aktuellen JDBC-Treiber verwenden, verwaltet der Treiber die Umstellung von einem selbstsignierten Amazon-Redshift-Zertifikat auf ein ACM-Zertifikat automatisch. Sie müssen jedoch [die SSL-Optionen für die JDBC-URL angeben](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-ssl-option). 

 Im Folgenden finden Sie ein Beispiel dafür, wie Sie die JDBC-Treiber-URL und `aws_iam_role` angeben, um eine Verbindung mit Amazon Redshift herstellen. 

```
df.write \
  .format("io.github.spark_redshift_community.spark.redshift ") \
  .option("url", "jdbc:redshift:iam://<the-rest-of-the-connection-string>") \
  .option("dbtable", "<your-table-name>") \
  .option("tempdir", "s3a://<your-bucket>/<your-directory-path>") \
  .option("aws_iam_role", "<your-aws-role-arn>") \
  .mode("error") \
  .save()
```

## Authentifizierung zwischen Amazon S3 und Spark
<a name="spark-s3-authentication"></a>

 Wenn Sie eine IAM-Rolle für die Authentifizierung zwischen Spark und Amazon S3 verwenden, nutzen Sie eine der folgenden Methoden: 
+ Das AWS SDK for Java versucht automatisch, AWS Anmeldeinformationen zu finden, indem es die von der AWSCredentials ProviderChain Default-Klasse implementierte Standard-Anmeldeinformationsanbieterkette verwendet. Weitere Informationen finden Sie unter [Verwenden der standardmäßigen Anbieterkette von Anmeldeinformationen](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default).
+ Sie können AWS Schlüssel über die [Hadoop-Konfigurationseigenschaften](https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-aws/src/site/markdown/tools/hadoop-aws/index.md) angeben. Wenn Ihre `tempdir`-Konfiguration beispielsweise auf ein `s3n://`-Dateisystem verweist, legen Sie die Eigenschaften `fs.s3n.awsAccessKeyId` und `fs.s3n.awsSecretAccessKey` in einer Hadoop-XML-Konfigurationsdatei fest oder rufen Sie `sc.hadoopConfiguration.set()` auf, um die globale Hadoop-Konfiguration von Spark zu ändern.

Wenn Sie beispielsweise das s3n-Dateisystem verwenden, fügen Sie Folgendes hinzu:

```
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```

Fügen Sie für das s3a-Dateisystem Folgendes hinzu:

```
sc.hadoopConfiguration.set("fs.s3a.access.key", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3a.secret.key", "YOUR_SECRET_ACCESS_KEY")
```

Wenn Sie Python verwenden, verwenden Sie die folgenden Operationen:

```
sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```
+ Codieren Sie die Authentifizierungsschlüssel in der `tempdir`-URL. Beispielsweise codiert die URI `s3n://ACCESSKEY:SECRETKEY@bucket/path/to/temp/dir` das Schlüsselpaar (`ACCESSKEY`, `SECRETKEY`).

## Authentifizierung zwischen Redshift und Amazon S3
<a name="redshift-s3-authentication"></a>

 Wenn Sie die Befehle COPY und UNLOAD in der Abfrage verwenden, müssen Sie Amazon S3 außerdem Zugriff auf Amazon Redshift gewähren, um Abfragen in Ihrem Namen auszuführen. [Autorisieren Sie dazu zunächst Amazon Redshift für den Zugriff auf andere AWS Services und autorisieren](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html) Sie dann die [COPY- und UNLOAD-Operationen](https://docs.aws.amazon.com/redshift/latest/mgmt/copy-unload-iam-role.html) mithilfe von IAM-Rollen. 

Als bewährte Methode empfehlen wir, einer IAM-Rolle Berechtigungsrichtlinien anzufügen und sie dann nach Bedarf Benutzern und Gruppen zuzuweisen. Weitere Informationen finden Sie unter [Identity and Access Management in Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

## Integration mit AWS Secrets Manager
<a name="redshift-secrets-manager-authentication"></a>

Sie können Ihren Redshift-Benutzernamen und Ihr Passwort aus einem gespeicherten Secret in AWS Secrets Manager abrufen. Wenn Sie Redshift-Anmeldeinformationen automatisch bereitstellen möchten, verwenden Sie den `secret.id`-Parameter. Weitere Informationen zum Erstellen eines Secrets für Redshift-Anmeldeinformationen Sie unter [Erstellen eines AWS Secrets Manager -Datenbank-Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/redshift/latest/mgmt/redshift-spark-connector-authentication.html)

**Anmerkung**  
 Danksagung: Diese Dokumentation enthält Beispielcode und Sprache, die von der [Apache Software Foundation](http://www.apache.org/) entwickelt wurden und unter der [Apache-2.0-Lizenz](https://www.apache.org/licenses/LICENSE-2.0) lizenziert sind. 