Package DBMS_CLOUD_FUNCTION_ADMIN
Le package DBMS_CLOUD_FUNCTION_ADMIN prend en charge l'appel de scripts génériques à partir d'une instance de base de données Autonomous AI et l'inscription de fournisseurs d'identités pour l'authentification externe à l'aide de Database Tools.
Récapitulatif des sous-programmes DBMS_CLOUD_FUNCTION_ADMIN
Ce tableau récapitule les sous-programmes inclus dans le package DBMS_CLOUD_FUNCTION_ADMIN.
| Sous-programme | Description |
|---|---|
| Procédure DEREGISTER_REMOTE_EXECUTION_ENV | Cette procédure supprime une adresse précédemment enregistrée. |
| Procédure GRANT_REMOTE_EXECUTION_ENV | Cette procédure permet à l'utilisateur ADMIN d'accorder des privilèges sur une adresse enregistrée à un utilisateur autre que l'utilisateur ADMIN. |
| Procédure REGISTER_REMOTE_EXECUTION_ENV | Cette procédure enregistre un environnement d'adresse distant. |
| Procédure REVOKE_REMOTE_EXECUTION_ENV | Cette procédure permet à l'utilisateur ADMIN de révoquer des privilèges sur une adresse inscrite auprès d'un utilisateur autre que l'utilisateur ADMIN. |
| Procédure CREATE_IDP | Cette procédure permet à l'utilisateur ADMIN de créer un fournisseur d'identités pour l'authentification externe. Cette procédure n'est pas utilisée pour l'inscription du fournisseur d'identités OCI IAM. |
| Procédure UPDATE_IDP | Cette procédure permet à l'utilisateur ADMIN de mettre à jour une entrée de fournisseur d'identités existante identifiée par idp_id. |
| Procédure DELETE_IDP | Cette procédure permet à l'utilisateur ADMIN de supprimer une inscription de fournisseur d'identités de la base de données. |
Procédure DEREGISTER_REMOTE_EXECUTION_ENV
Cette procédure supprime une adresse précédemment enregistrée.
Syntaxe
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV(
remote_endpoint_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
remote_endpoint_name |
Indique l'adresse distante à enlever. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DEREGISTER_REMOTE_EXECUTION_ENV(
remote_endpoint_name => 'REM_EXECUTABLE');
END;
/Notes d'utilisation
- Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur
ADMIN.
Procédure GRANT_REMOTE_EXECUTION_ENV
Cette procédure permet à l'utilisateur ADMIN d'accorder des privilèges sur une adresse enregistrée à un utilisateur autre que l'utilisateur ADMIN.
Syntaxe
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV(
remote_endpoint_name IN VARCHAR2,
user_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
remote_endpoint_name |
Indique le nom de l'adresse distante inscrite. Ce paramètre est obligatoire. |
user_name |
Indique le nom utilisateur. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.GRANT_REMOTE_EXECUTION_ENV(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => '<username>');
END;
/Notes d'utilisation
- Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur
ADMIN.
Procédure REGISTER_REMOTE_EXECUTION_ENV
Cette procédure enregistre une adresse distante.
Syntaxe
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
);Paramètres
| Paramètre | Description |
|---|---|
remote_endpoint_name |
Indique l'adresse distante à inscrire. Ce paramètre est obligatoire. |
remote_endpoint_url |
Spécifie l'emplacement distant de la bibliothèque. Le paramètre accepte une valeur de chaîne au format Par exemple : Ce paramètre est obligatoire. |
wallet_dir |
Indique le répertoire dans lequel le portefeuille auto-signé est stocké. Ce paramètre est obligatoire. |
remote_cert_dn |
Spécifie le nom distinctif (DN) du certificat de serveur. Ce paramètre est obligatoire. |
Exemple
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;
/Notes d'utilisation
- Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur
ADMIN.
Procédure REVOKE_REMOTE_EXECUTION_ENV
Cette procédure permet à l'utilisateur ADMIN de révoquer des privilèges sur une adresse inscrite auprès d'un utilisateur autre que l'utilisateur ADMIN.
Syntaxe
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV(
remote_endpoint_name IN VARCHAR2,
user_name IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
remote_endpoint_name |
Indique le nom de l'adresse distante inscrite. Ce paramètre est obligatoire. |
user_name |
Indique le nom utilisateur. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.REVOKE_REMOTE_EXECUTION_ENV(
remote_endpoint_name => 'REM_EXECUTABLE',
user_name => '<username>');
END;
/Notes d'utilisation
- Pour exécuter cette procédure, vous devez être connecté en tant qu'utilisateur
ADMIN.
Procédure CREATE_IDP
Cette procédure enregistre un fournisseur d'identités externe avec votre base de données Autonomous AI. Cette procédure n'est pas utilisée pour inscrire les informations sur le fournisseur d'identités OCI IAM.
Syntaxe
DBMS_CLOUD_FUNCTION_ADMIN.CREATE_IDP(
idp_name IN VARCHAR2,
client_id IN VARCHAR2,
client_secret IN VARCHAR2,
params IN JSON
);Paramètres
| Paramètre | Description |
|---|---|
idp_name |
Spécifie un nom unique pour l'inscription du fournisseur d'identités. Ce paramètre est obligatoire. |
client_id |
Spécifie l'identificateur client de l'application inscrite auprès du fournisseur d'identités. Ce paramètre est obligatoire. |
client_secret |
Spécifie la clé secrète du client pour l'application inscrite. Ce paramètre est obligatoire. |
params |
Indique un objet JSON qui contient des valeurs de configuration de fournisseur d'identités. Ce paramètre est obligatoire. |
Paramètres JSON pris en charge
| Paramètre | Description |
|---|---|
discovery_url |
Adresse de repérage OpenID Connect utilisée pour extraire les métadonnées d'authentification. Pour Microsoft Entra ID : https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configurationOCI IAM ne requiert pas d'inscription CREATE_IDP ni de valeur discovery_url dans cette procédure. |
Exemple : enregistrement de l'ID Microsoft
Cet exemple montre comment inscrire Microsoft Entra ID en tant que fournisseur d'identités externe à l'aide de l'URL de repérage OpenID Connect propre au locataire.
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;
/Exemple : enregistrer AWS Cognito
Cet exemple montre comment enregistrer AWS Cognito en tant que fournisseur d'identités externe à l'aide d'une URL de découverte Amazon Cognito OpenID Connect.
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;
/Exemple : inscription de Google Cloud Platform (GCP)
Cet exemple montre comment inscrire Google Cloud en tant que fournisseur d'identités externe à l'aide de l'URL de découverte Google OpenID Connect.
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;
/Exemple : enregistrement d'Okta
Cet exemple montre comment inscrire Okta en tant que fournisseur d'identités externe à l'aide de l'URL de repérage OpenID Connect du serveur d'autorisation Okta.
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;
/Vous devez inscrire un fournisseur d'identités une fois pour une base de données, sauf si vous devez mettre à jour ou remplacer l'inscription.
| Fournisseur | CREATE_IDP requis ? |
Modèle d'URL de repérage |
|---|---|---|
| OCI IAM | Non | Non applicable. OCI IAM est activé avec DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION et n'utilise pas CREATE_IDP. |
| ID Microsoft Entra (Azure) | Oui | https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration |
| AWS Cognito | Oui | https://cognito-idp.<region>.amazonaws.com/<user-pool-id>/.well-known/openid-configuration |
| Google Cloud Platform (GCP) | Oui | https://accounts.google.com/.well-known/openid-configuration |
| Okta | Oui | Serveur Org : https://<okta-domain>/.well-known/openid-configurationserveur par défaut/personnalisé : https://<okta-domain>/oauth2/<authorization-server-id>/.well-known/openid-configuration |
Procédure UPDATE_IDP
Cette procédure modifie une inscription de fournisseur d'identités existante. Vous pouvez mettre à jour les informations d'identification client et/ou les métadonnées du fournisseur d'identités.
Syntaxe
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
);Paramètres
| Paramètre | Description |
|---|---|
idp_id |
Indique l'identificateur unique de l'inscription de fournisseur d'identités à mettre à jour. |
client_id |
Spécifie l'identificateur client mis à jour. Ce paramètre est facultatif. |
client_secret |
Spécifie la clé secrète client mise à jour. Ce paramètre est facultatif. |
params |
Indique les paramètres de configuration JSON mis à jour. Ce paramètre est facultatif. |
Exemple
Cet exemple montre comment mettre à jour les informations d'identification client et l'URL de repérage OpenID Connect pour une inscription de fournisseur d'identités existante.
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;
/Notes d'utilisation
- Si vous indiquez
client_id, vous devez également fournirclient_secret. Si vous indiquezclient_secret, vous devez également fournirclient_id. - La valeur
idp_idest renvoyée lors de la création du fournisseur d'identités. - Tout paramètre omis conserve sa valeur actuelle.
- La mise à jour d'un fournisseur d'identités n'a aucune incidence sur les utilisateurs de base de données existants configurés pour l'authentification externe.
Procédure DELETE_IDP
Cette procédure supprime un fournisseur d'identités inscrit de la base de données.
Syntaxe
DBMS_CLOUD_FUNCTION_ADMIN.DELETE_IDP(
idp_id IN VARCHAR2
);Paramètres
| Paramètre | Description |
|---|---|
idp_id |
Indique l'identificateur unique de l'inscription de fournisseur d'identités à enlever. Ce paramètre est obligatoire. |
Exemple
Cet exemple montre comment enlever une inscription de fournisseur d'identités existante à l'aide de son idp_id.
BEGIN
DBMS_CLOUD_FUNCTION_ADMIN.DELETE_IDP(
idp_id => 'AZURE-ID');
END;
/Notes d'utilisation
- La suppression d'un fournisseur d'identités supprime les informations d'inscription utilisées par les outils de paramétrage pour l'authentification externe.
- Avant de supprimer un fournisseur d'identités, assurez-vous qu'aucune application ou aucun utilisateur ne dépend de cet enregistrement pour authentification.
- Les utilisateurs configurés pour l'authentification de base de données traditionnelle peuvent continuer à s'authentifier avec leur nom utilisateur et leur mot de passe de base de données après la suppression de l'inscription d'un fournisseur d'identités.
Vue DBA_LIST_IDP
La vue DBA_LIST_IDP affiche les fournisseurs d'identités inscrits pour l'authentification externe dans la base de données Autonomous AI. Utilisez cette vue pour vérifier le nom du fournisseur d'identités, l'identificateur client et les métadonnées de repérage OpenID Connect utilisés par les outils de base de données et les flux d'authentification externes.
Colonnes
| Colonne | Description |
|---|---|
idp_id |
Identificateur unique du fournisseur d'identités inscrit. La valeur est générée lors de l'inscription du fournisseur d'identités. |
idp_name |
Nom du fournisseur d'identités. Par exemple, AZURE_AD identifie l'ID Microsoft Entra comme fournisseur d'identités. |
client_id |
Identificateur client de l'application enregistrée auprès du fournisseur d'identités. Les outils de base de données utilisent cette valeur lorsqu'ils redirigent les utilisateurs pour l'authentification externe. |
params |
Objet JSON qui stocke les paramètres de configuration du fournisseur d'identités. Le paramètre discovery_url identifie l'adresse de repérage OpenID Connect pour le fournisseur d'identités. |
Attributs JSON PARAMS
| Attribut | Description |
|---|---|
discovery_url |
URL de repérage OpenID Connect pour le fournisseur d'identités. L'URL de repérage renvoie des métadonnées telles que l'adresse d'autorisation, l'adresse de jeton, l'émetteur et les clés de signature. Pour l'ID Microsoft Entra, cette URL utilise l'adresse .well-known/openid-configuration propre au locataire. |
Exemple
Cet exemple répertorie les colonnes sélectionnées pour les fournisseurs d'identités enregistrés :
SELECT idp_id,
idp_name,
client_id,
params
FROM dba_list_idp;Exemple de sortie :
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"}Dans cet exemple :
-
AZURE-IDest l'identificateur de fournisseur d'identités généré. -
AZURE_ADest le nom du fournisseur d'identités inscrit. -
CLIENT_IDest l'ID client de l'application provenant de Microsoft Entra ID. -
La valeur
PARAMScontient la valeurdiscovery_urlutilisée pour localiser la configuration OpenID Connect pour le locataire Entra ID.