Kerberos-Authentifizierung mit autonomer KI-Datenbank konfigurieren

Beschreibt, wie Kerberos zur Authentifizierung von Oracle Autonomous AI Database-Benutzern konfiguriert werden.

Kerberos-Authentifizierung

Sie können Oracle Autonomous AI Database so konfigurieren, dass das Netzwerkauthentifizierungsprotokoll Kerberos zur Authentifizierung von Datenbankbenutzern verwendet wird. Kerberos ist ein sicheres Netzwerkauthentifizierungsprotokoll. Es verwendet die Secret-Key-Kryptografie, um eine sichere Authentifizierung durch Bereitstellung einer Benutzer-zu-Server-Authentifizierung zu ermöglichen.

  • Die Oracle Autonomous AI Database-Unterstützung für Kerberos bietet die Vorteile von Single Sign-On und zentralisierter Authentifizierung von Oracle-Benutzern. Kerberos ist ein vertrauenswürdiges Drittanbieter-Authentifizierungssystem, das auf Shared Secrets basiert. Es wird davon ausgegangen, dass der Drittanbieter sicher ist. Das System bietet Single Sign-On-Funktionen, zentralisierten Kennwortspeicher, Datenbanklinkauthentifizierung und erweiterte PC-Sicherheit. Dies geschieht über einen Kerberos-Authentifizierungsserver.

  • Das Kerberos-System arbeitet mit Tickets. Ein Ticket ist eine Gruppe elektronischer Informationen, die einen Benutzer oder einen Service identifizieren. Mit einem Ticket werden Sie und Ihre Netzwerkzugriffsberechtigungen identifiziert.

  • Bei der Kerberos-basierten Authentifizierung senden Sie eine Anforderung eines Tickets transparent an ein Key Distribution Center (KDC). Das Key Distribution Center authentifiziert Sie und gewährt Ihnen ein Ticket für den Zugriff auf die Datenbank.

Komponenten des Kerberos-Authentifizierungssystems

Bietet einen Überblick über das Kerberos-Authentifizierungssystem.

  • Eine Realm stellt eine administrative Authentifizierungsdomain her. Jede Realm verfügt über eine eigene Kerberos-Datenbank, in der die Benutzer und Services für die betreffende administrative Domain enthalten sind.

  • Tickets werden vom Key Distribution Center (KDC) ausgestellt. Clients legen dem Datenbankserver Tickets vor, um die Authentizität ihrer Identität zu demonstrieren. Jedes Ticket hat ein Ablaufdatum und eine Verlängerungszeit.

  • In Keytabs sind langfristige Schlüssel für einen oder mehrere Principals gespeichert. Eine Keytab wird durch Aufrufen des Tools kadmin.local (für MIT-Schlüsselverteilungscenter) oder ktpass (für Active Directory-Schlüsselverteilungscenter) generiert.

  • Principals sind die Einträge in der Datenbank des Schlüsselverteilungscenters. Jeder Benutzer, jeder Host oder jeder Service erhält einen Principal. Ein Principal ist eine eindeutige Identität, der das Schlüsselverteilungscenter Tickets zuweisen kann.

  • Die Kerberos-Unterstützung in Autonomous AI Database verwendet die folgende Werte für verschiedene Komponenten, aus denen der Name eines Service-Principals besteht:

Komponente des Service-Principals Wert in autonomer KI-Datenbank
kinstance

Sie können diesen Wert aus dem Attribut PUBLIC_DOMAIN_NAME in der Spalte CLOUD_IDENTITY von V$PDBS abrufen. Dieser Wert unterscheidet sich vom vollqualifizierten Domainnamen (FQDN) für eine Datenbank auf einem privaten Endpunkt.

Verwenden Sie die folgende Abfrage, um die kinstance abzurufen:

SELECT json_value(cloud_identity, '$.PUBLIC_DOMAIN_NAME') "KINSTANCE" FROM v$pdbs;
Hinweis

Dieser Wert ist der Wert des Parameters host in der TNS-Verbindungszeichenfolge.
kservice

