Verbindung zu einer Autonomous Database-Instanz herstellen

Nachdem Sie Datenbankbenutzer erstellt haben, stellen Anwendungen und Tools mit Oracle Net Services (auch als SQL*Net bezeichnet) eine Verbindung zu autonomen Datenbanken her. Oracle Net Service ermöglicht Netzwerksessions zwischen Clientanwendungen und Oracle Database-Servern.

Wenn eine Netzwerksession aufgebaut wurde, fungiert Oracle Net Services als Datenkurier für die Clientanwendung und die Datenbank. Es baut die Verbindung zwischen der Clientanwendung und der Datenbank auf, erhält sie aufrecht und ermöglicht den Meldungsaustausch zwischen Anwendung und Datenbank.

Oracle Net Services unterstützt eine Vielzahl von Verbindungstypen für die Verbindung zu einer Autonomous Database-Instanz, darunter:

  • JDBC Thin Driver: Bei Java-Anwendungen ist der JDBC Thin Driver ein reiner Java-Treiber. Viele Anwendungen, einschließlich Oracle SQL Developer, unterstützen JDBC-Thin-Treiberverbindungen.

  • JDBC-OCI: das von Java-Sprachanwendungen verwendet wird. JDBC OCI fügt für Java-Anwendungen einen Layer über Oracle Call Interface hinzu. Die Oracle SQLcl-Befehlszeilenschnittstelle verwendet JDBC-OCI.

  • Oracle Call Interface (OCI): wird von vielen Anwendungen verwendet, die in C-Sprache geschrieben wurden. Beispiele, die Oracle Call Interface verwenden, sind Oracle-Utilitys wie "Oracle SQL*Plus", "SQL*Loader" und "Oracle Data Pump".

  • ODBC-Treiber: werden von auf Microsoft Windows ausgeführten Anwendungen verwendet, die in einem Layer über Oracle Call Interface (OCI) angeordnet sind.

Drittanbieterprodukte und benutzerdefinierte Anwendungen können jeden dieser Verbindungstypen verwenden.

Themen

Sichere Verbindungen zu Autonomous Database mit mTLS oder mit TLS

Verbindungen zu Autonomous Database werden entweder über das öffentliche Internet hergestellt, optional mit definierten Access Control-Regeln (ACLs) oder mit einem privaten Endpunkt in einem virtuellen Cloud-Netzwerk (VCN) in Ihrem Mandanten.

Wenn Sie eine Konfiguration für einen privaten Endpunkt angeben, ist nur Traffic aus dem angegebenen virtuellen Cloud-Netzwerk zulässig, und der Zugriff auf die Datenbank wird von allen öffentlichen IPs oder VCNs blockiert. Mit der Konfiguration eines privaten Endpunkts können Sie den gesamten Traffic zu und von der Datenbank aus dem öffentlichen Internet abhalten. Wenn bei einem privaten Endpunkt der öffentliche Zugriff mit Öffentlichen Zugriff zulassen aktiviert ist, weist die Instanz sowohl einen privaten Endpunkt als auch einen öffentlichen Endpunkt auf:

  • Mit dem privaten Hostnamen, der Endpunkt-URL und der privaten IP-Adresse können Sie eine Verbindung zur Datenbank über das VCN herstellen, in dem sich die Datenbank befindet.

  • Mit dem öffentlichen Hostnamen können Sie eine Verbindung zur Datenbank von bestimmten öffentlichen IP-Adressen oder von bestimmten VCNs herstellen, wenn diese VCNs so konfiguriert sind, dass sie über ein Servicegateway eine private Verbindung zu Autonomous Database herstellen.

Viele Anwendungen unterstützen mehrere Verbindungstypen, aber jeder Verbindungstyp zu Autonomous Database verwendet Zertifikatsauthentifizierung und TCPS-(Secure TCP-)Datenbankverbindung mit Standard-TLS 1.2. Dadurch wird sichergestellt, dass kein unautorisierter Zugriff auf Autonomous Database möglich und dass die Kommunikation zwischen Client und Server vollständig verschlüsselt und nicht abgefangen oder geändert werden kann.

Autonomous Database unterstützt standardmäßig gegenseitige TLS-(mTLS-)Verbindungen (verwenden Sie Port 1522, um eine Verbindung mit mTLS herzustellen). Sie können eine Autonomous Database-Instanz so konfigurieren, dass sowohl mTLS- als auch TLS-Verbindungen unterstützt werden (mithilfe von Port 1521 oder 1522 können Sie eine Verbindung zu TLS herstellen).

