Realizar llamadas externas mediante una cartera gestionada por el cliente
Cuando la instancia de Autonomous Database está en un punto final privado, puede utilizar una cartera gestionada por el cliente con procedimientos en UTL_HTTP
, DBMS_LDAP
, UTL_SMTP
o UTL_TCP
. También puede utilizar una cartera gestionada por el cliente cuando el programador envía notificaciones de correo electrónico SMTP para varios eventos relacionados con trabajos del programador.
- Acerca del uso de una cartera gestionada por el cliente con llamadas externas
Cuando la instancia de Autonomous Database está en un punto final privado, puede utilizar una cartera gestionada por el cliente para gestionar llamadas externas o con el programador cuando el programador envía correo electrónico para varios eventos relacionados con los trabajos del programador. - Requisitos para utilizar una cartera gestionada por el cliente con llamadas externas
Muestra los pasos necesarios para utilizar una cartera gestionada por el cliente con llamadas externas o con notificaciones de correo electrónico SMTP del programador. - Uso de una cartera gestionada por el cliente para llamadas externas con UTL_HTTP
Cuando la instancia de Autonomous Database está en un punto final privado, puede utilizar una cartera gestionada por el cliente para gestionar llamadas externas. - Uso de una cartera gestionada por el cliente con notificaciones de correo electrónico del programador
Describe los pasos para utilizar el servidor de correo electrónico SMTP del programador con una cartera gestionada por el cliente. - Notas para el uso de una cartera gestionada por el cliente con llamadas externas
Proporciona notas para el uso de una cartera gestionada por el cliente con llamadas externas.
Tema principal: Desarrollo
Acerca del Uso de Carteras Gestionadas por el Cliente con Llamadas Externas
Cuando la instancia de Autonomous Database está en un punto final privado, puede utilizar una cartera gestionada por el cliente para gestionar llamadas externas o con el programador cuando el programador envía un correo electrónico para varios eventos relacionados con los trabajos del programador.
En Autonomous Database, puede realizar llamadas externas para cualquiera de los siguientes fines:
-
Para utilizar servicios web con
UTL_HTTP
. -
Para acceder a los datos desde servidores LDAP mediante
DBMS_LDAP
. -
Para enviar un correo electrónico a
UTL_SMTP
. -
Para comunicarse con servidores basados en TCP/IP externos mediante TCP/IP con
UTL_TCP
. -
Para las notificaciones de correo electrónico del trabajo de Oracle Scheduler.
Por defecto, cuando se utilizan procedimientos en estos paquetes, Autonomous Database mantiene una cartera interna y siempre utiliza conexiones seguras (la cartera gestionada por Oracle contiene más de 90 de los certificados SSL intermedio y raíz de confianza más comunes). Cuando su instancia de Autonomous Database reside en un punto final privado, tiene la opción de utilizar la cartera gestionada por Oracle por defecto con las certificaciones SLL intermedias y de confianza, o bien puede proporcionar una cartera gestionada por el cliente.
Cuando su instancia de Autonomous Database reside en un punto final privado, puede especificar una cartera gestionada por el cliente para UTL_HTTP
, UTL_SMTP
, DBMS_LDAP
y DBMS_NETWORK_ACL_ADMIN
mediante los siguientes procedimientos PL/SQL:
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
En estas llamadas, según el procedimiento, utilice el parámetro path
o wallet_path
para especificar una cartera gestionada por el cliente. Defina el directorio de cartera con el prefijo DIR:
e incluya una ruta de acceso de cartera. Por ejemplo:
UTL_HTTP.set_wallet('DIR:WALLET_DIR', 'password');
El usuario actual que llama a la API debe tener privilegios READ
en el objeto de directorio o tener otorgado el privilegio del sistema CREATE ANY DIRECTORY
.
El prefijo DIR:
es el formulario preferido que se debe utilizar para especificar una cartera gestionada por el cliente. Además, está soportado el prefijo file:
. Por ejemplo:
UTL_HTTP.set_wallet('file:WALLET_DIR/wallet.sso', 'password');
Consulte Uso de una cartera gestionada por el cliente para llamadas externas con UTL_HTTP para obtener más información:
Acerca del Uso de Carteras Gestionadas por el Cliente con el Servidor de Correo Electrónico del Planificador
El servidor de correo electrónico del programador está disponible para enviar notificaciones de correo electrónico para varios eventos relacionados con el programador, como la notificación de trabajos iniciados, fallidos o completados. Por defecto, el servidor de correo electrónico SMTP del programador utiliza la cartera definida en la propiedad SSL_WALLET
para las comunicaciones SSL/TLS. Opcionalmente, puede utilizar una cartera gestionada por el cliente con el servidor de correo electrónico SMTP del programador.
Los siguientes atributos globales admiten el uso de una cartera gestionada por el cliente:
-
EMAIL_SERVER_WALLET_DIRECTORY
: se define en un objeto de directorio que especifica la ruta de acceso en la que reside la cartera SSL. EMAIL_SERVER_WALLET_CREDENTIAL
: se establece en un objeto de credencial con un par username/password, donde username es cualquier valor y la password es la contraseña de cartera SSL.
Los valores para estos atributos se definen mediante DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
.
Puede obtener más información en los siguientes enlaces:
Requisitos para utilizar una cartera gestionada por el cliente con llamadas externas
Muestra los pasos necesarios para utilizar una cartera gestionada por el cliente con llamadas externas o notificaciones de correo electrónico SMTP del programador.
Realice los pasos previos necesarios:
Uso de una cartera gestionada por el cliente para llamadas externas con UTL_HTTP
Cuando la instancia de Autonomous Database está en un punto final privado, puede utilizar una cartera gestionada por el cliente para gestionar llamadas externas.
En estos pasos se describe el uso de una cartera gestionada por el cliente con UTL_HTTP
. Los pasos son los mismos para los demás paquetes soportados, incluidos: DMBS_LDAP
, UTL_SMTP
y UTL_TCP
.
Realice los pasos necesarios para utilizar una cartera gestionada por el cliente. Consulte Requisitos para utilizar una cartera gestionada por el cliente con llamadas externas para obtener más información.
Para configurar una instancia de Autonomous Database para utilizar una cartera gestionada por el cliente:
Uso de Carteras Gestionadas por el Cliente con Notificaciones por Correo Electrónico del Planificador
Describe los pasos para utilizar el servidor de correo electrónico SMTP del programador con una cartera gestionada por el cliente.
Realice los pasos necesarios para utilizar una cartera gestionada por el cliente. Consulte Requisitos para utilizar una cartera gestionada por el cliente con llamadas externas para obtener más información.
Para utilizar una cartera gestionada por el cliente con el servidor de correo electrónico del programador:
Notas para el Uso de Carteras Gestionadas por el Cliente con Llamadas Externas
Proporciona notas para el uso de una cartera gestionada por el cliente con llamadas externas.
-
Las solicitudes
DBMS_CLOUD
no respetan la cartera personalizada que ha definido conUTL_HTTP.set_wallet
. Esto incluyeDBMS_CLOUD.SEND_REQUEST
y todo el acceso de almacenamiento de objetos para las tablas externasDBMS_CLOUD
que defina conDBMS_CLOUD.CREATE_EXTERNAL_TABLE
,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
oDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
. Al realizar una consulta en una tabla externa que ha creado con un procedimientoDBMS_CLOUD
, las consultas no respetan la cartera personalizada definida conUTL_HTTP.set_wallet
. -
Las solicitudes
APEX_WEB_SERVICE
no respetan la cartera personalizada que ha definido conUTL_HTTP.set_wallet
.Para utilizar una cartera gestionada por el cliente con APEX, especifique el parámetro
p_wallet_path
en las llamadas a la APIAPEX_WEB_SERVICE
o defina la configuración de la instancia de la ruta de acceso de cartera en los servicios de administración de APEX.Consulte Acceso a los servicios de administración de Oracle APEX para obtener más información.
-
Están soportadas las carteras de conexión automática y las carteras protegidas por contraseña. Al utilizar una cartera de conexión automática, especifique
NULL
para el parámetrowallet_password
. -
El usuario actual que llama a la API
UTL_HTTP.set_wallet
debe tener privilegiosREAD
en el objeto de directorio o tener otorgado el privilegio del sistemaCREATE ANY DIRECTORY
. -
Se permite la API
UTL_HTTP.SET_AUTHENTICATION_FROM_WALLET
. Consulte SET_AUTHENTICATION_FROM_WALLET Procedure para obtener más información. -
El prefijo
file:
está soportado conUTL_HTTP.set_wallet
siempre que la ruta de acceso del archivo especificada sea compatible conPATH_PREFIX
.Puede determinar la conformidad
PATH_PREFIX
para una ruta de acceso proporcionada como entrada con el procedimientoDBMS_PDB_IS_VALID_PATH
(otorgada aPUBLIC
, incluido el usuarioADMIN
).Por ejemplo:
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; /
-
Para garantizar la compatibilidad con versiones anteriores cuando se utiliza
UTL_HTTP.set_wallet
, en los casos en los que se ignora la ruta de acceso de cartera, se aceptan valores de entrada comofile:
,NULL
, etc. Estos valores se ignoran y especifican que se utilice la ruta de acceso de cartera SSL por defecto conUTL_HTTP.set_wallet
. -
Están soportadas las API de ACL de cartera
DBMS_NETWORK_ACL_ADMIN
, comoAPPEND_WALLET_ACL
. Estos procedimientos permiten otorgar/revocar privilegios de ACL de cartera. Consulte DBMS_NETWORK_ACL_ADMIN para obtener más información. -
Para soportar el uso de las credenciales de contraseña en una cartera SSL para la autenticación, el usuario actual que llama a las API
UTL_HTTP
debe tener el privilegio de ACL "use-passwords
" en la ruta de acceso de cartera. -
Notas para definir
EMAIL_SERVER_WALLET_DIRECTORY
yEMAIL_SERVER_WALLET_CREDENTIAL
conDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
:-
Para definir los valores de atributo con
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, debe ser un usuario administrativo o un usuario con privilegiosMANAGE SCHEDULER
(el usuario ADMIN tiene estos privilegios). - Además del privilegio
MANAGE SCHEDULER
, el usuario que llama aDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
debe tener el privilegioREAD
en el objeto de directorio definido conEMAIL_SERVER_WALLET_DIRECTORY
y el privilegioEXECUTE
en el objeto de credencial definido conEMAIL_SERVER_WALLET_CREDENTIAL
.
-