

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.

# Herstellen einer Verbindung zu Ihrem mithilfe der IAM-Authentifizierung und der AWS SDK für Python (Boto3)
<a name="UsingWithRDS.IAMDBAuth.Connecting.Python"></a>

Sie können wie im Folgenden beschrieben eine Verbindung zu einer mit Aurora MySQL oder Aurora PostgreSQL DB-Cluster herstellen. AWS SDK für Python (Boto3) 

**Voraussetzungen**  
Die folgenden Voraussetzungen gelten für die Verbindung mit Ihrem DB--Cluster mithilfe der IAM-Authentifizierung:
+ [Aktivieren und Deaktivieren der IAM-Datenbank-Authentifizierung](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung](UsingWithRDS.IAMDBAuth.DBAccounts.md)

Stellen Sie außerdem sicher, dass die importierten Bibliotheken im Beispielcode auf Ihrem System vorhanden sind.

**Beispiele**  
Die Codebeispiele verwenden Profile für freigegebene Anmeldeinformationen. [Informationen zur Angabe von Anmeldeinformationen finden Sie in der Dokumentation unter Anmeldeinformationen.](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html) AWS SDK für Python (Boto3) 

In den folgenden Beispielcodes wird gezeigt, wie Sie ein Authentifizierungstoken erzeugen und anschließend zum Verbinden mit einem DB-Cluster verwenden. 

Um dieses Codebeispiel auszuführen, benötigen Sie den [AWS SDK für Python (Boto3)](https://aws.amazon.com/sdk-for-python/), auf der AWS Site zu finden.

Ändern Sie die Werte der folgenden Parameter nach Bedarf.
+ `ENDPOINT` – Der Endpunkt des DB--Clusters, auf den Sie zugreifen möchten.
+ `PORT` – Die Nummer des Ports, der für die Verbindung mit dem DB--Cluster verwendet wird.
+ `USER` – Das Datenbankkonto, auf das Sie zugreifen möchten.
+ `REGION`— Die AWS Region, in der der ausgeführt wird
+ `DBNAME` – Die Datenbank, auf die Sie zugreifen möchten.
+ `SSLCERTIFICATE` – Der vollständige Pfad zum SSL-Zertifikat für Amazon Aurora

  Geben Sie für `ssl_ca` ein SSL-Zertifikat an. Zum Download eines SSL-Zertifikats siehe [Wird verwendet SSL/TLS , um eine Verbindung zu einer zu verschlüsseln](UsingWithRDS.SSL.md).

**Anmerkung**  
Sie können keinen benutzerdefinierten Route-53-DNS-Datensatz anstelle des DB-Cluster-Endpunkts verwenden, um das Authentifizierungstoken zu generieren.

Dieser Code stellt eine Verbindung mit einem Aurora MySQL DB-Cluster her.

Bevor Sie diesen Code ausführen, installieren Sie den PyMy SQL-Treiber, indem Sie den Anweisungen im [Python-Paketindex](https://pypi.org/project/PyMySQL/) folgen.

```
import pymysql
import sys
import boto3
import os

ENDPOINT="mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com"
PORT="3306"
USER="jane_doe"
REGION="us-east-1"
DBNAME="mydb"
os.environ['LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN'] = '1'

#gets the credentials from .aws/credentials
session = boto3.Session(profile_name='default')
client = session.client('rds')

token = client.generate_db_auth_token(DBHostname=ENDPOINT, Port=PORT, DBUsername=USER, Region=REGION)

try:
    conn =  pymysql.connect(auth_plugin_map={'mysql_clear_password':None},host=ENDPOINT, user=USER, password=token, port=PORT, database=DBNAME, ssl_ca='SSLCERTIFICATE', ssl_verify_identity=True, ssl_verify_cert=True)
    cur = conn.cursor()
    cur.execute("""SELECT now()""")
    query_results = cur.fetchall()
    print(query_results)
except Exception as e:
    print("Database connection failed due to {}".format(e))
```

Dieser Code stellt eine Verbindung mit einem Aurora PostgreSQL DB-Cluster her.

Bevor Sie diesen Code ausführen, installieren Sie `psycopg2`, indem Sie die Anweisungen in der [Psycopg-Dokumentation](https://pypi.org/project/psycopg2/) befolgen.

```
import psycopg2
import sys
import boto3
import os

ENDPOINT="postgresmycluster.cluster-123456789012.us-east-1.rds.amazonaws.com"
PORT="5432"
USER="jane_doe"
REGION="us-east-1"
DBNAME="mydb"

#gets the credentials from .aws/credentials
session = boto3.Session(profile_name='RDSCreds')
client = session.client('rds')

token = client.generate_db_auth_token(DBHostname=ENDPOINT, Port=PORT, DBUsername=USER, Region=REGION)

try:
    conn = psycopg2.connect(host=ENDPOINT, port=PORT, database=DBNAME, user=USER, password=token, sslrootcert="SSLCERTIFICATE")
    cur = conn.cursor()
    cur.execute("""SELECT now()""")
    query_results = cur.fetchall()
    print(query_results)
except Exception as e:
    print("Database connection failed due to {}".format(e))
```

Informationen dazu, wie Sie über einen Proxy eine Verbindung mit einem DB-Cluster herstellen, finden Sie unter [Mithilfe der IAM-Authentifizierung eine Verbindung zu einer Datenbank herstellen](rds-proxy-connecting.md#rds-proxy-connecting-iam).