17.6.1 Web資格証明の理解

Web資格証明を使用して、外部RESTサービスまたはREST対応SQLサービスに接続します。

Web資格証明を作成すると、Oracle APEXコンポーネントおよびAPIで使用する認証資格証明が安全に格納および暗号化されます。資格証明は、クリア・テキストで取得できません。資格証明はワークスペースレベルで格納されるため、すべてのアプリケーションに表示されます。

17.6.1.1 有効なURLの定義によるWeb資格証明の保護

有効なURLを追加することで、Web資格証明を保護します。

「URLに対して有効」属性に有効なURLを追加して、オプションでWeb資格証明を保護できます。「URLに対して有効」属性にURLを追加すると、APEXが機密性の高い資格証明を別のサーバーに誤って送信するのを防ぐことができます。Web資格証明が使用されるたびに、APEXはURLが「URLに対して有効」属性で定義されているものと一致するかどうかをチェックします。URLが一致しない場合は、APEXでランタイム・エラー「資格証明をこのURLエンドポイントに使用することは許可されません。」が発生します。

この属性にURLを追加する場合は、各URLを新しい行に配置します。使用するURLエンドポイントは、ここで指定するURLのいずれかで始まる必要があります。例は、フィールドレベル・ヘルプを参照してください。

17.6.1.2 Web資格証明でサポートされている認証タイプについて

Web資格証明でサポートされている認証タイプについて説明します。

Web資格証明では、次の認証タイプがサポートされます。

  • 基本認証 - 認可リクエスト・ヘッダーとしてBase64エンコード形式のユーザー名とパスワードを送信します。

  • OAuth2クライアント資格証明フロー - APEXは、トークン・サーバーURLを使用して、クライアントIDおよびクライアント・シークレットをアクセス・トークンと交換します。その後、アクセス・トークンを使用して実際のリクエストが実行されます。アクセス・トークンの有効期限が切れると、APEXは新しいトークンを透過的にリクエストします。

  • HTTPヘッダー - 資格証明はHTTPヘッダーとしてRESTリクエストに追加されます。資格証明の名前はHTTPヘッダー名で、資格証明のシークレットはHTTPヘッダー値です。APEXでは、これらのシークレットはデバッグ・ログまたはその他のログに追加されません。

  • URL問合せ文字列: 資格証明は、問合せ文字列パラメータとしてRESTリクエストのURLに追加されます(たとえば: ?name=value)。このオプションは、APIキーで役に立つ場合があります。APEXでは、これらのシークレットはデバッグ・ログまたはその他のログに追加されません。ただし、プロキシ・サーバーまたはその他の中間サーバーは、これらの資格証明をログ・ファイルに記録します。

17.6.1.3 Web資格証明でのデータベース資格証明の使用

Web資格証明でのデータベース資格証明の使用について学習します。

ノート:

この機能は、Oracle Databaseリリース23cまたはAutonomous Databaseリリース19c以降でのみ使用できます。

Oracle Database 23cまたはAutonomous Database 19c以降については、Web資格証明が「基本認証」または「OAuth2クライアント資格証明」タイプである場合、Web資格証明はデータベース資格証明を参照してクライアントIDおよびクライアント・シークレットを格納できます。他のWeb資格証明タイプでは、データベース資格証明はサポートされていません。

データベース資格証明を使用すると、実行されるHTTPリクエストの動作およびWeb資格証明の機能が変わります:

  • データベース資格証明を使用する場合、HTTPリクエストはすべて、APEXエンジンのコンテキストではなく、アプリケーションの解析スキーマのコンテキストで実行されます。したがって、PL/SQLネットワークACLをアプリケーションの解析スキーマに付与する必要があります。さらに学習するには、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』「DBMS_NETWORK_ACL_ADMIN」を参照してください。
  • データベース資格証明はデータベースによって完全に保持され、Oracle APEXは、格納されているシークレットにアクセスできません。APEX「URLに対して有効」属性を強制できないため、データベース資格証明を使用する場合、この属性は無効になります。

ヒント:

DBMS_CREDENTIALまたはDBMS_CLOUDパッケージを使用して、データベース資格証明を保持できます。

インスタンスおよびスキーマ・データベース資格証明について

Web資格証明がデータベース資格証明を参照する場合、アプリケーションの解析スキーマからデータベース資格証明にアクセスできる必要があります。INSTANCE_DBMS_CREDENTIAL_ENABLEDインスタンス・パラメータが有効になっている('Y'値に設定されている)場合は、APEXエンジン・スキーマ(APEX_NNNNNN)からアクセスできるデータベース資格証明をすべてのワークスペースで使用できます。

関連項目:

『Oracle APEX APIリファレンス』の「APEX_INSTANCE_ADMIN」、「使用可能なパラメータ値」INSTANCE_DBMS_CREDENTIAL_ENABLED

17.6.1.4 Web資格証明のエクスポートおよびインポート

Web資格証明のエクスポートおよびインポートについて説明します。

アプリケーションをエクスポートすると、使用されている資格証明がエクスポート・ファイルに追加されます。アプリケーションを別のワークスペースにインポートすると、APEXは、ターゲット・ワークスペースにすでに同じ静的IDの資格証明が含まれているかどうかをチェックします。資格証明がすでに存在する場合、アプリケーションでそれが使用されます。そうでない場合は、インポート・ファイルからの資格証明が、ターゲット・ワークスペースに作成されます。