Effectuer des appels externes à l'aide d'un portefeuille géré par le client
Lorsque votre instance Autonomous Database se trouve sur une adresse privée, vous pouvez utiliser un portefeuille géré par le client avec des procédures dans UTL_HTTP
, DBMS_LDAP
, UTL_SMTP
ou UTL_TCP
. Vous pouvez également utiliser un portefeuille géré par le client lorsque le planificateur envoie des notifications par e-mail SMTP pour divers événements liés aux travaux du planificateur.
- A propos de l'utilisation d'un portefeuille géré par le client avec des appels externes
Lorsque votre instance Autonomous Database se trouve sur une adresse privée, vous pouvez utiliser un portefeuille géré par le client pour gérer les appels externes, ou avec le planificateur lorsque celui-ci envoie un courriel pour divers événements liés aux travaux de planificateur. - Prérequis pour l'utilisation d'un portefeuille géré par le client avec des appels externes
Affiche les étapes prérequises pour utiliser un portefeuille géré par le client avec des appels externes ou des notifications par courriel SMTP du planificateur. - Utilisation d'un portefeuille géré par le client pour les appels externes avec UTL_HTTP
Lorsque votre instance Autonomous Database se trouve sur une adresse privée, vous pouvez utiliser un portefeuille géré par le client pour gérer les appels externes. - Utilisation d'un portefeuille géré par le client avec des notifications par courriel du planificateur
Décrit les étapes à suivre pour utiliser le serveur de messagerie SMTP du planificateur avec un portefeuille géré par le client. - Remarques relatives à l'utilisation d'un portefeuille géré par le client avec des appels externes
Fournit des remarques relatives à l'utilisation d'un portefeuille géré par le client avec des appels externes.
Rubrique parent : Développement
A propos de l'utilisation d'un portefeuille géré par le client avec des appels externes
Lorsque votre instance Autonomous Database se trouve sur une adresse privée, vous pouvez utiliser un portefeuille géré par le client pour gérer les appels externes, ou avec le planificateur lorsque ce dernier envoie des courriels pour divers événements liés aux travaux de planificateur.
Sur Autonomous Database, vous pouvez effectuer des appels externes à l'une des fins suivantes :
-
Pour utiliser les services Web avec
UTL_HTTP
. -
Pour accéder aux données à partir des serveurs LDAP à l'aide de
DBMS_LDAP
. -
Pour envoyer des courriels avec
UTL_SMTP
, procédez comme suit : -
Pour communiquer avec des serveurs TCP/IP externes à l'aide de TCP/IP avec
UTL_TCP
. -
Pour les notifications par courriel de travail Oracle Scheduler.
Par défaut, lorsque vous utilisez des procédures dans ces packages, Autonomous Database gère un portefeuille interne et utilise toujours des connexions sécurisées (le portefeuille géré par Oracle contient plus de 90 des certificats SSL intermédiaires et racine sécurisés les plus courants). Lorsque votre instance Autonomous Database réside sur une adresse privée, vous avez la possibilité d'utiliser le portefeuille géré par Oracle par défaut avec les certifications SLL sécurisées et intermédiaires, ou vous pouvez fournir un portefeuille géré par le client.
Lorsque votre instance Autonomous Database réside sur une adresse privée, vous pouvez indiquer un portefeuille géré par le client pour UTL_HTTP
, UTL_SMTP
, DBMS_LDAP
et DBMS_NETWORK_ACL_ADMIN
à l'aide des procédures PL/SQL suivantes :
UTL_HTTP.SET_WALLET (
path IN VARCHAR2,
password IN VARCHAR2 DEFAULT NULL);
UTL_HTTP.REQUEST (
wallet_path IN VARCHAR2 DEFAULT NULL,
wallet_password IN VARCHAR2 DEFAULT NULL)
UTL_HTTP.REQUEST_PIECES (
wallet_p ath IN VARCHAR2 DEFAULT NULL,
wallet_password IN VARCHAR2 DEFAULT NULL,
UTL_HTTP.CREATE_REQUEST_CONTEXT (
wallet_path IN VARCHAR2 DEFAULT NULL,
wallet_password IN VARCHAR2 DEFAULT NULL)
UTL_TCP.OPEN_CONNECTION
wallet_path IN VARCHAR2 DEFAULT NULL,
wallet_password IN VARCHAR2 DEFAULT NULL);
UTL_SMTP.OPEN_CONNECTION
wallet_path IN VARCHAR2 DEFAULT NULL,
wallet_password IN VARCHAR2 DEFAULT NULL)
DBMS_LDAP.OPEN_SSL(
sslwrl IN VARCHAR2,
sslwalletpasswd IN VARCHAR2)
DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACE
wallet_path IN VARCHAR2
DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ACL(
wallet_path IN VARCHAR2
Dans ces appels, en fonction de la procédure, utilisez le paramètre path
ou wallet_path
pour indiquer un portefeuille géré par le client. Vous définissez le répertoire de portefeuille avec le préfixe DIR:
et incluez un chemin de portefeuille. Exemple :
UTL_HTTP.set_wallet('DIR:WALLET_DIR', 'password');
L'utilisateur en cours appelant l'API doit disposer des privilèges READ
sur l'objet d'annuaire ou du privilège système CREATE ANY DIRECTORY
.
Le préfixe DIR:
est la forme préférée à utiliser pour indiquer un portefeuille géré par le client. En outre, le préfixe file:
est pris en charge. Exemple :
UTL_HTTP.set_wallet('file:WALLET_DIR/wallet.sso', 'password');
Pour plus d'informations, reportez-vous à Utilisation d'un portefeuille géré par le client pour les appels externes avec UTL_HTTP :
A propos de l'utilisation d'un portefeuille géré par le client avec le serveur de messagerie Scheduler
Le serveur de messagerie du planificateur est disponible pour envoyer des notifications par courriel pour divers événements liés au planificateur, tels que la notification des travaux démarrés, en échec ou terminés. Par défaut, le serveur de messagerie SMTP du planificateur utilise le portefeuille défini dans la propriété SSL_WALLET
pour les communications SSL/TLS. Vous pouvez éventuellement utiliser un portefeuille géré par le client avec le serveur de messagerie SMTP du planificateur.
Les attributs globaux suivants prennent en charge l'utilisation d'un portefeuille géré par le client :
-
EMAIL_SERVER_WALLET_DIRECTORY
: est défini sur un objet de répertoire qui indique le chemin d'accès au portefeuille SSL. EMAIL_SERVER_WALLET_CREDENTIAL
: est défini sur un objet d'informations d'identification avec une paire nom utilisateur/mot de passe, où nom utilisateur est n'importe quelle valeur et mot de passe est le mot de passe du portefeuille SSL.
Vous définissez les valeurs de ces attributs à l'aide de DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
.
Pour plus d'informations, reportez-vous à :
Rubrique parent : Appels externes à l'aide d'un portefeuille géré par le client
Prérequis pour l'utilisation d'un portefeuille géré par le client avec des appels externes
Présente les étapes préalables à l'utilisation d'un portefeuille géré par le client avec des appels externes ou des notifications par courriel SMTP du planificateur.
Procédez comme suit :
Rubrique parent : Appels externes à l'aide d'un portefeuille géré par le client
Utiliser un portefeuille géré par le client pour les appels externes avec UTL_HTTP
Lorsque votre instance Autonomous Database se trouve sur une adresse privée, vous pouvez utiliser un portefeuille géré par le client pour gérer les appels externes.
Les étapes suivantes décrivent l'utilisation d'un portefeuille géré par le client avec UTL_HTTP
. Les étapes sont les mêmes pour les autres packages pris en charge, notamment DMBS_LDAP
, UTL_SMTP
et UTL_TCP
.
Effectuez les étapes préalables à l'utilisation d'un portefeuille géré par le client. Pour plus d'informations, reportez-vous à Prérequis pour l'utilisation d'un portefeuille géré par le client avec des appels externes.
Pour configurer une instance Autonomous Database de sorte qu'elle utilise un portefeuille géré par le client, procédez comme suit :
Rubrique parent : Appels externes à l'aide d'un portefeuille géré par le client
Utiliser un portefeuille géré par le client avec des notifications par courriel du planificateur
Décrit les étapes à suivre pour utiliser le serveur de messagerie SMTP du planificateur avec un portefeuille géré par le client.
Effectuez les étapes préalables à l'utilisation d'un portefeuille géré par le client. Pour plus d'informations, reportez-vous à Prérequis pour l'utilisation d'un portefeuille géré par le client avec des appels externes.
Pour utiliser un portefeuille géré par le client avec le serveur de messagerie du planificateur :
Rubrique parent : Appels externes à l'aide d'un portefeuille géré par le client
Remarques concernant l'utilisation d'un portefeuille géré par le client avec des appels externes
Fournit des notes pour l'utilisation d'un portefeuille géré par le client avec des appels externes.
-
Les demandes
DBMS_CLOUD
ne respectent pas le portefeuille personnalisé que vous avez défini avecUTL_HTTP.set_wallet
. Cela inclutDBMS_CLOUD.SEND_REQUEST
et tous les accès au stockage d'objet pour les tables externesDBMS_CLOUD
que vous définissez avecDBMS_CLOUD.CREATE_EXTERNAL_TABLE
,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
ouDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
. Lorsque vous exécutez une requête sur une table externe que vous avez créée avec une procédureDBMS_CLOUD
, les requêtes n'honorent pas le portefeuille personnalisé que vous avez défini avecUTL_HTTP.set_wallet
. -
Les demandes
APEX_WEB_SERVICE
ne respectent pas le portefeuille personnalisé défini avecUTL_HTTP.set_wallet
.Pour utiliser un portefeuille géré par le client avec APEX, indiquez le paramètre
p_wallet_path
dans les appels d'APIAPEX_WEB_SERVICE
ou définissez le paramètre d'instance de chemin de portefeuille dans les services d'administration APEX.Pour plus d'informations, reportez-vous à Accès aux services d'administration Oracle APEX.
-
Les portefeuilles à connexion automatique et les portefeuilles protégés par mot de passe sont pris en charge. Lorsque vous utilisez un portefeuille de connexion automatique, indiquez
NULL
pour le paramètrewallet_password
. -
L'utilisateur en cours appelant l'API
UTL_HTTP.set_wallet
doit disposer des privilègesREAD
sur l'objet de répertoire ou du privilège systèmeCREATE ANY DIRECTORY
. -
L'API
UTL_HTTP.SET_AUTHENTICATION_FROM_WALLET
est autorisée. Pour plus d'informations, reportez-vous à SET_AUTHENTICATION_FROM_WALLET Procédure. -
Le préfixe
file:
est pris en charge avecUTL_HTTP.set_wallet
tant que le chemin de fichier indiqué est conforme àPATH_PREFIX
.Vous pouvez déterminer la conformité
PATH_PREFIX
pour un chemin fourni en entrée avec la procédureDBMS_PDB_IS_VALID_PATH
(accordée àPUBLIC
, y compris l'utilisateurADMIN
).Exemple :
with function check_path_prefix_compliance(file_path varchar2) return varchar2 as BEGIN if dbms_pdb_is_valid_path(file_path) then return 'YES'; else return 'NO'; end if; END; SELECT check_path_prefix_compliance('/u03/dbfs/1276CDexample/data/dpdump') as PATH_PREFIX_COMPLIANT, check_path_prefix_compliance('/u01/app/oracle/diag') as PATH_PREFIX_COMPLIANT FROM dual; /
-
Pour garantir la compatibilité ascendante lorsque vous utilisez
UTL_HTTP.set_wallet
, dans les cas où le chemin de portefeuille est ignoré, les valeurs d'entrée telles quefile:
,NULL
, etc., sont acceptées. Ces valeurs sont ignorées et indiquent d'utiliser le chemin de portefeuille SSL par défaut avecUTL_HTTP.set_wallet
. -
Les API de liste de contrôle d'accès de portefeuille
DBMS_NETWORK_ACL_ADMIN
, telles queAPPEND_WALLET_ACL
, sont prises en charge. Ces procédures vous permettent d'accorder/de révoquer des privilèges d'ACL de portefeuille. Pour plus d'informations, reportez-vous à DBMS_NETWORK_ACL_ADMIN. -
Afin de prendre en charge l'utilisation des informations d'identification de mot de passe dans un portefeuille SSL pour l'authentification, l'utilisateur en cours appelant les API
UTL_HTTP
doit disposer du privilège d'ACL "use-passwords
" sur le chemin du portefeuille. -
Remarques relatives à la définition de
EMAIL_SERVER_WALLET_DIRECTORY
etEMAIL_SERVER_WALLET_CREDENTIAL
avecDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
:-
Pour définir les valeurs d'attribut avec
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, vous devez être un administrateur ou un utilisateur disposant des privilègesMANAGE SCHEDULER
(l'utilisateur ADMIN dispose de ces privilèges). - En plus du privilège
MANAGE SCHEDULER
, l'utilisateur appelantDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
doit disposer du privilègeREAD
sur l'objet de répertoire que vous avez défini avecEMAIL_SERVER_WALLET_DIRECTORY
et du privilègeEXECUTE
sur l'objet d'informations d'identification que vous avez défini avecEMAIL_SERVER_WALLET_CREDENTIAL
.
-
Rubrique parent : Appels externes à l'aide d'un portefeuille géré par le client