Für Clients, die TLS-Authentifizierung mit Autonomous Database verwenden, gibt es folgende Vorteile:

  • Bei TLS-Verbindungen müssen Sie kein Wallet herunterladen. Bei TLS-Verbindungen, die JDBC-Thin-Treiber mit JDK8 oder höher verwenden, ist kein Wallet erforderlich. Dazu gehören Verbindungen von Clients wie SQL Developer und der SQL-Befehlszeile (SQLcl).

  • Clients, die sich mit TLS verbinden, müssen sich keine Gedanken über die Wallet-Rotation machen. Die Wallet-Rotation ist eine reguläre Prozedur für mTLS-Verbindungen.

  • TLS-Verbindungen können schneller sein (weniger Verbindungslatenz). Die TLS-Authentifizierung kann im Vergleich zu mTLS eine geringere Verbindungslatenz bieten.

  • TLS- und mTLS-Verbindungen schließen sich nicht gegenseitig aus. Gegenseitige TLS-(mTLS-)Authentifizierung ist standardmäßig aktiviert und immer verfügbar. Wenn Sie die TLS-Authentifizierung aktivieren, können Sie entweder die mTLS- oder die TLS-Authentifizierung verwenden.

  • Durch die Verwendung der TLS-Authentifizierung wird die vollständig verschlüsselte End-to-End-Kommunikation zwischen einem Client und Autonomous Database nicht beeinträchtigt.

Weitere Informationen zum Abrufen der mTLS-Verbindungszeichenfolgen für Ihre Autonomous Database-Instanz finden Sie unter TNS-Namen und Verbindungszeichenfolgen für eine Autonomous Database-Instanz anzeigen.

Gegenseitige TLS-(mTLS-)Authentifizierung

Mit Mutual Transport Layer Security (mTLS) stellen Clients Verbindungen über eine TCPS-(Secure TCP-)Datenbankverbindung mit dem Standard TLS 1.2 und einem vertrauenswürdigen Client-Certificate-Authority-(CA-)Zertifikat her.

Bei der gegenseitigen Authentifizierung authentifizieren sich die Clientanwendung und Autonomous Database gegenseitig. Autonomous Database verwendet standardmäßig die mTLS-Authentifizierung. Verwenden Sie Port 1522, um eine Verbindung zu einer Autonomous Database-Instanz mit mTLS herzustellen (die Portzuweisung 1522 kann nicht geändert werden).

Für die gegenseitige TLS-Authentifizierung muss der Client ein vertrauenswürdiges Client-CA-Zertifikat herunterladen oder abrufen, um eine Verbindung zu einer Autonomous Database-Instanz herzustellen. Autonomous Database verwendet dann das Zertifikat zur Authentifizierung des Clients. Dadurch wird die Sicherheit erhöht, und es werden die Clients angegeben, die mit einer Autonomous Database-Instanz kommunizieren können.

Die Zertifizierungsauthentifizierung mit gegenseitigem TLS verwendet einen verschlüsselten Schlüssel, die in einem Wallet auf dem Client ( auf dem die Anwendung ausgeführt wird) und dem Server (auf dem der Datenbankservice in Autonomous Database ausgeführt wird) gespeichert ist. Der Schlüssel auf dem Client muss mit dem Schlüssel auf dem Server übereinstimmen, damit eine Verbindung hergestellt werden kann. Ein Wallet enthält eine Sammlung von Dateien, einschließlich des Schlüssels und anderer Informationen, mit denen eine Verbindung zur Autonomous Database-Instanz hergestellt werden kann. Die gesamte Kommunikation zwischen Client und Server wird verschlüsselt.

Um die Verbindung zur Autonomous Database-Instanz zu sichern, lädt ein Serviceadministrator die Clientzugangsdaten (Wallet-Dateien) aus Autonomous Database herunter. Wenn Sie kein Autonomous Database-Serviceadministrator sind, stellt Ihnen der Administrator die Clientzugangsdaten zur Verfügung. Weitere Informationen finden Sie unter Clientzugangsdaten (Wallets) herunterladen.

Die folgende Abbildung zeigt sichere Clientverbindungen zu Oracle Autonomous Database über das öffentliche Internet mit gegenseitigen TLS-Verbindungen. Wenn Sie die Datenbank so konfigurieren, dass private Endpunkte verwendet werden, wird das öffentliche Internet nicht verwendet, und die Verbindung verwendet einen privaten Endpunkt in einem virtuellen Cloud-Netzwerk (VCN) in Ihrem Mandanten.

Beschreibung von autonome-database.eps folgt
Beschreibung der Abbildung autonome-database.eps

Weitere Informationen zum Abrufen der mTLS-Verbindungszeichenfolgen für Ihre Autonomous Database-Instanz finden Sie unter TNS-Namen und Verbindungszeichenfolgen für eine Autonomous Database-Instanz anzeigen.

TLS-Authentifizierung

Mit Transport Layer Security (TLS) stellen Clients Verbindungen über eine TCPS-Datenbankverbindung (Secure TCP) mit dem Standard TLS 1.2 her. Ein Client verwendet seine Liste der vertrauenswürdigen Certificate Authoritys (CAs), um das CA-Root-Zertifikat des Servers zu validieren. Wenn die ausstellende CA vertrauenswürdig ist, prüft der Client, ob das Zertifikat authentisch ist.

Dadurch können der Client und Autonomous Database die verschlüsselte Verbindung herstellen, bevor Nachrichten ausgetauscht werden. Verwenden Sie Port 1521 oder 1522, um eine Verbindung zu einer Autonomous Database-Instanz mit TLS herzustellen (diese Portzuweisungen können nicht geändert werden).