In der autonomen KI-Datenbank haben Sie zwei Optionen für den Wert kservice:

  • Datenbank-GUID verwenden: Wenn Sie keinen Kerberos-Servicenamen mit DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION angeben, wird die GUID der autonomen AI-Datenbankinstanz als Standardservicename verwendet. Wenn Sie die Keytab-Datei erstellen, verwenden Sie in diesem Fall die GUID als Wert für den Servicenamen.

    Da die Keytab-Datei im Standardfall einen Servicenamen verwendet, der eine instanzspezifische GUID ist, müssen Sie bei Verwendung des Standardservicenamens verschiedene Keytab-Dateien für jede Instanz der autonomen KI-Datenbank generieren.

    Verwenden Sie den folgenden Befehl, um die GUID abzurufen (Groß-/Kleinschreibung ist wichtig):

    SELECT GUID FROM v$pdbs;
  • Benutzerdefinierten Namen verwenden: Legen Sie den Servicenamen fest, wenn Sie dieselben Keytab-Dateien auf mehreren autonomen AI-Datenbankinstanzen verwenden möchten. Wenn Sie einen benutzerdefinierten Namen verwenden, müssen Sie keine anderen Keytab-Dateien für jede Instanz der autonomen KI-Datenbank erstellen und hochladen. Wenn Sie einen benutzerdefinierten Namen verwenden, müssen Sie den Parameter params kerberos_service_name mit DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION angeben. Die Angabe dieses Parameters ist nicht erforderlich, wenn Sie die GUID für den Servicenamen verwenden.

Nachdem Kerberos in Ihrer autonomen KI-Datenbankinstanz aktiviert wurde, zeigen Sie den Kerberos-Servicenamen mit der folgenden Abfrage an:

SELECT SYS_CONTEXT('USERENV', 'KERBEROS_SERVICE_NAME') FROM DUAL;
REALM Jede Realm, die von Ihrem Schlüsselverteilungscenter unterstützt wird. REALM muss immer in Großbuchstaben geschrieben werden.

Um die Kerberos-Authentifizierung für Ihre autonome AI-Datenbank zu aktivieren, müssen Sie die Kerberos-Konfigurationsdateien (krb.conf) und das Serviceschlüsseltabellendatei (v5srvtab) bereithalten. Weitere Informationen über diese Dateien und die entsprechenden Schritte finden Sie unter Kerberos-Authentifizierung konfigurieren.

Kerberos-Authentifizierung in autonomer KI-Datenbank aktivieren

Zeigt die Schritte zum Aktivieren der Kerberos-Authentifizierung in Ihrer autonomen AI-Datenbankinstanz an.

Um DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN besitzen.

So aktivieren Sie die Kerberos-Authentifizierung mit DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION:

