Fazer Chamadas Externas Usando uma Wallet Gerenciada pelo Cliente
Quando sua instância do Autonomous Database estiver em um ponto final privado, você poderá usar uma wallet gerenciada pelo cliente com procedimentos em UTL_HTTP
, DBMS_LDAP
, UTL_SMTP
ou UTL_TCP
. Você também pode usar uma wallet gerenciada pelo cliente quando o scheduler envia notificações por e-mail SMTP para vários eventos relacionados a jobs do scheduler.
- Sobre o Uso de uma Wallet Gerenciada pelo Cliente com Chamadas Externas
Quando sua instância do Autonomous Database estiver em um ponto final privado, você poderá usar uma wallet gerenciada pelo cliente para tratar chamadas externas ou com o scheduler quando o scheduler enviar e-mail para vários eventos relacionados a jobs do scheduler. - Pré-requisitos para Usar uma Wallet Gerenciada pelo Cliente com Chamadas Externas
Mostra as etapas de pré-requisito para usar uma wallet gerenciada pelo cliente com chamadas externas ou com notificações por e-mail SMTP do scheduler. - Usar uma Wallet Gerenciada pelo Cliente para Chamadas Externas com UTL_HTTP
Quando sua instância do Autonomous Database estiver em um ponto final privado, você poderá usar uma wallet gerenciada pelo cliente para tratar chamadas externas. - Usar uma Wallet Gerenciada pelo Cliente com Notificações por E-mail do Scheduler
Descreve as etapas para usar o servidor de e-mail SMTP do scheduler com uma wallet gerenciada pelo cliente. - Observações sobre o Uso de uma Wallet Gerenciada pelo Cliente com Chamadas Externas
Fornece observações sobre o uso de uma wallet gerenciada pelo cliente com chamadas externas.
Tópico principal: Desenvolver
Sobre o Uso de uma Wallet Gerenciada pelo Cliente com Chamadas Externas
Quando sua instância do Autonomous Database estiver em um ponto final privado, você poderá usar uma wallet gerenciada pelo cliente para tratar chamadas externas ou com o programador quando o programador enviar e-mail para vários eventos relacionados a jobs do programador.
No Autonomous Database, você pode fazer chamadas externas para qualquer uma das seguintes finalidades:
-
Para usar serviços Web com
UTL_HTTP
. -
Para acessar dados de servidores LDAP usando
DBMS_LDAP
. -
Para enviar um e-mail com
UTL_SMTP
. -
Para estabelecer comunicação com servidores externos baseados em TCP/IP usando TCP/IP com
UTL_TCP
. -
Para notificações por e-mail de job do Oracle Scheduler.
Por padrão, quando você usa procedimentos nesses pacotes, o Autonomous Database mantém uma wallet interna e sempre usa conexões seguras (a wallet gerenciada pela Oracle contém mais de 90 dos certificados SSL raiz e intermediários confiáveis mais comuns). Quando seu Autonomous Database reside em um ponto final privado, você tem a opção de usar a wallet gerenciada pela Oracle padrão com as certificações SLL confiáveis e intermediárias ou pode fornecer uma wallet gerenciada pelo cliente.
Quando seu Autonomous Database reside em um ponto final privado, você pode especificar uma wallet gerenciada pelo cliente para UTL_HTTP
, UTL_SMTP
, DBMS_LDAP
e DBMS_NETWORK_ACL_ADMIN
usando os seguintes procedimentos 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
Nessas chamadas, dependendo do procedimento, use o parâmetro path
ou wallet_path
para especificar uma wallet gerenciada pelo cliente. Você define o diretório da wallet com o prefixo DIR:
e inclui um caminho da wallet. Por exemplo:
UTL_HTTP.set_wallet('DIR:WALLET_DIR', 'password');
O usuário atual que chama a API deve ter privilégios READ
no objeto de diretório ou receber o privilégio de sistema CREATE ANY DIRECTORY
.
O prefixo DIR:
é o formulário preferencial a ser usado para especificar uma wallet gerenciada pelo cliente. Além disso, o prefixo file:
é suportado. Por exemplo:
UTL_HTTP.set_wallet('file:WALLET_DIR/wallet.sso', 'password');
Consulte Usar uma Wallet Gerenciada pelo Cliente para Chamadas Externas com UTL_HTTP para obter mais informações:
Sobre o Uso de uma Wallet Gerenciada pelo Cliente com o Servidor de E-mail do Scheduler
O servidor de e-mail do scheduler está disponível para enviar notificações por e-mail para vários eventos relacionados ao scheduler, como notificação de jobs iniciados, com falha ou concluídos. Por padrão, o servidor de e-mail SMTP do scheduler usa a wallet definida na propriedade SSL_WALLET
para comunicações SSL/TLS. Opcionalmente, você pode usar uma wallet gerenciada pelo cliente com o servidor de e-mail SMTP do scheduler.
Os seguintes atributos globais suportam o uso de uma wallet gerenciada pelo cliente:
-
EMAIL_SERVER_WALLET_DIRECTORY
: é definido como um objeto de diretório que especifica o caminho no qual a wallet SSL reside. EMAIL_SERVER_WALLET_CREDENTIAL
: é definido como um objeto de credencial com um par nome de usuário/senha, em que o nome de usuário é qualquer valor e a senha é a senha da wallet SSL.
Defina valores para esses atributos usando DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
.
Para obter mais informações, consulte:
Tópico principal: Fazer Chamadas Externas Usando uma Wallet Gerenciada pelo Cliente
Pré-requisitos para Usar uma Wallet Gerenciada pelo Cliente com Chamadas Externas
Mostra as etapas de pré-requisito para usar uma wallet gerenciada pelo cliente com chamadas externas ou com notificações por e-mail SMTP do scheduler.
Execute as etapas de pré-requisito:
Tópico principal: Fazer Chamadas Externas Usando uma Wallet Gerenciada pelo Cliente
Use uma Wallet Gerenciada pelo Cliente para Chamadas Externas com UTL_HTTP
Quando sua instância do Autonomous Database estiver em um ponto final privado, você poderá usar uma wallet gerenciada pelo cliente para tratar chamadas externas.
Essas etapas descrevem o uso de uma wallet gerenciada pelo cliente com UTL_HTTP
. As etapas são as mesmas para os outros pacotes suportados, incluindo: DMBS_LDAP
, UTL_SMTP
e UTL_TCP
.
Execute as etapas de pré-requisito para usar uma wallet gerenciada pelo cliente. Consulte Pré-requisitos para Usar uma Wallet Gerenciada pelo Cliente com Chamadas Externas para obter mais informações.
Para configurar um Autonomous Database para usar uma wallet gerenciada pelo cliente:
Tópico principal: Fazer Chamadas Externas Usando uma Wallet Gerenciada pelo Cliente
Usar uma Wallet Gerenciada pelo Cliente com Notificações por E-mail do Scheduler
Descreve as etapas para usar o servidor de e-mail SMTP do scheduler com uma wallet gerenciada pelo cliente.
Execute as etapas de pré-requisito para usar uma wallet gerenciada pelo cliente. Consulte Pré-requisitos para Usar uma Wallet Gerenciada pelo Cliente com Chamadas Externas para obter mais informações.
Para usar uma wallet gerenciada pelo cliente com o servidor de e-mail do scheduler:
Tópico principal: Fazer Chamadas Externas Usando uma Wallet Gerenciada pelo Cliente
Observações sobre o Uso de uma Wallet Gerenciada pelo Cliente com Chamadas Externas
Fornece observações para usar uma wallet gerenciada pelo cliente com chamadas externas.
-
As solicitações
DBMS_CLOUD
não respeitam a wallet personalizada definida comUTL_HTTP.set_wallet
. Isso incluiDBMS_CLOUD.SEND_REQUEST
e todo o acesso de armazenamento de objetos para tabelas externasDBMS_CLOUD
que você define comDBMS_CLOUD.CREATE_EXTERNAL_TABLE
,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
ouDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
. Quando você executa uma consulta em uma tabela externa criada com um procedimentoDBMS_CLOUD
, as consultas não respeitam a wallet personalizada definida comUTL_HTTP.set_wallet
. -
As solicitações
APEX_WEB_SERVICE
não respeitam a wallet personalizada definida comUTL_HTTP.set_wallet
.Para usar uma wallet gerenciada pelo cliente com o APEX, especifique o parâmetro
p_wallet_path
nas chamadas de APIAPEX_WEB_SERVICE
ou defina a definição de instância do Caminho da Wallet no APEX Administration Services.Consulte Acessar Oracle APEX Administration Services para obter mais informações.
-
Há suporte para wallets de log-in automático e wallets protegidas por senha. Quando você usar uma wallet de log-in automático, especifique
NULL
para o parâmetrowallet_password
. -
O usuário atual que chama a API
UTL_HTTP.set_wallet
deve ter privilégiosREAD
no objeto de diretório ou receber o privilégio de sistemaCREATE ANY DIRECTORY
. -
A API
UTL_HTTP.SET_AUTHENTICATION_FROM_WALLET
é permitida. Consulte SET_AUTHENTICATION_FROM_WALLET Procedimento para obter mais informações. -
O prefixo
file:
é suportado comUTL_HTTP.set_wallet
desde que o caminho do arquivo especificado seja compatível comPATH_PREFIX
.Você pode determinar a conformidade
PATH_PREFIX
de um caminho fornecido como entrada com o procedimentoDBMS_PDB_IS_VALID_PATH
(concedido aPUBLIC
, incluindo o usuárioADMIN
).Por exemplo:
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 garantir a compatibilidade com versões anteriores quando você usa
UTL_HTTP.set_wallet
, nos casos em que o caminho da wallet é ignorado, os valores de entrada, comofile:
,NULL
etc., são aceitos. Esses valores são ignorados e especificados para usar o caminho da wallet SSL padrão comUTL_HTTP.set_wallet
. -
As APIs de ACL da wallet
DBMS_NETWORK_ACL_ADMIN
, comoAPPEND_WALLET_ACL
, são suportadas. Esses procedimentos permitem conceder/revogar privilégios de ACL da wallet. Para obter mais informações, consulte DBMS_NETWORK_ACL_ADMIN. -
Para suportar o uso das credenciais de senha em uma wallet SSL para autenticação, o usuário atual que chama APIs
UTL_HTTP
deve ter o privilégio de ACL "use-passwords
" no caminho da wallet. -
Observações para definir
EMAIL_SERVER_WALLET_DIRECTORY
eEMAIL_SERVER_WALLET_CREDENTIAL
comDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
:-
Para definir os valores de atributo com
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
, você deve ser um usuário administrativo ou um usuário com privilégiosMANAGE SCHEDULER
(o usuário ADMIN tem esses privilégios). - Além do privilégio
MANAGE SCHEDULER
, o usuário que chamaDBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
deve ter o privilégioREAD
no objeto de diretório definido comEMAIL_SERVER_WALLET_DIRECTORY
e o privilégioEXECUTE
no objeto de credencial definido comEMAIL_SERVER_WALLET_CREDENTIAL
.
-
Tópico principal: Fazer Chamadas Externas Usando uma Wallet Gerenciada pelo Cliente