Wenn Sie mit JDBC-Thin-Treiberclients, einschließlich Oracle SQL Developer und Oracle SQLcl, eine Verbindung zur TLS-Authentifizierung herstellen, müssen Sie kein Wallet herunterladen, um die Verbindung zur Autonomous Database-Instanz zu sichern. Mit der TLS-Authentifizierung kann der Client die Identität des Autonomous Database-Service prüfen, um eine sichere Kommunikation bereitzustellen.

Je nach Clienttyp wird eine TLS-Verbindung mit Autonomous Database wie folgt unterstützt:

  • Für Verbindungen mit JDBC-Thin-Treibern, die JDK8u162 oder höher verwenden, einschließlich Verbindungen zu Oracle SQL Developer und Oracle SQLcl, ist kein Wallet erforderlich.

  • Oracle Call Interface-(OCI-)Clients unterstützen die TLS-Authentifizierung ohne Wallet, wenn Sie die folgenden Clientversionen verwenden:

    • Oracle Instant Client/Oracle Database Client 19.13 - nur unter Linux x64

    • Oracle Instant Client/Oracle Database Client 19.14 (oder höher), 21.5 (oder höher) oder 23.1 (oder höher)

  • Wenn der Client eine Verbindung mit der verwalteten ODP.NET- oder ODP.NET-Coreversion 19.13 oder 21.4 (oder höher) mit TLS-Authentifizierung herstellt, kann der Client eine Verbindung herstellen, ohne ein Wallet bereitzustellen.

Voraussetzungen für den Netzwerkzugang für TLS-verbindungen sind vorhanden. Weitere Informationen finden Sie unter Voraussetzungen für den Netzwerkzugriff für TLS-Verbindungen.

Weitere Informationen zum Abrufen der TLS-Verbindungszeichenfolgen für Ihre Autonomous Database-Instanz finden Sie unter TNS-Namen und Verbindungszeichenfolgen für eine Autonomous Database-Instanz anzeigen.

Verbindung zu Autonomous Database über eine Firewall herstellen

Die meisten Unternehmen schützen Netzwerke und Geräte in einem Netzwerk mit einer Firewall. Eine Firewall steuert den eingehenden und abgehenden Netzwerkverkehr anhand von Regeln, die die Verwendung bestimmter Ports und den Zugriff auf bestimmte Computer (oder, genauer gesagt IP-Adressen oder Hostnamen) ermöglichen. Eine wichtige Funktion einer Firewall ist die Trennung zwischen internen Netzwerken und dem öffentlichen Internet.

Wenn Autonomous Database für den Zugriff über das öffentliche Internet konfiguriert ist, müssen Sie die Firewall so konfigurieren, dass der Zugriff auf Autonomous Database-Server möglich ist.

Um von hinter einer Firewall auf die Autonomous Database zuzugreifen, muss die Firewall die Verwendung des in der Datenbankverbindung angegebenen Ports zulassen, wenn eine Verbindung zu den Servern in der Verbindung hergestellt wird. Verwenden Sie Port 1522 für Autonomous Database-mTLS-Verbindungen (die Portnummer wird in der Verbindungszeichenfolge aus der Datei tnsnames.ora in der Datei credentials ZIP angezeigt). Beispiel: Der Wert port wird in der folgenden Datei tnsnames.ora angezeigt:

db2022adb_high = (description = ( 
                address=(protocol=tcps)
                (port=1522)
                (host=adb.example.oraclecloud.com))
                (connect_data=(service_name=example_high.adb.oraclecloud.com))
                (security=(ssl_server_dn_match=yes)))

Ihre Firewall muss den Zugriff auf Server innerhalb der Domain .oraclecloud.com über Port 1522 zulassen. Um eine Verbindung zu Autonomous Database herzustellen, müssen Sie je nach Netzwerkkonfiguration Ihrer Organisation möglicherweise einen Proxyserver für den Zugriff auf diesen Port verwenden, oder Sie müssen den Netzwerkadministrator bitten, diesen Port zu öffnen.

Informationen zu den öffentlichen IP-Adressbereichen in Oracle Cloud Infrastructure finden Sie unter IP-Adressbereiche. Sie müssen Traffic zu diesen CIDR-Blöcken zulassen, um den Zugriff auf eine Autonomous Database-Instanz auf einem öffentlichen Endpunkt sicherzustellen.

Application Continuity verwenden

Application Continuity maskiert Ausfälle von Endbenutzern und Anwendungen, indem die laufenden Arbeiten für betroffene Datenbanksessions nach Ausfällen wiederhergestellt werden. Application Continuity führt dieses Recovery unter der Anwendung aus, sodass der Ausfall der Anwendung als leicht verzögerte Ausführung angezeigt wird.

Hinweis

Application Continuity ist standardmäßig deaktiviert.

Weitere Informationen zu Application Continuity finden Sie unter Application Continuity in Autonomous Database verwenden.