Konfiguration der Authentifizierung und SSL - Amazon Redshift

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.

Konfiguration der Authentifizierung und SSL

Um Daten vor unbefugtem Zugriff zu schützen, erfordern Amazon-Redshift-Datenspeicher, dass alle Verbindungen mit Benutzeranmeldeinformationen authentifiziert werden. Bei einigen Datenspeichern müssen auch Verbindungen über das Secure Sockets Layer (SSL) -Protokoll hergestellt werden, entweder mit oder ohne unidirektionale Authentifizierung.

Die Amazon Redshift JDBC Redshift-Treiberversion 2.1 bietet volle Unterstützung für diese Authentifizierungsprotokolle.

Die SSL Version, die der Treiber unterstützt, hängt von der JVM Version ab, die Sie verwenden. Informationen zu den SSL Versionen, die von den einzelnen Versionen von Java unterstützt werden, finden Sie unter Diagnosing TLS und HTTPS im Java Platform Group Product Management Blog. SSL

Die für die Verbindung verwendete SSL Version ist die höchste Version, die sowohl vom Treiber als auch vom Server unterstützt wird. Dies wird zum Zeitpunkt der Verbindung festgelegt.

Konfigurieren Sie den Amazon Redshift JDBC Redshift-Treiber Version 2.1 so, dass er Ihre Verbindung gemäß den Sicherheitsanforderungen des Redshift-Servers authentifiziert, zu dem Sie eine Verbindung herstellen.

Sie müssen immer Ihren Benutzernamen und Ihr Passwort für Redshift angeben, um die Verbindung zu authentifizieren. Je nachdem, ob sie auf dem Server aktiviert und erforderlich SSL ist, müssen Sie möglicherweise auch den Treiber konfigurieren, über den eine Verbindung hergestellt werden soll. SSL Oder Sie können die SSL unidirektionale Authentifizierung verwenden, sodass der Client (der Treiber selbst) die Identität des Servers überprüft.

Sie stellen dem Treiber die Konfigurationsinformationen in der Verbindung zur Verfügung. URL Weitere Hinweise zur Syntax der Verbindung URL finden Sie unterDie Verbindung aufbauen URL.

SSLsteht fürTLS/SSL, sowohl Transport Layer Security als auch Secure Sockets Layer. Der Treiber unterstützt Industriestandardversionen vonTLS/SSL.

Nur mit Benutzername und Passwort

Wenn der Server, zu dem Sie eine Verbindung herstellen, nicht verwendet wirdSSL, müssen Sie nur Ihren Redshift-Benutzernamen und Ihr Passwort angeben, um die Verbindung zu authentifizieren.

So konfigurieren Sie die Authentifizierung nur mit Ihrem Redshift-Benutzernamen und Passwort
  1. Legen Sie den Wert für die Eigenschaft UID auf Ihren Redshift-Benutzernamen fest, um auf den Amazon-Redshift-Server zuzugreifen.

  2. Stellen Sie die PWD Eigenschaft auf das Passwort ein, das Ihrem Redshift-Benutzernamen entspricht.

Verwendung SSL ohne Identitätsprüfung

Wenn der Server, zu dem Sie eine Verbindung herstellen, eine Identitätsprüfung verwendet, SSL aber keine Identitätsprüfung erfordert, können Sie den Treiber so konfigurieren, dass er eine werkseitige Version verwendet, die keine Überprüfung durchführt. SSL

Um eine SSL Verbindung ohne Identitätsprüfung zu konfigurieren
  1. Legen Sie den Wert für die Eigenschaft UID auf Ihren Redshift-Benutzernamen fest, um auf den Amazon-Redshift-Server zuzugreifen.

  2. Legen Sie die Eigenschaft PWD auf das Passwort fest, das Ihrem Redshift-Benutzernamen entspricht.

  3. Legen Sie die Eigenschaft SSLFactory auf com.amazon.redshift.ssl.NonValidatingFactory fest.

Verwendung der unidirektionalen Authentifizierung SSL

Wenn der Server, zu dem Sie eine Verbindung herstellen, ein Zertifikat verwendet SSL und über ein Zertifikat verfügt, können Sie den Treiber so konfigurieren, dass die Identität des Servers mithilfe der unidirektionalen Authentifizierung überprüft wird.

