Realizar llamadas externas con 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 los 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 manejar llamadas externas o con el programador cuando el programador envía un 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 manejar 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 sobre el uso de una cartera gestionada por el cliente con llamadas externas
Proporciona notas para utilizar una cartera gestionada por el cliente con llamadas externas.
Tema principal: Desarrollo
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 manejar 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 las siguientes finalidades:
-
Para utilizar los servicios web con
UTL_HTTP
. -
Para acceder a los datos de los servidores LDAP mediante
DBMS_LDAP
. -
Para enviar un correo electrónico con
UTL_SMTP
. -
Para comunicarse con servidores basados en TCP/IP externos mediante TCP/IP con
UTL_TCP
. -
Para notificaciones de correo electrónico de trabajos de Oracle Scheduler.
Por defecto, al utilizar 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 intermedios y raíz de confianza más comunes). Cuando Autonomous Database reside en un punto final privado, tiene la opción de utilizar la cartera gestionada por Oracle por defecto con las certificaciones de SLL de confianza e intermedias, o puede proporcionar una cartera gestionada por el cliente.
Cuando 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 se le debe otorgar el privilegio del sistema CREATE ANY DIRECTORY
.
El prefijo DIR:
es la forma preferida que se utiliza 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 diversos eventos relacionados con el programador, como la notificación de trabajos iniciados, fallidos o finalizados. 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 soportan 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 define en un objeto de credencial con un par nombre de usuario/contraseña, donde nombre de usuario es cualquier valor y contraseña es la contraseña de cartera SSL.
Defina valores para estos atributos 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 de requisitos para utilizar una cartera gestionada por el cliente con llamadas externas o con notificaciones de correo electrónico SMTP del programador.
Realice los siguientes pasos:
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 manejar 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 admitidos, 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:
Utilizar una cartera gestionada por el cliente con notificaciones por correo electrónico del programador
Describe los pasos para utilizar el servidor de correo electrónico SMTP del planificador 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 sobre el uso de una cartera gestionada por el cliente con llamadas externas
Proporciona notas para utilizar una cartera gestionada por el cliente con llamadas externas.
-
Las solicitudes
DBMS_CLOUD
no respetan la cartera personalizada definida 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 definida conUTL_HTTP.set_wallet
. -
Están soportadas tanto las carteras de conexión automática como las 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 se le debe otorgar el privilegio del sistemaCREATE ANY DIRECTORY
. -
La API
UTL_HTTP.SET_AUTHENTICATION_FROM_WALLET
está permitida. Consulte el procedimiento SET_AUTHENTICATION_FROM_WALLET para obtener más información. -
El prefijo
file:
está soportado conUTL_HTTP.set_wallet
siempre que la ruta de acceso de archivo especificada sea compatible conPATH_PREFIX
.Puede determinar la conformidad
PATH_PREFIX
para una ruta proporcionada como entrada con el procedimientoDBMS_PDB_IS_VALID_PATH
(otorgado 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 al utilizar
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 le 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 de
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
.
-