Effettua chiamate esterne utilizzando un wallet gestito dal cliente
Quando l'istanza di Autonomous Database si trova su un endpoint privato, è possibile utilizzare un wallet gestito dal cliente con procedure in UTL_HTTP
, DBMS_LDAP
, UTL_SMTP
o UTL_TCP
. È inoltre possibile utilizzare un wallet gestito dal cliente quando lo scheduler invia notifiche di posta elettronica SMTP per vari eventi relativi ai job dello scheduler.
- Informazioni sull'uso di un wallet gestito dal cliente con chiamate esterne
Quando l'istanza di Autonomous Database si trova su un endpoint privato, è possibile utilizzare un wallet gestito dal cliente per gestire le chiamate esterne o con lo scheduler quando lo scheduler invia messaggi di posta elettronica per vari eventi correlati ai job dello scheduler. - Prerequisiti per l'uso di un wallet gestito dal cliente con chiamate esterne
Mostra i passi dei prerequisiti per l'uso di un wallet gestito dal cliente con chiamate esterne o con notifiche e-mail SMTP dello scheduler. - Utilizzare un wallet gestito dal cliente per le chiamate esterne con UTL_HTTP
Quando l'istanza di Autonomous Database si trova su un endpoint privato, è possibile utilizzare un wallet gestito dal cliente per gestire le chiamate esterne. - Utilizzare un wallet gestito dal cliente con le notifiche e-mail dello scheduler
Descrive i passi per utilizzare il server e-mail SMTP dello 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 su un endpoint privato, è possibile utilizzare un wallet gestito dal cliente per gestire le chiamate esterne o con lo scheduler quando lo scheduler invia messaggi di posta elettronica per vari eventi correlati ai job dello scheduler.
In Autonomous Database è possibile effettuare chiamate esterne per uno degli scopi seguenti:
-
Per utilizzare i servizi Web con
UTL_HTTP
. -
Per accedere ai dati dai server LDAP utilizzando
DBMS_LDAP
. -
Per inviare e-mail a
UTL_SMTP
. -
Per comunicare con i server esterni basati su TCP/IP utilizzando TCP/IP con
UTL_TCP
. -
Per le notifiche e-mail del 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 su un endpoint privato, è possibile utilizzare il wallet gestito da Oracle predefinito con le certificazioni SLL sicure e intermedie oppure fornire un wallet gestito dal cliente.
Quando Autonomous Database risiede 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. Si imposta la directory del wallet con il prefisso DIR:
e si include 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 o ottenere il privilegio di sistema CREATE ANY DIRECTORY
.
Il prefisso DIR:
è il form preferito da utilizzare per specificare un wallet gestito dal cliente. Inoltre, il prefisso file:
è supportato. 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 elettronica SMTP dello scheduler.
Gli attributi globali riportati di seguito supportano l'utilizzo di un wallet gestito dal cliente.
-
EMAIL_SERVER_WALLET_DIRECTORY
: è impostato su un oggetto directory che specifica il percorso in cui risiede il wallet SSL. EMAIL_SERVER_WALLET_CREDENTIAL
: è impostato su un oggetto credenziale 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.
Argomento padre: Eseguire chiamate esterne utilizzando un wallet gestito dal cliente
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 di posta elettronica SMTP dello scheduler.
Eseguire i passi dei prerequisiti:
Argomento padre: Eseguire chiamate esterne utilizzando un wallet gestito dal cliente
Utilizzare un wallet gestito dal cliente per le chiamate esterne con UTL_HTTP
Quando l'istanza di Autonomous Database si trova su un endpoint privato, è possibile utilizzare un wallet gestito dal cliente 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'uso 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.
Argomento padre: Eseguire chiamate esterne utilizzando un wallet gestito dal cliente
Utilizzare un wallet gestito dal cliente con notifiche e-mail scheduler
Descrive i passi per utilizzare il server di posta elettronica 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'uso di un wallet gestito dal cliente con chiamate esterne.
Per utilizzare un wallet gestito dal cliente con il server di posta elettronica dello scheduler, effettuare le operazioni riportate di seguito.
Argomento padre: Eseguire chiamate esterne utilizzando 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.
-
Le richieste
DBMS_CLOUD
non rispettano 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 rispettano 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 del percorso del wallet in APEX Administration Services.Per ulteriori informazioni, vedere Accedere a Oracle APEX Administration Services.
-
Sono supportati sia i wallet con 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 o ottenere il privilegio di sistemaCREATE ANY DIRECTORY
. -
L'API
UTL_HTTP.SET_AUTHENTICATION_FROM_WALLET
è consentita. Per ulteriori informazioni, vedere SET_AUTHENTICATION_FROM_WALLET Procedure. -
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 specificano di utilizzare il percorso predefinito del wallet SSL conUTL_HTTP.set_wallet
. -
Le API ACL del wallet
DBMS_NETWORK_ACL_ADMIN
, ad esempioAPPEND_WALLET_ACL
, sono supportate. Queste procedure consentono di concedere/revocare i privilegi ACL del wallet. Per ulteriori informazioni, vedere DBMS_NETWORK_ACL_ADMIN. -
Per supportare l'uso delle credenziali della 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 credenziale impostato conEMAIL_SERVER_WALLET_CREDENTIAL
.
-
Argomento padre: Eseguire chiamate esterne utilizzando un wallet gestito dal cliente