Für die unidirektionale Authentifizierung ist ein signiertes, vertrauenswürdiges SSL Zertifikat zur Überprüfung der Identität des Servers erforderlich. Sie können den Treiber so konfigurieren, dass er ein bestimmtes Zertifikat verwendet oder auf ein Zertifikat zugreift TrustStore , das das entsprechende Zertifikat enthält. Wenn Sie kein Zertifikat oder angeben TrustStore, verwendet der Treiber das Standard-Java TrustStore (normalerweise entweder jssecacerts odercacerts).

Um die unidirektionale Authentifizierung zu SSL konfigurieren
  1. Stellen Sie die UID Eigenschaft auf Ihren Redshift-Benutzernamen für den Zugriff auf den Amazon Redshift Redshift-Server ein.

  2. Stellen Sie die PWD Eigenschaft auf das Passwort ein, das Ihrem Redshift-Benutzernamen entspricht.

  3. Setzen Sie die SSL Eigenschaft auf true.

  4. Setzen Sie die SSLRootCert Eigenschaft auf den Speicherort Ihres Root-CA-Zertifikats.

  5. Wenn Sie kein Standard-Java verwenden TrustStores, führen Sie einen der folgenden Schritte aus:

    • Um ein Serverzertifikat anzugeben, setzen Sie die SSLRootCert Eigenschaft auf den vollständigen Pfad des Zertifikats.

    • Gehen Sie wie folgt vor TrustStore, um ein anzugeben:

      1. Verwenden Sie das Keytool-Programm, um dem Serverzertifikat, das Sie verwenden möchten TrustStore, das Serverzertifikat hinzuzufügen.

      2. Geben Sie das TrustStore und das Passwort an, das beim Starten der Java-Anwendung mit dem Treiber verwendet werden soll. Beispielsweise:

        -Djavax.net.ssl.trustStore=[TrustStoreName] -Djavax.net.ssl.trustStorePassword=[TrustStorePassword] -Djavax.net.ssl.trustStoreType=[TrustStoreType]
  6. Wählen Sie eine aus:

    • Um das Zertifikat zu validieren, setzen Sie die SSLMode Eigenschaft auf verify-ca.

    • Um das Zertifikat zu validieren und den Hostnamen im Zertifikat zu verifizieren, setzen Sie die SSLMode Eigenschaft auf verify-full.

Authentifizierung konfigurieren IAM

Wenn Sie mithilfe der IAM Authentifizierung eine Verbindung zu einem Amazon Redshift Redshift-Server herstellen, legen Sie die folgenden Eigenschaften als Teil Ihrer Datenquellen-Verbindungszeichenfolge fest.

Weitere Informationen zur IAM Authentifizierung finden Sie unterIdentity and Access Management in Amazon Redshift.

Verwenden Sie eines der folgenden Formate für Verbindungszeichenfolgen, um die IAM Authentifizierung zu verwenden:

Verbindungszeichenfolge Beschreibung

jdbc:redshift:iam:// [host]:[port]/[db]

Eine reguläre Verbindungszeichenfolge. Der Treiber leitet die ClusterID und die Region vom Host ab.

jdbc:redshift:iam:// [cluster-id]: [region]/[db]

Der Treiber ruft Hostinformationen unter Berücksichtigung der ClusterID und der Region ab.

jdbc:redshift:iam:// [host]/[db]

Der Treiber ist standardmäßig auf Port 5439 eingestellt und leitet die ClusterID und die Region vom Host ab. Erlauben Sie den Zugriff auf den ausgewählten Port, je nachdem, welchen Port Sie beim Erstellen, Ändern oder Migrieren des Clusters ausgewählt haben.

Angeben von Profilen

Wenn Sie die IAM Authentifizierung verwenden, können Sie alle zusätzlichen erforderlichen oder optionalen Verbindungseigenschaften unter einem Profilnamen angeben. Dadurch können Sie vermeiden, dass bestimmte Informationen direkt in die Verbindungszeichenfolge eingefügt werden. Sie geben den Profilnamen in der Verbindungszeichenfolge mithilfe der Eigenschaft Profile an.

Profile können der AWS Anmeldeinformationsdatei hinzugefügt werden. Das Standardverzeichnis für diese Datei ist: ~/.aws/credentials

Sie können den Standardwert ändern, indem Sie den Pfad in der folgenden Umgebungsvariablen festlegen: AWS_CREDENTIAL_PROFILES_FILE

Weitere Informationen über Profile finden Sie unter Arbeiten mit AWS -Anmeldeinformationen im AWS SDK for Java.

Verwenden von Anmeldeinformation eines Instance-Profils

