Fazer Chamadas Externas Usando uma Wallet Gerenciada pelo Cliente
Quando sua instância do Autonomous Database está em um ponto final privado, você pode 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 ele 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 de e-mail SMTP do scheduler. - Usar uma Wallet Gerenciada pelo Cliente para Chamadas Externas com o 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 scheduler quando ele enviar e-mail para vários eventos relacionados a jobs do scheduler.
No Autonomous Database, você pode fazer chamadas externas para qualquer uma das seguintes finalidades:
-
Para usar serviços Web com o
UTL_HTTP
. -
Para acessar dados de servidores LDAP usando
DBMS_LDAP
. -
Para enviar email com
UTL_SMTP
. -
Para estabelecer comunicação com servidores externos baseados em TCP/IP usando TCP/IP com o
UTL_TCP
. -
Para notificações de e-mail do 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 intermediários e de raiz confiável mais comuns). Quando o 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 o 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. Defina o diretório da wallet com o prefixo DIR:
e inclua um caminho da wallet. Por exemplo:
UTL_HTTP.set_wallet('DIR:WALLET_DIR', 'password');
O usuário atual que está chamando 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 o UTL_HTTP para obter mais informações:
Sobre o Uso de uma Wallet Gerenciada pelo Cliente com o Scheduler Email Server
O servidor de e-mail do scheduler está disponível para enviar notificações por e-mail sobre 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 reside a wallet SSL. EMAIL_SERVER_WALLET_CREDENTIAL
: é definido como um objeto de credencial com um par nome do usuário/senha, em que o nome do usuário é qualquer valor e a senha é a senha da wallet SSL.
Você define 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
Usar uma Wallet Gerenciada pelo Cliente para Chamadas Externas com o 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.
Estas 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 para Usar 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 ao 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 que criou 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
em chamadas de APIAPEX_WEB_SERVICE
ou defina a definição de instância do Caminho da Wallet no APEX Administration Services.Consulte Acessar o Oracle APEX Administration Services para obter mais informações.
-
Tanto carteiras de login automático quanto carteiras protegidas por senha são suportadas. Ao usar uma wallet de log-in automático, especifique
NULL
para o parâmetrowallet_password
. -
O usuário atual que está chamando 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 Procedures para obter mais informações. -
O prefixo
file:
é suportado comUTL_HTTP.set_wallet
, desde que o caminho de arquivo especificado seja compatível comPATH_PREFIX
.Você pode determinar a conformidade de
PATH_PREFIX
para 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 ACL da wallet
DBMS_NETWORK_ACL_ADMIN
, comoAPPEND_WALLET_ACL
, são suportadas. Esses procedimentos permitem conceder/revogar privilégios de ACL da wallet. Consulte DBMS_NETWORK_ACL_ADMIN para obter mais informações. -
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 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 está chamandoDBMS_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