

 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.

# Verwenden der Data API mit Weitergabe von vertrauenswürdigen Identitäten
<a name="data-api-trusted-identity-propagation"></a>

Als Amazon Redshift-Kontoadministrator können Sie Ihren Amazon Redshift Redshift-Cluster oder Ihre Arbeitsgruppe in integrieren AWS IAM Identity Center, was Ihnen hilft, den Zugriff Ihrer Mitarbeiter auf Amazon Redshift mit Single Sign-On zu verwalten. Weitere Informationen finden Sie unter [Einrichtung der AWS IAM Identity Center-Integration mit Amazon Redshift](redshift-iam-access-control-idp-connect-console.md). Die Amazon Redshift Data API unterstützt die Weitergabe von IAM Identity Center-Benutzeridentitäten an einen Amazon Redshift Redshift-Cluster oder eine Arbeitsgruppe und an andere Dienste, z. B. in der Kette. AWS Lake Formation Sie können die Daten-API einrichten und Abfragen durchführen, indem Sie die Schritte in [Access AWS Services](https://aws.amazon.com/blogs//security/access-aws-services-programmatically-using-trusted-identity-propagation/) programmatisch mithilfe von Trusted Identity Propagation befolgen.

Wenn Sie die Data API mithilfe einer IAM-Identity-Center-Benutzeridentität aus einer IAM-Rollensitzung mit verbesserter Identität aufrufen, können Sie nur mit demselben IAM-Identity-Center-Benutzer auf die resultierende Anweisung und das Ergebnis der Anweisung zugreifen. Der folgende AWS CLI Befehl ruft beispielsweise den `execute-statement` Vorgang zur Ausführung eines SQL-Befehls mit vertrauenswürdiger Identitätsverbreitung auf.

```
aws redshift-data execute-statement 
--sql "{{select current_user;}}" 
--cluster-id {{mycluster}}
--database {{dev}}
```

Der folgende AWS CLI Befehl ruft die `batch-execute-statement` Operation zur Ausführung von zwei SQL-Befehlen auf.

```
aws redshift-data batch-execute-statement 
--sqls  "{{select current_user;}}"  "{{select current_date;}}"
--cluster-id {{mycluster}}
--database {{dev}}
```

Für den Zugriff auf Anweisungen mit `cancel-statement`, `describe-statement`, `get-statement-result` und `get-statement-result-v2`, die über IAM-Rollensitzungen mit verbesserter Identität übermittelt wurden, müssen der IAM-Identity-Center-Benutzer und die IAM-Rolle mit den Anmeldeinformationen übereinstimmen, die für die Ausführung von `execute-statment` oder `batch-execute-statement` verwendet wurden. Mit dem folgenden AWS CLI Befehl werden beispielsweise die Ergebnisse einer SQL-Anweisung abgerufen.

```
aws redshift-data get-statement-result 
--id {{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}
```

Um Anweisungen aufzulisten, muss ein Parameter `cluster-identifier` oder `workgroup-name` angegeben werden, um sicherzustellen, dass der IAM-Identity-Center-Benutzer nur Zugriff auf die IAM-Identity-Center-Anwendungen von Amazon Redshift hat, denen er zugewiesen ist. Der folgende AWS CLI Befehl listet beispielsweise Anweisungen für einen bestimmten Cluster auf.

```
aws redshift-data list-statements
--cluster-identifier {{mycluster}}
```

Sie können auch die Data-API-Operationen aufrufen, die unter Verwendung der Weitergabe von vertrauenswürdigen Identitäten auf Datenbankobjekte in einem Cluster oder einer Arbeitsgruppe zugreifen. Dies umfasst die Operationen `list-databases`, `list-schemas`, `list-tables` und `describe-table`.

API-Aufrufe des IAM-Identity-Center-Benutzers können in AWS CloudTrail nachverfolgt werden. `onBehalfOf`In einem Abschnitt des CloudTrail Ereignisses werden die IAM Identity Center-Benutzer-ID und der Identitätsspeicher-ARN angezeigt. Das folgende Beispiel zeigt einen Ausschnitt eines CloudTrail Ereignisses, das den `onBehalfOf` Abschnitt mit der IAM Identity Center-Benutzer-ID von `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` und dem Identitätsspeicher-ARN von zeigt. `arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2`

```
{
            "eventVersion":"1.10",
            "userIdentity":{
            "type":"AssumedRole",
            ...
            },
            "onBehalfOf":{
            "userId":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "identityStoreArn":"arn:aws:identitystore::123456789012:identitystore/d-9067bc44d2"
            }
            },
            "eventTime":"2025-01-13T04:46:27Z",
            "eventSource":"redshift-data.amazonaws.com",
            "eventName":"ExecuteStatement",
            "awsRegion":"us-east-1"
            }
```

Sie können den folgenden SQL-Befehl ausführen, um die vom IAM-Identity-Center-Benutzer eingereichte Abfrage zu überprüfen. In diesem Beispiel lautet die in Identity Center registrierte E-Mail-Adresse `username@example.com`.

```
SELECT
    h.query_id,
    h.database_name,
    h.status,
    h.query_text,
    u.usename,
    h.start_time,
    h.end_time
FROM
    sys_query_history h
LEFT JOIN
    pg_user u
ON
    h.user_id = u.usesysid
where u.usename='awsidc:{{username@example.com}}'    
ORDER BY
    h.start_time DESC;
```