DBMS_CLOUD_FUNCTION_ADMIN-Package
Das Package DBMS_CLOUD_FUNCTION_ADMIN unterstützt das Aufrufen generischer Skripte aus einer autonomen KI-Datenbankinstanz und das Registrieren von Identitätsprovidern für die externe Authentifizierung mit Datenbanktools.
Zusammenfassung der DBMS_CLOUD_FUNCTION_ADMIN-Unterprogramme
In dieser Tabelle werden die Unterprogramme zusammengefasst, die im Package DBMS_CLOUD_FUNCTION_ADMIN enthalten sind.
| Unterprogramm | Beschreibung |
|---|---|
| Prozedur DEREGISTER_REMOTE_EXECUTION_ENV | Mit dieser Prozedur wird ein Endpunkt entfernt, der zuvor registriert wurde. |
| Prozedur GRANT_REMOTE_EXECUTION_ENV | Mit dieser Prozedur kann der ADMIN-Benutzer einem anderen Benutzer als dem ADMIN Berechtigungen für einen registrierten Endpunkt erteilen. |
| Prozedur REGISTER_REMOTE_EXECUTION_ENV | Diese Prozedur registriert eine Remote-Endpunktumgebung. |
| Prozedur REVOKE_REMOTE_EXECUTION_ENV | Mit dieser Prozedur kann der ADMIN-Benutzer Berechtigungen für einen registrierten Endpunkt einem anderen Benutzer als dem ADMIN entziehen. |
| Prozedur CREATE_IDP | Mit dieser Prozedur kann der ADMIN-Benutzer einen neuen Identitätsprovider für die externe Authentifizierung erstellen. Diese Prozedur wird nicht für die OCI IAM-Identitätsproviderregistrierung verwendet. |
| Prozedur UPDATE_IDP | Mit dieser Prozedur kann der ADMIN-Benutzer einen vorhandenen Identitätsprovidereintrag aktualisieren, der mit idp_id identifiziert wird. |
| DELETE_IDP-Prozedur | Mit dieser Prozedur kann der ADMIN-Benutzer eine Identitätsproviderregistrierung aus der Datenbank entfernen. |
Prozedur DEREGISTER_REMOTE_EXECUTION_ENV
Mit dieser Prozedur wird ein Endpunkt entfernt, der zuvor registriert wurde.
Syntax
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV(
remote_endpoint_name IN VARCHAR2
);Parameter
| Parameter | Beschreibung |
|---|---|
remote_endpoint_name |
Gibt den Remoteendpunkt an, der entfernt werden soll. Dieser Parameter ist obligatorisch. |
Beispiel
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV(
remote_endpoint_name => 'REM_EXECUTABLE');
END;
/Hinweise zur Verwendung
- Um diese Prozedur ausführen zu können, müssen Sie als Benutzer
ADMINangemeldet sein.
Prozedur GRANT_REMOTE_EXECUTION_ENV
Mit dieser Prozedur kann der ADMIN-Benutzer einem anderen Benutzer als dem ADMIN Berechtigungen für einen registrierten Endpunkt erteilen.
Syntax
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV(
remote_endpoint_name IN VARCHAR2,
user_name IN VARCHAR2
);Parameter
| Parameter | Beschreibung |
|---|---|
remote_endpoint_name |
Gibt den Namen des registrierten Remoteendpunkts an. Dieser Parameter ist obligatorisch. |
user_name |
Gibt den Benutzernamen an. Dieser Parameter ist obligatorisch. |
Beispiel
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => '<username>');
END;
/Hinweise zur Verwendung
- Um diese Prozedur ausführen zu können, müssen Sie als Benutzer
ADMINangemeldet sein.
Prozedur REGISTER_REMOTE_EXECUTION_ENV
In diesem Verfahren wird ein Remoteendpunkt registriert.
Syntax
DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV(
remote_endpoint_name IN VARCHAR2,
remote_endpoint_url IN CLOB,
wallet_dir IN VARCHAR2,
remote_cert_dn IN CLOB
);Parameter
| Parameter | Beschreibung |
|---|---|
remote_endpoint_name |
Gibt den zu registrierenden Remoteendpunkt an. Dieser Parameter ist obligatorisch. |
remote_endpoint_url |
Gibt die Remote-Position der Bibliothek an. Der Parameter akzeptiert einen Zeichenfolgenwert im Format Beispiel: Dieser Parameter ist obligatorisch. |
wallet_dir |
Gibt das Verzeichnis an, in dem das selbstsignierte Wallet gespeichert ist. Dieser Parameter ist obligatorisch. |
remote_cert_dn |
Gibt den Distinguished Name (DN) des Serverzertifikats an. Dieser Parameter ist obligatorisch. |
Beispiel
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REGISTER_REMOTE_EXECUTION_ENV(
remote_endpoint_name => 'REM_EXECUTABLE',
remote_endpoint_url => 'remote_hostname:16000',
wallet_dir => 'WALLET_DIR',
remote_cert_dn => 'CN=VM Hostname');
END;
/Hinweise zur Verwendung
- Um diese Prozedur ausführen zu können, müssen Sie als Benutzer
ADMINangemeldet sein.
Prozedur REVOKE_REMOTE_EXECUTION_ENV
Mit dieser Prozedur kann der ADMIN-Benutzer Berechtigungen für einen registrierten Endpunkt einem anderen Benutzer als dem ADMIN entziehen.
Syntax
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV(
remote_endpoint_name IN VARCHAR2,
user_name IN VARCHAR2
);Parameter
| Parameter | Beschreibung |
|---|---|
remote_endpoint_name |
Gibt den Namen des registrierten Remoteendpunkts an. Dieser Parameter ist obligatorisch. |
user_name |
Gibt den Benutzernamen an. Dieser Parameter ist obligatorisch. |
Beispiel
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => '<username>');
END;
/Hinweise zur Verwendung
- Um diese Prozedur ausführen zu können, müssen Sie als Benutzer
ADMINangemeldet sein.
Prozedur CREATE_IDP
Bei dieser Prozedur wird ein externer Identitätsprovider (IDP) bei Ihrer autonomen KI-Datenbank registriert. Diese Prozedur wird nicht zum Registrieren von OCI IAM-Identitätsproviderinformationen verwendet.
Syntax
DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
idp_name IN VARCHAR2,
client_id IN VARCHAR2,
client_secret IN VARCHAR2,
params IN JSON
);Parameter
| Parameter | Beschreibung |
|---|---|
idp_name |
Gibt einen eindeutigen Namen für die Identitätsproviderregistrierung an. Dieser Parameter ist obligatorisch. |
client_id |
Gibt die Client-ID aus der beim Identitätsprovider registrierten Anwendung an. Dieser Parameter ist obligatorisch. |
client_secret |
Gibt das Client Secret für die registrierte Anwendung an. Dieser Parameter ist obligatorisch. |
params |
Gibt ein JSON-Objekt an, das Konfigurationswerte für Identitätsprovider enthält. Dieser Parameter ist obligatorisch. |
Unterstützte JSON-Parameter
| Parameter | Beschreibung |
|---|---|
discovery_url |
OpenID Connect-Discovery-Endpunkt zum Abrufen von Authentifizierungsmetadaten. Für Microsoft Entra-ID: https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configurationOCI IAM erfordert in diesem Beispiel keine CREATE_IDP-Registrierung oder einen discovery_url-Wert. |
Beispiel: Microsoft Entra ID registrieren
In diesem Beispiel wird gezeigt, wie Sie die Microsoft Entra-ID mit der mandantenspezifischen OpenID Connect-Discovery-URL als externen Identitätsprovider registrieren.
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
idp_name => 'AZURE_AD',
client_id => '<client-id>',
client_secret => '<client-secret>',
params => JSON_OBJECT(
'discovery_url' VALUE
'https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration'));
END;
/Beispiel: AWS Cognito registrieren
Dieses Beispiel zeigt, wie Sie AWS Cognito als externen Identitätsprovider mit einer Amazon Cognito OpenID Connect-Discovery-URL registrieren.
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
idp_name => 'AWS',
client_id => '<client-id>',
client_secret => '<client-secret>',
params => JSON_OBJECT(
'discovery_url' VALUE
'https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration'
));
END;
/Beispiel: Google Cloud Platform (GCP) registrieren
Dieses Beispiel zeigt, wie Sie Google Cloud mit der Discovery-URL von Google OpenID Connect als externen Identitätsprovider registrieren.
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
idp_name => 'GCP',
client_id => '<client-id>',
client_secret => '<client-secret>',
params => JSON_OBJECT(
'discovery_url' VALUE
'https://accounts.google.com/.well-known/openid-configuration'
));
END;
/Beispiel: Okta registrieren
In diesem Beispiel wird gezeigt, wie Sie Okta mit der OpenID Connect-Discovery-URL des Okta-Autorisierungsservers als externen Identitätsprovider registrieren.
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
idp_name => 'OKTA',
client_id => '<client-id>',
client_secret => '<client-secret>',
params => JSON_OBJECT(
'discovery_url' VALUE
'https://<okta-domain>/oauth2/default/.well-known/openid-configuration'
));
END;
/Sie müssen einen Identitätsprovider einmalig für eine Datenbank registrieren, es sei denn, Sie müssen die Registrierung aktualisieren oder ersetzen.
| Provider | CREATE_IDP erforderlich? |
Discovery-URL-Muster |
|---|---|---|
| OCI-IAM | Nein | Nicht anwendbar. OCI IAM ist mit DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION aktiviert und verwendet nicht CREATE_IDP. |
| Microsoft Entra-ID (Azure) | Ja | https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration |
| AWS Cognito | Ja | https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration |
| Google Cloud Platform (GCP) | Ja | https://accounts.google.com/.well-known/openid-configuration |
| Okta | Ja | Org.-Server: https://<okta-domain>/.well-known/openid-configurationStandard-/benutzerdefinierter Server: https://<okta-domain>/oauth2/<authorization-server-id>/.well-known/openid-configuration |
Prozedur UPDATE_IDP
Mit diesem Verfahren wird eine vorhandene Identitätsproviderregistrierung geändert. Sie können die Clientzugangsdaten, Identitätsprovider-Metadaten oder beides aktualisieren.
Syntax
DBMS_CLOUD_FUNCTION_ADMIN.UPDATE_IDP(
idp_id IN VARCHAR2,
client_id IN VARCHAR2 DEFAULT NULL,
client_secret IN VARCHAR2 DEFAULT NULL,
params IN JSON DEFAULT NULL
);Parameter
| Parameter | Beschreibung |
|---|---|
idp_id |
Gibt die eindeutige ID der zu aktualisierenden Identitätsproviderregistrierung an. |
client_id |
Gibt die aktualisierte Client-ID an. Dieser Parameter ist optional. |
client_secret |
Gibt das aktualisierte Client Secret an. Dieser Parameter ist optional. |
params |
Gibt die aktualisierten JSON-Konfigurationsparameter an. Dieser Parameter ist optional. |
Beispiel
In diesem Beispiel wird gezeigt, wie Sie die Clientzugangsdaten und die OpenID Connect-Discovery-URL für eine vorhandene Identitätsproviderregistrierung aktualisieren.
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.UPDATE_IDP(
idp_id => '<idp-id>',
client_id => '<client-id>',
client_secret => '<client-secret>',
params => JSON_OBJECT(
'discovery_url' VALUE
'https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration'));
END;
/Hinweise zur Verwendung
- Wenn Sie
client_idangeben, müssen Sie auchclient_secretangeben. Wenn Sieclient_secretangeben, müssen Sie auchclient_idangeben. - Der Wert
idp_idwird zurückgegeben, wenn der Identitätsprovider erstellt wird. - Jeder ausgelassene Parameter behält seinen aktuellen Wert bei.
- Die Aktualisierung eines Identitätsproviders wirkt sich nicht auf vorhandene Datenbankbenutzer aus, die für die externe Authentifizierung konfiguriert sind.
DELETE_IDP-Prozedur
Mit dieser Prozedur wird ein registrierter Identitätsprovider aus der Datenbank entfernt.
Syntax
DBMS_CLOUD_FUNCTION_ADMIN.DELETE_IDP(
idp_id IN VARCHAR2
);Parameter
| Parameter | Beschreibung |
|---|---|
idp_id |
Gibt die eindeutige ID der Identitätsproviderregistrierung an, die entfernt werden soll. Dieser Parameter ist obligatorisch. |
Beispiel
In diesem Beispiel wird gezeigt, wie Sie eine vorhandene Identitätsproviderregistrierung mit der zugehörigen idp_id entfernen.
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DELETE_IDP(
idp_id => 'AZURE-ID');
END;
/Hinweise zur Verwendung
- Wenn Sie einen Identitätsprovider löschen, werden die Registrierungsinformationen entfernt, die von Datenbanktools für die externe Authentifizierung verwendet werden.
- Stellen Sie vor dem Löschen eines Identitätsproviders sicher, dass keine Anwendungen oder Benutzer zur Authentifizierung von dieser Registrierung abhängig sind.
- Benutzer, die für die traditionelle Datenbankauthentifizierung konfiguriert sind, können sich weiterhin mit ihrem Datenbankbenutzernamen und -kennwort authentifizieren, nachdem eine Identitätsproviderregistrierung gelöscht wurde.
Ansicht - DBA_LIST_IDP
In der Ansicht DBA_LIST_IDP werden die Identitätsprovider angezeigt, die für die externe Authentifizierung in der autonomen KI-Datenbank registriert sind. In dieser Ansicht können Sie den Namen des Identitätsproviders, die Client-ID und die OpenID Connect-Discovery-Metadaten prüfen, die von Datenbanktools und externen Authentifizierungsflüssen verwendet werden.
Säulen
| Spalte | Beschreibung |
|---|---|
idp_id |
Eindeutige ID für den registrierten Identitätsprovider. Der Wert wird generiert, wenn der Identitätsprovider registriert wird. |
idp_name |
Name des Identitätsproviders. Beispiel: AZURE_AD identifiziert die Microsoft Entra-ID als Identitätsprovider. |
client_id |
Client-ID für die beim Identitätsprovider registrierte Anwendung. Datenbanktools verwenden diesen Wert, wenn sie Benutzer zur externen Authentifizierung umleiten. |
params |
JSON-Objekt, das Konfigurationsparameter des Identitätsproviders speichert. Der Parameter discovery_url identifiziert den OpenID Connect-Discovery-Endpunkt für den Identitätsprovider. |
PARAMS-JSON-Attribute
| Attribut | Beschreibung |
|---|---|
discovery_url |
OpenID Connect-Discovery-URL für den Identitätsprovider. Die Discovery-URL gibt Metadaten wie Autorisierungsendpunkt, Tokenendpunkt, Aussteller und Signaturschlüssel zurück. Bei der Microsoft Entra-ID verwendet diese URL den mandantenspezifischen .well-known/openid-configuration-Endpunkt. |
Beispiel
In diesem Beispiel werden ausgewählte Spalten für registrierte Identitätsprovider aufgelistet:
SELECT idp_id,
idp_name,
client_id,
params
FROM dba_list_idp;Beispielausgabe:
IDP_ID IDP_NAME CLIENT_ID PARAMS
---------- ---------- ---------------------- ------------------------------------------------------------
AZURE-ID AZURE_AD 5691bae2-XXX-YYY-ZZZ {"discovery_url":"https://login.microsoftonline.com/XXXX-YYYY-ZZZ-KKK-/v2.0/.well-known/openid-configuration"}In diesem Beispiel gilt:
-
AZURE-IDist die generierte Identitätsprovider-ID. -
AZURE_ADist der Name des registrierten Identitätsproviders. -
CLIENT_IDist die Anwendungsclient-ID der Microsoft Entra-ID. -
Der Wert
PARAMSenthältdiscovery_url, mit dem die OpenID Connect-Konfiguration für den Entra-ID-Mandanten gesucht wird.