19 プロキシの設定
プロキシを設定するには、webブラウザが接続できるURLを提供するプロキシ・サーバーを構成します。
プロキシ・サービス設定の構成
Oracle Content Managementにはプロキシ・サービスが含まれるため、Cross-Origin Resource Sharing (CORS)の制限があるRESTサービスを使用するか、サービス・アカウント資格証明が必要です。
プロキシ・サービスはリバース・プロキシ・サーバーです。 Webブラウザの接続先のURLが提供されます。 その後、プロキシ・サービスは、WebブラウザとリモートのRESTサービス(またはエンドポイント)の間の仲介者として機能します。 プロキシ・サービスでは、すべてのエンドポイントにCORSサポートが明示的に追加され、オプションでWebブラウザからのリクエストにサービス・アカウント資格証明を挿入できます。
CORSをすでにサポートし、サービス・アカウント資格証明を使用する必要がないRESTサーバー(またはエンドポイント)を使用している場合は、プロキシ・サービスに登録する必要はありません。 かわりに、コンテンツ管理のOracle Cloud REST APIに直接登録できます。
-
管理者としてOracle Content Management webアプリケーションにサインインした後、ナビゲーション・メニューの管理領域で「統合」をクリックします。
-
「プロキシ・サービス」の下で、「有効化」を選択します。
-
次のステップを使用して、エンドポイントで必要な資格証明を定義し、そのプロキシ・サービスを使用するエンドポイントを定義します。
資格証明
エンドポイントが資格証明を使用する場合、プロキシ・サービスは、Webブラウザによって行われたリクエストに(HTTP Authorizationヘッダーを介して)基本アクセス認証を追加します。 ブラウザ・リクエストにすでにAuthorizationヘッダーが含まれている場合、ブラウザ・リクエストのAuthorizationヘッダーが資格証明内の認可ヘッダーのかわりに使用されます。
これにより、ほとんどのリクエストに対して読取り専用資格証明を柔軟に提供できますが、個々のリクエストは必要に応じて独自の書込み可能な認証を提供できます。
エンドポイントに資格証明を指定すると、その資格証明で定義されているユーザーに付与されているのと同じ有効な権限が、エンドポイントのすべてのユーザーに付与されます。 セキュリティ・リスクを意図せずに作成しないように、次のことに注意してください:
-
絶対に必要な場合を除き、エンドポイントには資格証明を指定しないでください。 可能な場合は、ブラウザのリクエストによって、かわりに独自の認可ヘッダーが提供されます。
-
資格証明を指定する必要がある場合は、ターゲット・エンドポイントで読取り専用アクセス権がある資格証明を使用します。
-
エンドポイントで許可されるメソッドを、実際に必要なメソッドに限定します。 絶対に必要でないかぎり、エンドポイントでPUT、POSTおよびDELETEメソッドを必ず無効にしてください。
-
可能な場合、エンドポイントのターゲットURIを特定の機能領域に制限します。 たとえば、
http://example.api/などの完全なAPIにベースURIを指定するのではなく、http://example.api/weather/(天気関連のリクエスト用)やhttp://example.api/date/(日付関連のリクエスト用)などの特定の領域に限定できます。
エンドポイントが資格証明を必要とする場合、資格証明を定義して、エンドポイント定義で選択します:
-
「新しい資格証明の作成」をクリックし、次の情報を入力します。
-
「資格証明名」ボックスで、資格証明の対象である他のユーザー(たとえば、
DocsAPIUser)にクリアする資格証明の名前を入力します。 -
「ユーザー名」ボックスに、エンドポイントに対するすべてのリクエストの認証に使用する必要のあるユーザーを入力します。
-
「パスワード」ボックスに、入力したユーザーのパスワードを入力します。
-
「キーワード」ボックスで、オプションで資格証明にスペース区切りのキーワードを指定します。 キーワードは、ユーザー独自のニーズに関する情報を提供するものであり、資格証明の機能は変更しません。 キーワードには、英数字、ピリオド、ハイフンおよびアンダースコアを使用できます。
「キーワード」フィールドは、プロキシ・サービスAPIによって公開され、管理者以外のユーザーが表示できます。 ユーザー名、パスワード、APIキーなどの機密情報を「キーワード」フィールドに含めないでください。
-
「保存」をクリックします。
新しい資格証明は、1つ以上のエンドポイントで使用できます。 エンドポイントを作成または編集すると、「資格証明」ドロップダウン・リストに表示されます。
エンドポイント
-
プロキシ・サービスを使用するリモートAPIエンドポイントを定義します。 「新規エンドポイントの作成」をクリックし、次の情報を入力します。
-
エンドポイント名ボックスに、このエンドポイントの内容を他のユーザーにクリアするエンドポイントの名前(たとえば、
Content Management API 1.1))を入力します。 -
「エンドポイントの有効化」の下で、「有効」を選択します。
プロキシ・サービス全体を無効にするのではなく、必要に応じて個々のエンドポイントを無効にできます。
- 「セキュア・エンドポイント」の下で、「セキュア・エンドポイント」を選択します。 認証されたユーザーのみにエンドポイントへのアクセスを許可することで、エンドポイントを保護できます。 このチェック・ボックスを選択すると、匿名ユーザーはサインイン・ページを介して自身を認証する必要があります。
-
「パス名」ボックスに、エンドポイントのパス名(たとえば、
docs)を入力します。 これは、エンドポイントにアクセスするためのURLパスの一部になります(例:/pxysvc/proxy/docs)。名前は、URLセーフで一意で小文字である必要があり、文字で始まる必要があります。 英数字、ハイフンおよびアンダースコアを使用できます。
-
「ターゲットURI」ボックスに、エンドポイントのURI (たとえば、
http://service.example.com/documents/api/1.1)を入力します。 -
必要に応じて、「資格証明」の下で、このエンドポイントに使用する資格証明を選択します。 このリストには、前述のステップで作成した資格証明が移入されます。
-
「HTTPメソッド」の下で、このエンドポイントに対して有効にするHTTPメソッドを選択します。
GETおよびOPTIONSメソッドは常に有効です。
-
「キーワード」ボックスでは、オプションでエンドポイントにスペース区切りのキーワードを指定します。 キーワードは、ユーザー独自のニーズに関する情報を提供するものであり、エンドポイントの機能は変更しません。 キーワードには、英数字、ピリオド、ハイフンおよびアンダースコアを使用できます。
「キーワード」フィールドは、プロキシ・サービスAPIによって公開され、管理者以外のユーザーが表示できます。 ユーザー名、パスワード、APIキーなどの機密情報を「キーワード」フィールドに含めないでください。
- 「追加ヘッダー」では、ターゲット・エンドポイントに送信するカスタム・ヘッダーを複数定義できます。 たとえば:
CustomHeader1: Value1 CustomHeader2: Value2デバッグ・インタフェースの次の例は、ターゲットに送信されたすべてのヘッダーを示しています:
idcs_cloudgate_id: internal_APPID idcs_client_id: internal_APPID CustomHeader1: Value1 CustomHeader2: Value2 Authorization: ********プロキシ・サービスは、ターゲットURIに送信されるリクエストごとにこれらのヘッダーを追加します。 プロキシURLがリクエストされると、ターゲットURIに送信されるすべてのリクエスト・ヘッダーの一部になります。
-
「接続タイムアウト」ボックスに、ターゲットURIとの接続を試行する際に待機する最大秒数を入力します。
-
「ソケット・タイムアウト」ボックスに、プロキシ・サービスのプールされた接続を待機する最大秒数を入力します。
-
「接続リクエスト・タイムアウト」ボックスに、プロキシ・サービスとの接続を試行する際に待機する最大秒数を入力します。
-
エンドポイントをテストするには、「保存」および「デバッグ」をクリックします。 「プロキシ・サービス・エンドポイントのデバッグ」を参照してください。
-
結果に問題がなければ、「保存」と「閉じる」をクリックします。
-
セキュア・プロキシ・エンドポイントを介したリクエストへのログ済ユーザー・データの追加
Oracle Content Managementプロキシを使用して、外部サービス・コールにユーザー・データを追加できます。
システム管理者は、Oracle Content Management Proxyを使用して、ユーザーID、氏名、電子メールなどのユーザー・プロファイル情報を外部サービス・コールに追加できます。 エンドポイントを保護できるのは認証済ユーザーのみで、プロキシはプロファイル情報を外部システムに自動的に渡します。 その後、外部システムは、ユーザーが認証されたと想定し、ユーザーのかわりに他のシステムにアクセスできます。
「セキュア・エンドポイントが構成されています」の場合は、匿名ユーザーが認証のためにサインイン・ページにナビゲートされます。
プロキシ・サービス・エンドポイントのデバッグ
テスト・コードを記述せずに、プロキシ・サービス・エンドポイントを迅速にテストできます。 これは、webブラウザ、プロキシ・サービス、およびエンドポイントのターゲットURIの間でリクエストとレスポンスがどのように処理されるかを確認するための貴重なツールです。
-
エンドポイントを定義したら、「保存してデバッグ」をクリックしてテストします。
または、エンドポイントのリストで、デバッグするエンドポイントの横にある
をクリックします。
「エンドポイントのデバッグ」セクションの上部に、エンドポイントのローカル・パス名がエンドポイントのターゲットURIにマップされる方法を示す「URIマッピング」が表示されます。 ローカル・パスとターゲットURIの両方がリンクであるため、それらが正しいロケーションを指していることを確認できます。
-
オプションで、テスト・リクエストに使用するユーザー名とパスワード、および追加ヘッダーを入力します。 これらの資格証明は、エンドポイントにすでに設定されている資格証明の代わりに使用されます。 これにより、エンドポイントのすべてのユーザーが資格証明を使用できるようにすることなく、資格証明の使用をテストまたは検証できます。
-
オプションで、テスト・リクエストに使用する追加ヘッダーを入力します。 標準の書式「名前: 値」を使用して、ヘッダーを1行に1つ入力します。 たとえば: Content-Type: application/json。
-
HTTPメソッドを選択し、リクエストの完全パスを指定します。
POSTまたはPUTを選択した場合、「データ」ボックスで、POSTまたはPUTリクエスト本文に送信するコンテンツを入力します。
-
「リクエストの送信」をクリックします。
-
「デバッグ結果」セクションでパネルを展開し、詳細な結果を表示します。
-
プロキシのブラウザ・リクエスト: Webブラウザからプロキシ・サービスに送信されるHTTPリクエスト・ヘッダーおよび本文を表示します。
-
エンドポイントへのプロキシ・リクエスト: プロキシ・サービスによってエンドポイントのターゲットURIに送信されるHTTPリクエスト・ヘッダーおよび本文を表示します。 エンドポイントで資格証明を使用する場合、リクエストに認可ヘッダーが挿入されますが、デバッグ結果にヘッダー値は表示されません。
-
プロキシに対するエンドポイント・レスポンス:エンドポイントのターゲットURIによってプロキシ・サービスに返されるHTTPレスポンス・ヘッダーおよび本文が表示されます。
-
ブラウザへのプロキシ・レスポンス: プロキシ・サービスによってwebブラウザに戻されるHTTPレスポンス・ヘッダーを表示します。 エンドポイントのターゲットURIがCORSヘッダーを返さない場合、プロキシ・サービスはそれらをブラウザへのレスポンスに挿入します。
-
-
必要に応じて、デバッグ・リクエストを変更し、リクエストを再度送信します。
ノート:
古いデバッグ結果は、新しい結果で上書きされます。 -
結果に問題がなければ、「閉じる」をクリックします。