顧客管理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の使用を参照してください:
スケジューラEメール・サーバーでの顧客管理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を使用した外部コールの実行
スケジューラEメール通知での顧客管理Walletの使用
スケジューラSMTP電子メール・サーバーと顧客管理ウォレットを使用するステップについて説明します。
顧客管理ウォレットを使用するには、前提条件ステップを実行します。詳細は、外部コールで顧客管理Walletを使用するための前提条件を参照してください。
スケジューラEメール・サーバーで顧客管理ウォレットを使用するには:
親トピック: 顧客管理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
で設定したカスタム・ウォレットを受け入れません。 -
自動ログイン・ウォレットとパスワードで保護されたウォレットの両方がサポートされています。自動ログイン・ウォレットを使用する場合は、
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
などの入力値が受け入れられます。これらの値は無視され、デフォルトのSSLウォレット・パスをUTL_HTTP.set_wallet
とともに使用するように指定されます。 -
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ユーザーにはこれらの権限があります)。 MANAGE SCHEDULER
権限に加えて、DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE
を起動するユーザーには、EMAIL_SERVER_WALLET_DIRECTORY
で設定したディレクトリ・オブジェクトに対するREAD
権限と、EMAIL_SERVER_WALLET_CREDENTIAL
で設定した資格証明オブジェクトに対するEXECUTE
権限が必要です。
-
親トピック: 顧客管理Walletを使用した外部コールの実行