Konfigurieren von 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.

Konfigurieren von Authentifizierung und SSL

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

Die Amazon-Redshift-JDBC-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 jeder Java-Version unterstützt werden, finden Sie unter Diagnose von TLS, SSL und HTTPS im Java Platform Group Product Management Blog.

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

Konfigurieren Sie die Amazon-Redshift-JDBC-Treiberversion 2.1 für die Authentifizierung Ihrer Verbindung gemäß den Sicherheitsanforderungen des Redshift-Servers, mit dem Sie eine Verbindung herstellen.

Sie müssen immer Ihren Benutzernamen und Ihr Passwort für Redshift angeben, um die Verbindung zu authentifizieren. Abhängig davon, ob SSL auf dem Server aktiviert und erforderlich ist, müssen Sie den Treiber möglicherweise auch für die Verbindung über SSL konfigurieren. Möglicherweise müssen Sie eine unidirektionale SSL-Authentifizierung verwenden, damit der Client (der Treiber selbst) die Identität des Servers überprüft.

Sie geben die Konfigurationsinformationen an den Treiber in der Verbindungs-URL an. Weitere Informationen zur Syntax der Verbindungs-URL finden Sie unter Erstellen der Verbindungs-URL.

SSL gibt TLS/SSL an, sowohl Transport Layer Security als auch Secure Sockets Layer. Der Treiber unterstützt in der Branche übliche Versionen von TLS/SSL.

Nur mit Benutzername und Passwort

Wenn der Server, mit dem Sie eine Verbindung herstellen, kein SSL verwendet, 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. Legen Sie die Eigenschaft PWD auf das Passwort fest, das Ihrem Redshift-Benutzernamen entspricht.

Verwenden von SSL ohne Identitätsüberprüfung

Wenn der Server, zu dem Sie eine Verbindung herstellen, SSL verwendet, aber keine Identitätsüberprüfung erfordert, können Sie den Treiber so konfigurieren, dass er eine nicht validierende SSL-Factory verwendet.

So konfigurieren Sie eine SSL-Verbindung ohne Identitätsprüfung
  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.

Verwenden einer unidirektionalen SSL-Authentifizierung

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

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

So konfigurieren Sie die unidirektionale SSL-Authentifizierung
  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 SSL auf true fest.

  4. Legen Sie die SSL-RootCert Eigenschaft auf den Speicherort Ihres Stammzertifizierungsstellenzertifikats fest.

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

    • Um ein Serverzertifikat anzugeben, legen Sie die SSL-RootCert Eigenschaft auf den vollständigen Pfad des Zertifikats fest.

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

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

      2. Geben Sie das - TrustStore und -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, legen Sie die Eigenschaft SSLMode auf verify-ca fest.

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

Konfigurieren der IAM-Authentifizierung

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

Weitere Informationen zur IAM-Authentifizierung finden Sie unter Identity and Access Management in Amazon Redshift.

Verwenden Sie für die Verwendung der IAM-Authentifizierung eines der folgenden Verbindungszeichenfolgenformate:

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 IAM-Authentifizierung verwenden, können Sie zusätzliche erforderliche oder optionale 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 Datei mit den AWS Anmeldeinformationen 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 Amazon-EC2-Instance ausführen, die einer IAM-Rolle zugeordnet ist, können Sie eine Verbindung mit den Anmeldeinformationen des Instance-Profils herstellen.

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

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

Verwenden von Anmeldeinformationsanbietern

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

  • Active Directory Federation Service (ADFS)

  • JSON Web Tokens (JWT) Service

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

  • Okta Service

  • PingFederate Service

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

Wenn Sie einen dieser Services verwenden, muss die Verbindungs-URL 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-Benutzername, mit dem Sie eine Verbindung herstellen.

  • SSL_Insecure – 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 Wert der Partner-SPID (Service-Provider-ID). Wird nur für verwendet PingFederate.

Wenn Sie ein Browser-Plug-In für einen dieser Dienste verwenden, kann die Verbindungs-URL auch Folgendes enthalten:

  • Login_URL – Die URL für die Ressource auf der Website des Identitätsanbieters, wenn die SAML- (Security Assertion Markup Language) oder Azure-AD-Services über ein Browser-Plug-In verwendet werden. 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 abzurufen, wenn die SAML- oder Azure-AD-Services über ein Browser-Plug-In verwendet werden.

  • IdP_Response_Timeout – Die Zeitspanne in Sekunden, die der Treiber auf die SAML-Antwort vom Identitätsanbieter wartet, wenn die SAML- oder Azure AD-Services über ein Browser-Plug-In verwendet werden.

Weitere Informationen zu Eigenschaften von Verbindungszeichenfolgen finden Sie unter Konfigurationsoptionen der JDBC-Treiberversion 2.1.