Effettua chiamate esterne utilizzando un wallet gestito dal cliente
Quando l'istanza di Autonomous Database si trova in un endpoint privato, è possibile utilizzare un wallet gestito dai clienti con le procedure disponibili in UTL_HTTP
, DBMS_LDAP
, UTL_SMTP
o UTL_TCP
. È inoltre possibile utilizzare un wallet gestito dal cliente quando lo scheduler invia notifiche e-mail SMTP per vari eventi correlati ai job dello scheduler.
- Informazioni sull'uso di un wallet gestito dal cliente con chiamate esterne
Quando l'istanza di Autonomous Database si trova in un endpoint privato, è possibile utilizzare un wallet gestito dal cliente per gestire le chiamate esterne o con lo scheduler quando lo scheduler invia un messaggio di posta elettronica per vari eventi correlati ai job dello scheduler. - Prerequisiti per l'utilizzo di un wallet gestito dal cliente con chiamate esterne
Mostra i passi dei prerequisiti per l'utilizzo di un wallet gestito dal cliente con chiamate esterne o con notifiche e-mail SMTP dello scheduler. - Usa un wallet gestito dal cliente per le chiamate esterne con UTL_HTTP
Quando l'istanza di Autonomous Database si trova in un endpoint privato, è possibile utilizzare un wallet gestito dal cliente per gestire le chiamate esterne. - Usa un wallet gestito dal cliente con notifiche e-mail scheduler
Descrive i passi per utilizzare il server e-mail SMTP scheduler con un wallet gestito dal cliente. - Note per l'utilizzo di un wallet gestito dal cliente con chiamate esterne
Fornisce note per l'utilizzo di un wallet gestito dal cliente con chiamate esterne.
Argomento padre: Sviluppa
Informazioni sull'uso di un wallet gestito dal cliente con chiamate esterne
Quando l'istanza di Autonomous Database si trova in un endpoint privato, è possibile utilizzare un wallet gestito dai clienti per gestire le chiamate esterne o con lo scheduler quando lo scheduler invia un messaggio di posta elettronica per vari eventi correlati ai job dello scheduler.
In Autonomous Database è possibile effettuare chiamate esterne per uno dei seguenti scopi:
-
Per utilizzare i servizi Web con
UTL_HTTP
. -
Per accedere ai dati dai server LDAP utilizzando
DBMS_LDAP
. -
Per inviare email con
UTL_SMTP
. -
Per comunicare con i server esterni basati su TCP/IP utilizzando TCP/IP con
UTL_TCP
. -
Per le notifiche e-mail dei job di Oracle Scheduler.
Per impostazione predefinita, quando si utilizzano le procedure in questi package, Autonomous Database gestisce un wallet interno e utilizza sempre connessioni sicure (il wallet gestito da Oracle contiene più di 90 dei certificati SSL radice e intermedi sicuri più comuni). Quando Autonomous Database risiede in un endpoint privato, è possibile utilizzare il wallet gestito Oracle predefinito con certificazioni SLL sicure e intermedie oppure fornire un wallet gestito dal cliente.
Quando Autonomous Database si trova in un endpoint privato, è possibile specificare un wallet gestito dal cliente per UTL_HTTP
, UTL_SMTP
, DBMS_LDAP
e DBMS_NETWORK_ACL_ADMIN
utilizzando le procedure PL/SQL riportate di seguito.
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
In queste chiamate, a seconda della procedura, utilizzare il parametro path
o wallet_path
per specificare un wallet gestito dal cliente. Impostare la directory del wallet con il prefisso DIR:
e includere un percorso del wallet. Ad esempio:
UTL_HTTP.set_wallet('DIR:WALLET_DIR', 'password');
L'utente corrente che richiama l'API deve disporre dei privilegi READ
sull'oggetto directory oppure deve disporre del privilegio di sistema CREATE ANY DIRECTORY
.
Il prefisso DIR:
è il form preferito da utilizzare per specificare un wallet gestito dal cliente. È inoltre supportato il prefisso file:
. Ad esempio:
UTL_HTTP.set_wallet('file:WALLET_DIR/wallet.sso', 'password');
Per ulteriori informazioni, vedere Utilizzare un wallet gestito dal cliente per le chiamate esterne con UTL_HTTP.
Informazioni sull'uso di un wallet gestito dal cliente con Scheduler Email Server
Il server e-mail dello scheduler è disponibile per l'invio di notifiche e-mail per vari eventi correlati allo scheduler, ad esempio la notifica dei job avviati, non riusciti o completati. Per impostazione predefinita, il server di posta elettronica SMTP dello scheduler utilizza il wallet definito nella proprietà SSL_WALLET
per le comunicazioni SSL/TLS. Facoltativamente, è possibile utilizzare un wallet gestito dal cliente con il server di posta SMTP dello scheduler.
I seguenti attributi globali supportano l'uso di un wallet gestito dal cliente:
-
EMAIL_SERVER_WALLET_DIRECTORY
: viene impostato su un oggetto directory che specifica il percorso in cui risiede il wallet SSL. EMAIL_SERVER_WALLET_CREDENTIAL
: viene impostato su un oggetto credenziali con una coppia nomeutente/password, dove nomeutente è un valore qualsiasi e password è la password del wallet SSL.
I valori per questi attributi vengono impostati utilizzando DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
.
Per ulteriori informazioni, vedere gli argomenti riportati di seguito.
Prerequisiti per l'uso di un wallet gestito dal cliente con chiamate esterne
Mostra i passi dei prerequisiti per utilizzare un wallet gestito dal cliente con chiamate esterne o con notifiche e-mail SMTP dello scheduler.
Eseguire i passi dei prerequisiti:
Utilizzare un wallet gestito dal cliente per le chiamate esterne con UTL_HTTP
Quando l'istanza di Autonomous Database si trova in un endpoint privato, è possibile utilizzare un wallet gestito dai clienti per gestire le chiamate esterne.
Questi passi descrivono l'uso di un wallet gestito dal cliente con UTL_HTTP
. I passi sono gli stessi per gli altri pacchetti supportati, tra cui DMBS_LDAP
, UTL_SMTP
e UTL_TCP
.
Eseguire i passi dei prerequisiti per utilizzare un wallet gestito dal cliente. Per ulteriori informazioni, vedere Prerequisiti per l'utilizzo di un wallet gestito dal cliente con chiamate esterne.
Per configurare un Autonomous Database in modo che utilizzi un wallet gestito dal cliente, effettuare le operazioni riportate di seguito.
Usa un wallet gestito dal cliente con notifiche e-mail scheduler
Descrive i passi per utilizzare il server e-mail SMTP dello scheduler con un wallet gestito dal cliente.
Eseguire i passi dei prerequisiti per utilizzare un wallet gestito dal cliente. Per ulteriori informazioni, vedere Prerequisiti per l'utilizzo di un wallet gestito dal cliente con chiamate esterne.
Per utilizzare un wallet gestito dal cliente con il server e-mail dello scheduler:
Note per l'utilizzo di un wallet gestito dal cliente con chiamate esterne
Fornisce note per l'utilizzo di un wallet gestito dal cliente con chiamate esterne.
-
Le richieste
DBMS_CLOUD
non soddisfano il wallet personalizzato impostato conUTL_HTTP.set_wallet
. Sono inclusiDBMS_CLOUD.SEND_REQUEST
e tutti gli accessi allo storage degli oggetti per le tabelle esterneDBMS_CLOUD
definite conDBMS_CLOUD.CREATE_EXTERNAL_TABLE
,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
oDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
. Quando si esegue una query su una tabella esterna creata con una proceduraDBMS_CLOUD
, le query non rispettano il wallet personalizzato impostato conUTL_HTTP.set_wallet
. -
Le richieste
APEX_WEB_SERVICE
non soddisfano il wallet personalizzato impostato conUTL_HTTP.set_wallet
.Per utilizzare un wallet gestito dal cliente con APEX, specificare il parametro
p_wallet_path
nelle chiamate APIAPEX_WEB_SERVICE
o impostare l'impostazione dell'istanza Percorso wallet in APEX Administration Services.Per ulteriori informazioni, vedere Accedere a Oracle APEX Administration Services.
-
Sono supportati sia i wallet di login automatico che i wallet protetti da password. Quando si utilizza un wallet di login automatico, specificare
NULL
per il parametrowallet_password
. -
L'utente corrente che richiama l'API
UTL_HTTP.set_wallet
deve disporre dei privilegiREAD
sull'oggetto directory oppure deve disporre del privilegio di sistemaCREATE ANY DIRECTORY
. -
L'API
UTL_HTTP.SET_AUTHENTICATION_FROM_WALLET
è consentita. Per ulteriori informazioni, vedere SET_AUTHENTICATION_FROM_WALLET Procedura. -
Il prefisso
file:
è supportato conUTL_HTTP.set_wallet
purché il percorso del file specificato sia conforme aPATH_PREFIX
.È possibile determinare la conformità
PATH_PREFIX
per un percorso fornito come input con la proceduraDBMS_PDB_IS_VALID_PATH
(concessa aPUBLIC
, incluso l'utenteADMIN
).Ad esempio:
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; /
-
Per garantire la compatibilità con le versioni precedenti quando si utilizza
UTL_HTTP.set_wallet
, nei casi in cui il percorso del wallet viene ignorato, vengono accettati valori di input qualifile:
,NULL
e così via. Questi valori vengono ignorati e specificare di utilizzare il percorso del wallet SSL predefinito conUTL_HTTP.set_wallet
. -
Sono supportate le interfacce API ACL del wallet
DBMS_NETWORK_ACL_ADMIN
, ad esempioAPPEND_WALLET_ACL
. Queste procedure consentono di concedere/revocare i privilegi ACL del wallet. Vedere DBMS_NETWORK_ACL_ADMIN. -
Per supportare l'uso delle credenziali password in un wallet SSL per l'autenticazione, l'utente corrente che richiama le API
UTL_HTTP
deve disporre del privilegio ACL "use-passwords
" nel percorso del wallet. -
Note per l'impostazione di
EMAIL_SERVER_WALLET_DIRECTORY
eEMAIL_SERVER_WALLET_CREDENTIAL
conDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
:-
Per impostare i valori degli attributi con
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, è necessario essere un utente amministrativo o un utente con privilegiMANAGE SCHEDULER
(l'utente ADMIN dispone di questi privilegi). - Oltre al privilegio
MANAGE SCHEDULER
, l'utente che richiamaDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
deve disporre del privilegioREAD
sull'oggetto directory impostato conEMAIL_SERVER_WALLET_DIRECTORY
e del privilegioEXECUTE
sull'oggetto credenziali impostato conEMAIL_SERVER_WALLET_CREDENTIAL
.
-