Externe Authentifizierung mit Datenbanktools verwenden
Autonomous AI Database erweitert die externe Authentifizierungsunterstützung auf Datenbanktools und zugehörige Tools mit Identitätsprovidern wie Oracle Cloud Infrastructure IAM, Microsoft Entra ID, Google Cloud Platform, AWS Cognito und Okta. Dadurch wird ein sicherer Single Sign-On-(SSO-)Zugriff auf Database Actions ohne herkömmliche Kennwörter für global identifizierte Datenbankbenutzer ermöglicht.
Externe Authentifizierung mit Datenbankaktionen
Sie können sich bei der Toolschnittstelle mit derselben externen Identität authentifizieren, die für Datenbanksessions verwendet wird. Die Konfiguration des Identitätsproviders für Datenbanktools ist von der Aktivierung der externen Authentifizierung in der Datenbank getrennt. Die autonome KI-Datenbank speichert die für die Authentifizierung erforderliche Identitätsproviderkonfiguration in der Datenbank mit sensiblen Werten, wie dem Client Secret verschlüsselt. Diese Konfiguration umfasst den Identitätsprovidernamen, die Client-ID, das Client Secret und die OpenID Connect-Discovery-URL.
Bei der Anmeldung verwenden die Tools diese Konfiguration, um Sie an den entsprechenden Identitätsprovider umzuleiten und Authentifizierungstoken zu validieren, die für extern authentifizierte Benutzer ausgegeben wurden.
Hinweis
Hinweis: Autonomous AI Database unterstützt die externe Authentifizierung für die folgenden integrierten Tools in Database Actions - SQL Developer und Data Studio. Die Datenbank unterstützt keine externe Authentifizierung für Tools wie APEX und Oracle Machine Learning.
Voraussetzungen
Stellen Sie sicher, dass Sie mit einem Benutzeraccount mit ADMIN-Berechtigungen auf die Instanz der autonomen KI-Datenbank zugreifen können.
Um die externe Authentifizierung mit Datenbanktools zu verwenden, müssen Sie:
- Externe Authentifizierung für Datenbankaktionen aktivieren
- Globale Datenbankbenutzer erstellen
- Identitätsproviderinformationen mit der Datenbank registrieren
- Auf Database Actions mit externen Zugangsdaten zugreifen
Führen Sie die oben genannten Schritte für jeden unterstützten Provider aus. Die providerspezifischen Unterschiede beschränken sich auf die Aktivierungsprozedur auf Datenbankebene, die globale Benutzermappingsyntax und auf die Angabe, ob die Metadaten des Datenbanktools-Identitätsproviders bei DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP registriert werden müssen. Wenn Sie die autonome KI-Datenbank mit dem IdP aktivieren, um die Umleitungs-URI abzurufen, müssen Sie die URL für die Ausnahmeliste angeben. Für Datenbanktools verwenden Sie das Format https://<adb_tools_console_link_base_url>/adb/auth/v1/connect/<idp_name>/callback, wobei die <idp_name>-Werte je nach Provider "azure_ad", "aws", "gcp" und "okta" lauten.
Hinweis
Hinweis: Sie finden <adb_tools_fqdn> in der Konsole für die autonome KI-Datenbank, indem Sie die Tools-URL prüfen.
Schrittanforderungen für Mitarbeiter
Verwenden Sie diese Tabelle, um zu bestimmen, welche Einrichtungsschritte für Mitarbeiter gelten, bevor Sie die detaillierten Schritte ausführen.
| Provider | Externe Authentisierung aktivieren | IDP registrieren |
|---|---|---|
| OCI-IAM | Erforderlich, wenn nicht aktiviert | Kein Pflichtfeld |
| Microsoft Entra-ID (Azure) | Erforderlich | Erforderlich |
| AWS Cognito | Mit IDP konfigurieren | Erforderlich |
| Google Cloud Platform (GCP) | Mit IDP konfigurieren | Erforderlich |
| Okta | Mit IDP konfigurieren | Erforderlich |
Mitarbeiterspezifische Hinweise
| Provider | Hinweise und Ausnahmen |
|---|---|
| OCI-IAM | Verwenden Sie DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION mit type => 'OCI_IAM'. Führen Sie CREATE_IDP nicht für OCI IAM aus. Ordnen Sie Benutzer oder Gruppen IAM_PRINCIPAL_NAME oder IAM_GROUP_NAME zu. |
| Microsoft Entra-ID (Azure) | Bevor Sie die Schritte zur Datenbankkonfiguration ausführen, muss ein Microsoft Entra ID-Administrator das Azure-seitige Setup abschließen. Registrieren Sie die Instanz der autonomen KI-Datenbank beim Microsoft Entra ID-Mandanten, geben Sie die Anwendungs-ID-URI und den Geltungsbereich an, erstellen Sie Anwendungsrollen, wenn Sie gemeinsame Zuordnungen verwenden, und weisen Sie die erforderlichen Benutzer, Gruppen oder Anwendungen zu. Siehe Microsoft Entra ID-Authentifizierung in autonomer KI-Datenbank aktivieren. Verwenden Sie dann DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION mit type => 'AZURE_AD' und den Mandanten-/Anwendungswerten. Registrieren Sie Datenbanktoolmetadaten mit CREATE_IDP, indem Sie die mandantenspezifische OpenID Connect-Discovery-URL verwenden. Ordnen Sie Benutzer, Clients oder Anwendungsrollen mit AZURE_USER oder AZURE_ROLE zu. |
| AWS Cognito | Konfigurieren Sie den Cognito-Benutzerpool, den App-Client, die Domain sowie die Benutzer- oder Gruppenmitgliedschaft in AWS. Registrieren Sie Datenbanktoolmetadaten mit CREATE_IDP, indem Sie die Cognito user-pool OpenID Connect-Discovery-URL verwenden. Ordnen Sie Benutzer mit AWS_USER und Shared-Role-Zuordnungen mit AWS_ROLE zu. |
| Google Cloud Platform (GCP) | Konfigurieren Sie den OAuth-Einwilligungsbildschirm, die OAuth-Clientzugangsdaten, die Umleitungs-URI und die Benutzerzuweisung in Google Cloud. Registrieren Sie Datenbanktoolmetadaten mit der Google OpenID Connect-Discovery-URL bei CREATE_IDP. Ordnen Sie Benutzer mit GCP_USER zu. |
| Okta | Weisen Sie die Anwendung den Okta-Benutzern oder -Gruppen zu, die sich anmelden sollen. Wenn die Gruppenzuordnung verwendet wird, stellen Sie den Gruppengeltungsbereich und den Gruppenanspruch auf dem Autorisierungsserver bereit. Registrieren Sie Datenbanktoolmetadaten mit CREATE_IDP, indem Sie die entsprechende Okta OpenID Connect-Discovery-URL verwenden. Ordnen Sie Benutzer OKTA_USER und Gruppen OKTA_GROUP zu. |
Externe Authentifizierung für Datenbankaktionen aktivieren
Aktivieren Sie als ADMIN-Benutzer die externe Authentifizierung in der autonomen KI-Datenbank. Dadurch kann die Datenbank Sie über unterstützte externe Identitätsprovider authentifizieren.
Hinweis
Hinweis: Die Option zur Verwendung der externen Authentifizierung in Database Actions ist nur verfügbar, wenn die externe Authentifizierung für die autonome KI-Datenbank aktiviert wurde. Wenn kein externer Authentifizierungsprovider aktiviert wurde, wird die Option nicht angezeigt.
Bevor Sie die externe Authentifizierung aktivieren, prüfen Sie, ob bereits ein externes Authentifizierungsschema aktiviert ist:
SELECT name, value
FROM v$parameter
WHERE name = 'identity_provider_type';Wenn identity_provider_type OCI_IAM oder AZURE_AD ist, ist die externe Authentifizierung bereits für diesen Provider aktiviert, und für die externe Datenbankauthentifizierung ist keine Änderung erforderlich.
Um die externe Authentifizierung mit Datenbanktools zu verwenden, müssen Sie die Konfiguration der Datenbanktools dennoch abschließen, indem Sie die global identifizierten Datenbankbenutzer erstellen oder verifizieren, die Identitätsproviderinformationen bei DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP registrieren und die erforderlichen Datenbankaktionen und Webzugriffsberechtigungen bereitstellen.
Wenn ein anderer externer Authentifizierungsprovider aktiviert ist, verwenden Sie force => TRUE nur, wenn Sie die aktuelle Konfiguration der externen Authentifizierung ersetzen möchten.
Wenn Sie force => TRUE verwenden, wird der derzeit aktivierte externe Authentifizierungsprovider deaktiviert, und vorhandene Benutzer oder Anwendungen, die davon abhängig sind, können unterbrochen werden.
Weitere Informationen finden Sie unter Identity and Access Management-(IAM-)Authentifizierung in autonomer KI-Datenbank aktivieren.
Hinweis
Hinweis: Es kann jeweils nur ein externer Authentifizierungsprovider aktiviert werden.
Beispiel: Externe Authentifizierung mit OCI IAM aktivieren
Als ADMIN-Benutzer können Sie die externe Oracle Cloud Infrastructure IAM-Authentifizierung in der autonomen KI-Datenbank aktivieren:
BEGIN
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'OCI_IAM',
force => TRUE
);
END;
/Diese DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION-Prozedur aktiviert die externe Oracle Cloud Infrastructure IAM-Authentifizierung für die Datenbank. Er verwendet nicht den Identitätsprovidernamen, die Client-ID, das Client Secret oder die OpenID Connect-Discovery-URL.
Die Prozedur ENABLE_EXTERNAL_AUTHENTICATION konfiguriert die Datenbank so, dass sie einem unterstützten externen Identitätsprovider vertraut. Die Prozedur hängt vom verwendeten Identitätsprovider ab.
Beispiel: Externe Authentifizierung mit Microsoft Entra ID aktivieren
Bevor Sie dieses Beispiel ausführen, müssen Sie das Microsoft Entra ID-Setup in Azure abschließen und die Mandanten-ID, Anwendungs-ID und Anwendungs-ID-URI aus der Azure-Anwendungsregistrierung erfassen. Wenn Sie Anwendungsrollenzuordnungen verwenden, erstellen Sie die Anwendungsrollen, und weisen Sie die erforderlichen Benutzer, Gruppen oder Anwendungen in der Microsoft Entra-ID zu. Siehe Oracle AI Database-Instanz mit einem Microsoft Entra ID-Mandanten registrieren und Anwendungsrollen in Microsoft Entra ID verwalten.
Aktivieren Sie als ADMIN-Benutzer die externe Microsoft Entra ID-Authentifizierung in der autonomen KI-Datenbank:
BEGIN
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'AZURE_AD',
params => JSON_OBJECT(
'tenant_id' VALUE 'tenant-id',
'application_id' VALUE 'application-id',
'application_id_uri' VALUE 'application-id-uri'),
force => TRUE
);
END;
/Stellen Sie für Tools wie Database Actions und Data Studio sicher, dass extern authentifizierte globale Datenbankbenutzer die entsprechenden Datenbankrollen erhalten und Web Access aktiviert ist.
Hinweis
Hinweis: Wenn die externe Authentifizierung für den Provider, den Sie verwenden möchten, bereits aktiviert ist, führen Sie ENABLE_EXTERNAL_AUTHENTICATION nicht erneut aus. Verwenden Sie CREATE_IDP nur, um Identitätsprovider-Metadaten für Provider zu registrieren, für die eine OpenID Connect-Metadatenregistrierung erforderlich ist, wie Microsoft Entra-ID, und verwenden Sie ENABLE_EXTERNAL_AUTHENTICATION vorsichtig. Bei Oracle Cloud Infrastructure IAM aktivieren Sie die externe Authentifizierung und konfigurieren global identifizierte Datenbankbenutzer, und Sie müssen keine Identitätsproviderinformationen bei der Datenbank registrieren. Mit dem Parameter force kann eine vorhandene externe Authentifizierungskonfiguration unterbrochen werden.
Globale Datenbankbenutzer erstellen
Nachdem Sie die externe Authentifizierung aktiviert haben, erstellen Sie Benutzer, die IDENTIFIED GLOBALLY sind. Ein global identifizierter Benutzer ist ein Datenbankbenutzer oder -schema, das in der autonomen KI-Datenbank erstellt und einem externen Identitätsprovider-Principal anstelle eines Datenbankkennworts zugeordnet wird. Sie erstellen globale Datenbankbenutzer für denselben Identitätsprovider, den Sie für die externe Authentifizierung aktiviert haben. Berechtigungen und Autorisierungen werden den globalen Datenbankbenutzern für Berechtigungen in der Datenbank erteilt. Um sich bei DBActions anzumelden, müssen Sie den globalen Datenbankbenutzer für ORDS aktivieren und die Erstellsession minimal erteilen.
Führen Sie die folgenden Beispiele aus, um globale Datenbankbenutzer zu erstellen, die den Principals des jeweiligen Identitätsproviders zugeordnet sind.
Beispiel: Globale Datenbankbenutzer für OCI IAM erstellen
Erstellen Sie einen globalen Datenbankbenutzer, der einem Oracle Cloud Infrastructure-IAM-Principal zugeordnet ist:
CREATE USER adam_scott
IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=adamscott';Erteilen Sie dem Datenbankbenutzer adam_scott Zugriff.
GRANT CREATE SESSION TO adam_scott;Sie können einen gemeinsam verwendeten Datenbankbenutzer auch einer Oracle Cloud Infrastructure-IAM-Gruppe zuordnen:
CREATE USER sales_group
IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=db_sales_group';Führen Sie diese Anweisungen aus, damit sich der zugeordnete sales_group-Datenbankbenutzer bei der Datenbank anmelden kann.
GRANT CREATE SESSION TO sales_group; Hinweis
Hinweis: Datenbankaktionen und -tools unterstützen keine Verbindungen, die OCI-IAM-Rollenzuordnungen verwenden. Sie müssen Benutzermappings basierend auf Einzel- oder Gruppennamen verwenden.
Beispiel: Globale Datenbankbenutzer für Microsoft Entra-ID erstellen
Erstellen Sie einen globalen Datenbankbenutzer, der einem Microsoft Entra ID-Benutzer zugeordnet ist:
CREATE USER peter_fitch
IDENTIFIED GLOBALLY AS 'AZURE_USER=peter.fitch@example.com';Führen Sie diese Anweisungen aus, um dem Benutzer peter_fitch Datenbankberechtigungen oder -rollen zu erteilen:
GRANT CREATE SESSION TO peter_fitch;Sie können einen freigegebenen Datenbankbenutzer auch einer Microsoft Entra ID-Anwendungsrolle zuordnen:
CREATE USER dba_azure
IDENTIFIED GLOBALLY AS 'AZURE_ROLE=AZURE_DBA';Erteilen Sie das Benutzerprivileg, um eine Datenbankverbindung herzustellen:
GRANT CREATE SESSION TO dba_azure;Sie müssen exklusive Zuordnungen verwenden, um einen Datenbankbenutzer einem einzelnen externen Principal zuzuordnen, oder gemeinsame Zuordnungen verwenden, um einen Datenbankbenutzer einer externen Gruppe oder Rolle zuzuordnen, die mehrere Principals darstellen kann.
| Provider | Beispiele für globale Benutzerzuordnungen: exklusive und gemeinsame Zuordnungen |
|---|---|
| OCI-IAM | Exklusive Zuordnung:IDENTIFIED GLOBALLY AS 'IAM_PRINCIPAL_NAME=<iam-user>'Gemeinsame Zuordnung: IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=<iam-group>' |
| Microsoft Entra-ID (Azure) | Exklusive Zuordnung:IDENTIFIED GLOBALLY AS 'AZURE_USER=<user-principal-name>'Gemeinsame Zuordnung: IDENTIFIED GLOBALLY AS 'AZURE_ROLE=<app-role>' |
| AWS Cognito | Exklusive Zuordnung:IDENTIFIED GLOBALLY AS 'AWS_USER=<aws-user>'Gemeinsame Zuordnung: IDENTIFIED GLOBALLY AS 'AWS_ROLE=<aws-role>' |
| Google Cloud Platform (GCP) | Exklusive Zuordnung:IDENTIFIED GLOBALLY AS 'GCP_USER=<gcp-user>'Gemeinsame Zuordnung: Nicht verfügbar. |
| Okta | Exklusive Zuordnung:IDENTIFIED GLOBALLY AS 'OKTA_USER=<okta-user>'Gemeinsame Zuordnung: IDENTIFIED GLOBALLY AS 'OKTA_GROUP=<okta-group>' |
Hinweis
Hinweis: Für globale Benutzer beziehen sich diese Beispiele auf Oracle Cloud Infrastructure IAM. Für andere Identitätsprovider verwenden Sie die providerspezifische Zuordnungssyntax in ihrer Dokumentation.
Um den Benutzer mit Database Actions zu verwenden, müssen Sie eine Session erstellen, die erforderlichen Database Actions-Berechtigungen erteilen, Oracle REST Data Services (ORDS) für das Schema aktivieren und sicherstellen, dass der Benutzer über Webzugriff verfügt.
Beispiel: ORDS für einen global identifizierten Datenbankbenutzer aktivieren
GRANT CREATE SESSION TO IDP_SHARED;
BEGIN
ORDS_ADMIN.ENABLE_SCHEMA(
p_enabled => TRUE,
p_schema => 'idp_shared',
p_url_mapping_type => 'BASE_PATH',
p_url_mapping_pattern => 'idp_shared',
p_auto_rest_auth => FALSE);
END; Hinweis
Hinweis: Erteilen Sie DWROLE, damit die zugeordneten Benutzer auf die Data Studio-Toolsuite in Database Actions zugreifen können.
Identitätsproviderinformationen mit der Datenbank registrieren
Nachdem Sie global authentifizierte Benutzer erstellt haben, muss ein Administrator den Identitätsprovider mit DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP bei der Datenbank registrieren.
Diese Registrierung speichert den Identitätsprovidernamen, die Client-ID, das Client Secret und die Discovery-Metadaten, die für die OpenID Connect-Tokenvalidierung erforderlich sind. Durch die Registrierung eines Identitätsproviders können Datenbanktools wie Database Actions und Data Studio Benutzer über die unterstützten externen Identitätsprovider authentifizieren.
Mit der Prozedur CREATE_IDP erstellen Sie einen neuen Identitätsprovider für die externe Authentifizierung. Sie müssen einen Identitätsprovider nur einmal für eine Datenbank registrieren.
Sie müssen keine Identitätsproviderinformationen für Oracle Cloud Infrastructure IAM registrieren. Sie aktivieren nur die externe Authentifizierung und konfigurieren global identifizierte Datenbankbenutzer für Oracle Cloud Infrastructure IAM.
Der Registrierungsschritt des Identitätsproviders in diesem Abschnitt gilt für die anderen unterstützten externen Provider.
Beispiel: Generisches CREATE_IDP-Beispiel für externe Provider
Unterstützte Identitätsproviderinformationen bei der Datenbank für die Authentifizierung mit Datenbanktools registrieren:
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
idp_name => '<IDP_NAME>',
client_id => '<client-id>',
client_secret => '<client-secret>',
params => JSON_OBJECT(
'discovery_url' VALUE '<openid-configuration-url>'));
END;
/Weitere Informationen zu den Parametern und der Beschreibung finden Sie unter CREATE_IDP-Prozedur.
Sie können auch einen vorhandenen Identitätsprovidereintrag mit der Prozedur UPDATE_IDP aktualisieren und eine vorhandene Identitätsproviderregistrierung mit der Prozedur DELETE_IDP aus der Datenbank entfernen.
Auf Datenbankaktionen mit externer Authentifizierung zugreifen
Wenn ein Identitätsprovider registriert und die externe Authentifizierung aktiviert ist, zeigen Database Actions und andere unterstützte Tools die Option Mit SSO anmelden an. Mit SSO anmelden bedeutet, dass Sie sich bei Database Actions als extern authentifizierter globaler Datenbankbenutzer über den konfigurierten Identitätsprovider anmelden. Wenn Sie noch keine aktive Identitätsprovidersession haben, werden Sie von Database Actions an Oracle Cloud Infrastructure IAM oder Microsoft Entra ID umgeleitet, um die Authentifizierung abzuschließen.
So melden Sie sich als extern authentifizierter globaler Datenbankbenutzer an:
-
Öffnen Sie die Database Actions-URL.
-
Wählen Sie Mit SSO anmelden aus.
-
Authentifizierung mit dem konfigurierten Identitätsprovider, wie Oracle Cloud Infrastructure IAM oder Microsoft Entra ID.
-
Nachdem die Authentifizierung erfolgreich war, wird Database Actions für den zugeordneten globalen Datenbankbenutzer geöffnet.
Hinweis
Hinweis: Der Zugriff auf Database Actions über die Oracle Cloud Infrastructure-Konsole als ADMIN ist ein separater Ablauf. Mit der erforderlichen Oracle Cloud Infrastructure-IAM-Policy können Sie Database Actions über die Konsole als ADMIN öffnen. Dies unterscheidet sich von der direkten Anmeldung bei Database Actions als extern authentifizierter globaler Datenbankbenutzer. Wenn sich ein extern authentifizierter Benutzer abmeldet, kehrt Database Actions zur Anmeldeseite von Database Actions zurück.