顧客管理Walletを使用した外部コールの実行
Autonomous Databaseインスタンスがプライベート・エンドポイントにある場合は、UTL_HTTP
、DBMS_LDAP
、UTL_SMTP
またはUTL_TCP
の手順で顧客管理ウォレットを使用できます。スケジューラがスケジューラ・ジョブに関連する様々なイベントに対してSMTP電子メール通知を送信する場合は、顧客管理ウォレットを使用することもできます。
- 外部コールでの顧客管理Walletの使用について
Autonomous Databaseインスタンスがプライベート・エンドポイントにある場合、顧客管理ウォレットを使用して外部コールを処理したり、スケジューラがスケジューラ・ジョブに関連する様々なイベントの電子メールを送信するときにスケジューラを使用して処理できます。 - 外部コールで顧客管理Walletを使用するための前提条件
外部コールまたはスケジューラのSMTP電子メール通知で顧客管理ウォレットを使用する前提条件ステップを示します。 - UTL_HTTPによる外部コールに対する顧客管理Walletの使用
Autonomous Databaseインスタンスがプライベート・エンドポイントにある場合は、顧客管理ウォレットを使用して外部コールを処理できます。 - スケジューラ電子メール通知での顧客管理Walletの使用
顧客管理ウォレットでスケジューラSMTP電子メール・サーバーを使用するステップについて説明します。 - 外部コールで顧客管理Walletを使用するためのノート
外部コールで顧客管理ウォレットを使用するためのノートを提供します。
親トピック: 開発
外部コールでの顧客管理Walletの使用について
Autonomous Databaseインスタンスがプライベート・エンドポイントにある場合は、顧客管理ウォレットを使用して外部コールを処理するか、スケジューラがスケジューラ・ジョブに関連する様々なイベントの電子メールを送信するときにスケジューラを使用して処理できます。
Autonomous Databaseでは、次のいずれかの目的で外部コールを実行できます:
-
UTL_HTTP
でWebサービスを使用します。 -
DBMS_LDAP
を使用してLDAPサーバーからデータにアクセスします。 -
UTL_SMTP
で電子メールを送信する場合。 -
UTL_TCP
でTCP/IPを使用して外部TCP/IPベースのサーバーと通信する場合。 -
Oracle Schedulerジョブの電子メール通知用。
デフォルトでは、これらのパッケージのプロシージャを使用すると、Autonomous Databaseは内部ウォレットを維持し、常にセキュアな接続を使用します(Oracle管理ウォレットには、最も一般的な信頼できるルートおよび中間SSL証明書の90を超えるものが含まれています)。Autonomous Databaseがプライベート・エンドポイントにある場合、信頼できる中間SLL認定でデフォルトのOracle管理ウォレットを使用するか、顧客管理ウォレットを提供するかを選択できます。
Autonomous Databaseがプライベート・エンドポイントにある場合、次のPL/SQLプロシージャを使用して、UTL_HTTP
、UTL_SMTP
、DBMS_LDAP
およびDBMS_NETWORK_ACL_ADMIN
の顧客管理ウォレットを指定できます:
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
これらのコールでは、プロシージャに応じて、path
またはwallet_path
パラメータを使用して、顧客管理ウォレットを指定します。ウォレット・ディレクトリにはDIR:
接頭辞を設定し、ウォレット・パスを含めます。たとえば:
UTL_HTTP.set_wallet('DIR:WALLET_DIR', 'password');
APIを呼び出す現行のユーザーは、ディレクトリ・オブジェクトに対するREAD
権限を持っているか、CREATE ANY DIRECTORY
システム権限を付与されている必要があります。
DIR:
接頭辞は、顧客管理ウォレットの指定に使用する推奨形式です。さらに、file:
接頭辞がサポートされています。たとえば:
UTL_HTTP.set_wallet('file:WALLET_DIR/wallet.sso', 'password');
詳細は、UTL_HTTPでの外部コールに対する顧客管理Walletの使用を参照してください:
Scheduler Email Serverでの顧客管理Walletの使用について
スケジューラEメール・サーバーは、スケジューラに関連する様々なイベント(開始済、失敗または完了済ジョブの通知など)のEメール通知を送信できます。デフォルトでは、スケジューラのSMTP電子メール・サーバーは、SSL/TLS通信にSSL_WALLET
プロパティで定義されたウォレットを使用します。オプションで、スケジューラSMTP電子メール・サーバーとともに顧客管理ウォレットを使用できます。
次のグローバル属性は、顧客管理ウォレットの使用をサポートします。
-
EMAIL_SERVER_WALLET_DIRECTORY
: SSLウォレットが存在するパスを指定するディレクトリ・オブジェクトに設定されます。 EMAIL_SERVER_WALLET_CREDENTIAL
: ユーザー名/パスワードのペアを持つ資格証明オブジェクトに設定されます。ここで、ユーザー名は任意の値で、パスワードはSSLウォレット・パスワードです。
これらの属性の値は、DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
を使用して設定します。
詳細は、次を参照してください:
親トピック: 顧客管理Walletを使用した外部コールの実行
外部コールで顧客管理Walletを使用するための前提条件
外部コールまたはスケジューラのSMTP電子メール通知で顧客管理ウォレットを使用するための前提条件ステップを示します。
前提条件ステップを実行します。
親トピック: 顧客管理Walletを使用した外部コールの実行
UTL_HTTPでの外部コールに対する顧客管理Walletの使用
Autonomous Databaseインスタンスがプライベート・エンドポイントにある場合、顧客管理ウォレットを使用して外部コールを処理できます。
これらのステップでは、UTL_HTTP
での顧客管理ウォレットの使用について説明します。このステップは、DMBS_LDAP
、UTL_SMTP
、UTL_TCP
など、サポートされている他のパッケージについても同じです。
顧客管理ウォレットを使用するには、前提条件ステップを実行します。詳細は、外部コールで顧客管理Walletを使用するための前提条件を参照してください。
顧客管理ウォレットを使用するようにAutonomous Databaseを構成するには:
親トピック: 顧客管理Walletを使用した外部コールの実行
スケジューラ電子メール通知での顧客管理Walletの使用
顧客管理ウォレットでスケジューラSMTP電子メール・サーバーを使用するステップについて説明します。
顧客管理ウォレットを使用するには、前提条件ステップを実行します。詳細は、外部コールで顧客管理Walletを使用するための前提条件を参照してください。
スケジューラ電子メール・サーバーで顧客管理ウォレットを使用するには:
親トピック: 顧客管理Walletを使用した外部コールの実行
外部コールでの顧客管理Walletの使用に関するノート
外部コールで顧客管理ウォレットを使用するためのノートを提供します。
-
DBMS_CLOUD
リクエストでは、UTL_HTTP.set_wallet
で設定したカスタム・ウォレットは適用されません。これには、DBMS_CLOUD.SEND_REQUEST
と、DBMS_CLOUD.CREATE_EXTERNAL_TABLE
、DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
またはDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
で定義したDBMS_CLOUD
外部表に対するすべてのオブジェクト・ストレージ・アクセスが含まれます。DBMS_CLOUD
プロシージャを使用して作成した外部表に対して問合せを実行すると、UTL_HTTP.set_wallet
で設定したカスタム・ウォレットは問合せの対象になりません。 -
APEX_WEB_SERVICE
リクエストでは、UTL_HTTP.set_wallet
で設定したカスタム・ウォレットは適用されません。APEXで顧客管理ウォレットを使用するには、
APEX_WEB_SERVICE
APIコールでp_wallet_path
パラメータを指定するか、APEX管理サービスのWalletパス・インスタンス設定を設定します。詳細は、Oracle APEX管理サービスへのアクセスを参照してください。
-
自動ログイン・ウォレットおよびパスワードで保護されたウォレットの両方がサポートされています。自動ログイン・ウォレットを使用する場合は、
wallet_password
パラメータにNULL
を指定します。 -
UTL_HTTP.set_wallet
APIを呼び出す現行のユーザーは、ディレクトリ・オブジェクトに対するREAD
権限を持っているか、CREATE ANY DIRECTORY
システム権限を付与されている必要があります。 -
UTL_HTTP.SET_AUTHENTICATION_FROM_WALLET
APIを使用できます。詳細は、SET_AUTHENTICATION_FROM_WALLETプロシージャを参照してください。 -
file:
接頭辞は、指定されたファイル・パスがPATH_PREFIX
に準拠しているかぎり、UTL_HTTP.set_wallet
でサポートされます。DBMS_PDB_IS_VALID_PATH
プロシージャ(ADMIN
ユーザーを含むPUBLIC
に付与)を使用して、入力として指定されたパスのPATH_PREFIX
コンプライアンスを決定できます。たとえば:
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; /
-
UTL_HTTP.set_wallet
の使用時に下位互換性を確保するために、ウォレット・パスが無視される場合は、file:
、NULL
などの入力値が受け入れられます。これらの値は無視され、UTL_HTTP.set_wallet
でデフォルトのSSLウォレット・パスを使用するように指定します。 -
APPEND_WALLET_ACL
などのDBMS_NETWORK_ACL_ADMIN
ウォレットACL APIがサポートされています。これらのプロシージャを使用すると、ウォレットACL権限を付与/取り消すことができます。詳細は、DBMS_NETWORK_ACL_ADMINを参照してください。 -
認証用のSSLウォレットでのパスワード資格証明の使用をサポートするには、
UTL_HTTP
APIを呼び出す現在のユーザーに、ウォレット・パスに対するuse-passwords
ACL権限が必要です。 -
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
でEMAIL_SERVER_WALLET_DIRECTORY
およびEMAIL_SERVER_WALLET_CREDENTIAL
を設定するためのノート:-
DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
を使用して属性値を設定するには、管理ユーザーまたはMANAGE SCHEDULER
権限を持つユーザーである必要があります(ADMINユーザーにはこれらの権限があります)。 DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
を起動するユーザーには、MANAGE SCHEDULER
権限に加えて、EMAIL_SERVER_WALLET_DIRECTORY
で設定したディレクトリ・オブジェクトに対するREAD
権限、およびEMAIL_SERVER_WALLET_CREDENTIAL
で設定した資格証明オブジェクトに対するEXECUTE
権限が必要です。
-
親トピック: 顧客管理Walletを使用した外部コールの実行