Um die Kerberos-Authentifizierung für Ihre autonome AI-Datenbank zu aktivieren, benötigen Sie die Kerberos-Konfigurationsdateien krb.conf und die Serviceschlüsseltabellendatei v5srvtab. Weitere Informationen über diese Dateien und die erforderlichen Schritte zum Abrufen von Dateien finden Sie unter Kerberos-Authentifizierung konfigurieren.

  1. Kopieren Sie die Kerberos-Konfigurationsdateien krb.conf und v5srvtab in einen Bucket im Objektspeicher.

    Wenn Sie Oracle Cloud Infrastructure Object Storage verwenden, finden Sie unter Daten in Object Storage ablegen Details zum Hochladen von Dateien.

  2. Führen Sie die Prozedur DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION aus, und übergeben Sie eine Standort-URI mit dem JSON-Argument params. Sie müssen die Konfigurationsdateien krb.conf und v5srvtab im Object Storage-Speicherort ablegen, der im Parameter location_uri angegeben ist.

    Beispiel:

    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
           type     => 'KERBEROS',
           params   => JSON_OBJECT(
                   'location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                   'credential_name' value 'my_credential_name'));
    END;
    /
    Hinweis

    Oracle empfiehlt, die Kerberos-Konfigurationsdateien in einem privaten Bucket im Objektspeicher zu speichern.

    In diesem Beispiel ist namespace-string der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.

    Die credential_name, die Sie in diesem Schritt verwenden, sind die Zugangsdaten für den Objektspeicher.

    Das Erstellen von Zugangsdaten für den Zugriff auf den Oracle Cloud Infrastructure-Objektspeicher ist nicht erforderlich, wenn Sie Resource-Principal-Zugangsdaten aktivieren. Weitere Informationen finden Sie unter Resource Principal für den Zugriff auf Oracle Cloud Infrastructure-Ressourcen nutzen.

    Wenn die location_uri eine vorab authentifizierte URL ist, ist die Angabe einer credential_name nicht erforderlich.

    Dadurch wird ein Verzeichnisobjekt mit dem Namen KERBEROS_DIR in der Datenbank erstellt. Mit den Zugangsdaten werden die Kerberos-Konfigurationsdateien aus dem Speicherort des Objektspeichers in das Verzeichnisobjekt heruntergeladen.

    Sie können den Parameter params kerberos_service_name angeben, um einen Kerberos-Servicenamen anzugeben. Beispiel:

    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
           type     => 'KERBEROS',
           params   => JSON_OBJECT(
                   'location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                   'credential_name' value 'my_credential_name'
                   'kerberos_service_name' value 'oracle' ));
    END;
    /
  3. Nachdem Sie die Kerberos-Authentifizierung aktiviert hat, entfernen Sie die Konfigurationsdateien krb.conf und v5srvtab aus dem Objektspeicher. Sie können diese Dateien mit lokalen Objektspeichermethoden entfernen oder mit DBMS_CLOUD.DELETE_OBJECT aus dem Objektspeicher löschen.

Weitere Informationen zu Object Storage finden Sie unter Zu Oracle Cloud Infrastructure Object Storage navigieren und Bucket erstellen.

Weitere Informationen finden Sie unter Prozedur ENABLE_EXTERNAL_AUTHENTICATION.

Kerberos-Authentifizierung in autonomer KI-Datenbank deaktivieren

Zeigt die Schritte zum Deaktivieren der Kerberos-Authentifizierung für Ihre autonome AI-Datenbankinstanz an.

  1. Führen Sie die Prozedur DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION aus, um die Kerberos-Authentifizierung zu deaktivieren. Um die Prozedur ausführen zu können, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE für DBMS_CLOUD_ADMIN besitzen.
    BEGIN   
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /

    Dadurch wird die Kerberos-Authentifizierung (oder ein angegebenes externes Authentifizierungsschema) für Oracle Autonomous Database deaktiviert.

    Weitere Informationen finden Sie unter Prozedur DISABLE_EXTERNAL_AUTHENTICATION.

Hinweise zur Kerberos-Authentifizierung in autonomer KI-Datenbank

Enthält Hinweise zur Verwendung der Kerberos-Authentifizierung für autonome KI-Datenbank.

  • Wenn Sie die Kerberos-Authentifizierung für Ihre autonome KI-Datenbank aktivieren, können Sie weiterhin die kennwortbezogene Datenbankauthentifizierung für Ihre Datenbank verwenden.

  • Die Kerberos-Authentifizierung wird für folgende Tools nicht unterstützt:
    • Oracle Database API für MongoDB

    • Oracle REST Data Services

    • Oracle Machine Learning

    • APEX

    • Oracle Graph Studio

    • Oracle Database-Aktionen

  • Sie können die Kerberos-Authentifizierung aktivieren, um den ADMIN-Benutzer zu authentifizieren. Sie können die Funktion "Kennwort zurücksetzen" in der Oracle Cloud Infrastructure-Konsole verwenden, um das Kennwort des ADMIN-Benutzers zurückzusetzen und diesen Zugriff wiederherstellen, wenn eine beschädigte Schlüsseltabellendatei die Authentifizierung eines ADMIN-Benutzers nicht erfolgreich verläuft.

  • Der Standardwert für die maximale Uhrverschiebung in der autonomen KI-Datenbank beträgt 300 Sekunden (5 Minuten). Sie können den Standardwert für Uhrverschiebung nicht ändern.