Wenn Sie eine Anwendung auf einer EC2 Amazon-Instance ausführen, die einer IAM Rolle zugeordnet ist, können Sie mit den Anmeldeinformationen des Instance-Profils eine Verbindung herstellen.

Verwenden Sie dazu eines der IAM Verbindungszeichenfolgenformate in der obigen Tabelle und legen Sie die Verbindungseigenschaft dbuser auf den Amazon Redshift Redshift-Benutzernamen fest, mit dem Sie eine Verbindung herstellen.

Weitere Informationen zu Instance-Profilen finden Sie unter Access Management im IAM Benutzerhandbuch.

Verwenden von Anmeldeinformationsanbietern

Der Treiber unterstützt auch Plug-Ins für Anmeldeinformationen von den folgenden Services:

  • AWS IAMIdentity Center

  • Active Directory-Verbunddienst (ADFS)

  • JSONDienst für Web-Tokens (JWT)

  • Microsoft Azure Active Directory (AD) Service und Browser Microsoft Azure Active Directory (AD) Service

  • Okta Service

  • PingFederate Dienst

  • Browser SAML für SAML Dienste wie Okta, Ping oder ADFS

Wenn Sie einen dieser Dienste verwenden, URL muss die Verbindung die folgenden Eigenschaften angeben:

  • Plugin_Name – Der vollqualifizierte Klassenpfad für Ihre Anmeldeinformationsanbieter-Plug-In-Klasse.

  • IdP_Host: – Der Host für den Service, den Sie zur Authentifizierung bei Amazon Redshift verwenden.

  • IdP-Port – Der Port, auf den der Host für den Authentifizierungsdienst wartet. Nicht erforderlich für Okta.

  • User – Der Benutzername für den idp_host-Server.

  • Password – Das Passwort, das mit dem idp_host-Benutzernamen verknüpft ist.

  • DbUser— Der Amazon Redshift Redshift-Benutzername, mit dem Sie sich verbinden.

  • SSL_Unsicher — Gibt an, ob das IDP Serverzertifikat verifiziert werden soll.

  • Client_ID – Die Client-ID, die dem Benutzernamen im Azure-AD-Portal zugeordnet ist. Wird nur für Azure AD verwendet.

  • Client_Secret – Das Client-Secret, das der Benutzer-ID im Azure-AD-Portal zugeordnet ist. Wird nur für Azure AD verwendet.

  • IdP_Tenant— Die Azure-AD-Mandanten-ID für Ihre Amazon-Redshift-Anwendung. Wird nur für Azure AD verwendet.

  • App_ID – Die Okta-App-ID für Ihre Amazon-Redshift-Anwendung. Wird nur für Okta verwendet.

  • App_Name – Der optionale Okta-Appname für Ihre Amazon-Redshift-Anwendung. Wird nur für Okta verwendet.

  • Partner_ SPID — Der optionale Partnerwert SPID (Service Provider-ID). Wird nur für PingFederate verwendet.

  • Idc_Region — Der AWS-Region Ort, an dem sich die AWS IAM Identity Center-Instanz befindet. Wird nur für AWS IAM Identity Center verwendet.

  • Issuer_Url — Der Instanzendpunkt des AWS IAM Identity Center-Servers. Wird nur für AWS IAM Identity Center verwendet.

Wenn Sie ein Browser-Plugin für einen dieser Dienste verwenden, URL kann die Verbindung auch Folgendes beinhalten:

  • Login_ URL — URL Für die Ressource auf der Website des Identitätsanbieters, wenn Sie die Security Assertion Markup Language (SAML) oder Azure AD-Dienste über ein Browser-Plugin verwenden. Dieser Parameter ist erforderlich, wenn Sie ein Browser-Plug-In verwenden.

  • Listen_Port — Der Port, den der Treiber verwendet, um die SAML Antwort vom Identitätsanbieter abzurufenSAML, wenn er die Azure AD- oder AWS IAM Identity Center-Dienste über ein Browser-Plugin verwendet.

  • idp_response_timeout — Die Zeit in Sekunden, die der Treiber auf die SAML Antwort des Identitätsanbieters wartet, wenn er die Azure AD- oder Identity Center-Dienste über ein SAML Browser-Plugin verwendet. AWS IAM

Weitere Informationen zu Eigenschaften von Verbindungszeichenfolgen finden Sie unter Optionen für die Konfiguration der JDBC Treiberversion 2.1.