Oracle® Fusion Middleware Oracle WebCenter Portal管理者ガイド 11g リリース1(11.1.1.6.0) B72085-01 |
|
![]() 前 |
![]() 次 |
この章では、WebCenter PortalアプリケーションにおけるOracle WebCenter PortalのRESTサービス管理の概要について説明します。
この章の内容は次のとおりです。
対象読者
この章の内容は、Fusion Middleware管理者(Oracle WebLogic Server管理コンソールを使用してAdmin
またはOperator
ロールを付与されたユーザー)を対象としています。詳細は、第1.8項「管理操作、ロールおよびツールの理解」を参照してください。
REST (REpresentational State Transfer)は、分散されたリソースを共通のインタフェースを介して利用できるようにするためのアーキテクチャ・スタイルです。この共通のインタフェースには、Uniform Resource Identifier (URI)、明確に定義された操作、ハイパーメディア・リンクおよび一連の制約付きメディア・タイプなどがあります。通常、これらの操作には、読取り、書込み、編集、削除が含まれます。メディア・タイプには、JSONおよびXML/ATOMなどがあります。
REST APIは一般的に、クライアント側のスクリプト言語で記述されたリッチ・インターネット・アプリケーションで使用されます。たとえば、Javascriptで記述されたブラウザ・ベースのアプリケーションでは、サーバーとのアプリケーション・データの送受信にAjaxの手法とREST APIを併用することにより、クライアント・ビューを更新できます。
WebCenter Portalには、ディスカッション、リスト、ピープル・コネクションおよび検索など、WebCenter Portalの様々なサービスに対するRESTfulなインタフェースが用意されています。RESTをサポートするサービスの全リストは、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のOracle WebCenter Portal REST APIの使用に関する項を参照してください。
RESTおよびWebCenter Portal REST APIの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のOracle WebCenter REST APIの使用に関する項を参照してください。
WebCenter Portal REST APIはデフォルトでは有効化されていません。REST APIを有効化するには、手動による構成手順を実行する必要があります。この手順を実行すると、暗号化されたセキュリティ・トークンを資格証明ストアで処理できるようになります。
必要な構成手順の詳細は、第20.2項「開始前の作業: 必要な構成の実行」を参照してください。
ユーザーが範囲指定したセキュリティ・トークンは、各RESTサービスURIのhref
属性とtemplate
属性に埋め込まれます。トークンの生成および検証はいずれもサーバーで行われます。セキュリティ・トークンの目的は、クロスサイト・リクエスト・フォージェリ(CSRF)攻撃を防止することです。
次に例を示します。
<link template="opaque-template-uri/@me?startIndex={startIndex} &itemsPerPage={itemsPerPage}&token=generated-token" resourceType="urn:oracle:webcenter:messageBoard" href="opaque-uri/@me?token=generated-token" capabilities="urn:oracle:webcenter:read"/>
注意: セキュリティ・トークンは認証にもアイデンティティ伝播にも使用されません。 |
セキュリティ・トークンは認証済ユーザーの名前に基づきます。セキュリティ・トークンは期限切れにならないため、URIのキャッシュやブックマークが可能になります。
セキュリティ・トークンにはソルト処理も行われます。ソルト処理は、文字列を暗号化する前にその文字列に文字を追加する暗号化手法です。セキュリティ・トークンが漏えいした場合でも、ソルト処理がされているので、問題を解決するためにそのユーザーのユーザー名をシステム全体で変更する必要はありません。
この手法を使用すると、ユーザー名が漏えいした際に、問題解決のためにシステム規模でユーザー名を変更する必要がなくなります。
セキュリティ・トークンの詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のWebCenter Portal REST APIのセキュリティに関する考慮事項に関する項を参照してください。
この項では、レスポンス書き換え処理を行う単純なHTTPリバース・プロキシをApacheサーバーに設定する方法について説明します。通常、プロキシ・サーバーは、ブラウザ・クライアントがXMLHttpRequest (XHR)コールを実行する際に伴う、クロス・ドメイン・リクエストの問題を回避するために導入されます。一般的にこのようなコールは、Ajax開発手法によってリッチでインタラクティブなクライアント・サイド・インタフェースを作成する場合に付随します。REST APIは、通常このようなクライアント・サイド開発シナリオで使用されます。
注意: この項では、Apache上にプロキシ・サーバーを設定するための簡単な例を示します。詳細は、Apache Serverのドキュメント( |
Apache上にプロキシ・サーバーを設定するための基本的な手順は次のとおりです。
Apacheサーバーにアクセスできるようにします。Apache 2.2.7以降のバージョンの使用をお薦めします。
サーバーにmod_substitute
モジュールがインストールされていることを確認します。Apacheバージョン2.2.7以降にはデフォルトでmod_substitute
が含まれています。mod_sed
またはmod_line_edit
を使用することも可能ですが、これらの構成はOracleではサポートされていません。
httpd.conf
または仮想ホストの構成ファイルを開いて、次の行を追加します(サーバー名などの情報は適宜置き換えてください)。
ProxyRequests Off LoadModule substitute_module modules/mod_substitute.so SetOutputFilter SUBSTITUTE ProxyPass /rest/api/ http://myhost:8888/rest/api/ ProxyPassReverse /rest/api/ http://myhost:8888/rest/api/ Substitute s|myhost|yourhost|n ProxyPass /pathname/rest/api/ http://myhost:8888/rest/api/ ProxyPassReverse /pathname/rest/api/ http://myhost:8888/rest/api/ Substitute s|myhost:8888/rest/api|yourhost/pathname/rest/api|n
注意: このサンプル・シナリオでは、2つのサーバーがプロキシされます。次の2つのコールは実際にこの2つのサーバーと通信していますが、クライアントでは同じサーバー・ホストと通信しているように見えます。
|
Apacheサーバーを再起動します。たとえば、Linuxの場合は次のように実行します。
sudo /etc/init.d/httpd restart
この方法でApacheのプロキシ設定を行う場合、Linuxの一部の構成では、selinuxに対してhttpdからのアウトバウンド接続を許可するように指定する必要があります。これを行うには、selinuxのGUIまたはコマンドラインを使用してhttpd_can_network_connect flag
を有効化します。
開発者向けのヒント:
|
REST APIのルート名の変更は必須ではありませんが、場合によっては必要になることがあります。RESTのルート名を変更する場合は、プロキシ・サーバーを構成して変更する方法をお薦めします。たとえば、次の2つのURIは、プロキシ・サーバー構成(第27.4項「プロキシ・サーバーの構成」を参照)によって同じサーバーを参照しています。
http://
myhost:8888
/rest/api/resourceIndex
http://
myhost:8888
/
pathname
/rest/api/resourceIndex
この項では、WebCenter Portal REST APIによってクライアントに戻されるXMLレスポンスまたはJSONレスポンスで圧縮を有効化する手法について説明します。
Apacheを使用している場合は、mod_deflate
またはmod_gzip
サーバー・モジュールをサーバー構成に追加できます。詳細は、Apacheのドキュメントを参照してください。
Oracle HTTP Server (OHS)を使用している場合は、Oracle Web Cacheを使用してこれを行うことをお薦めします。詳細は、『Oracle Fusion Middleware Oracle Web Cache管理者ガイド』を参照してください。
OHSを使用している場合は、mod_deflate
またはmod_gzip
サーバー・モジュールを追加して圧縮を有効化することもできます。この手法の詳細は、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』のOracle HTTP Serverモジュールの理解に関する項を参照してください。
Oracle Web Cacheの詳細は、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』の圧縮に関する項および同ガイドの「コンテンツのキャッシュと圧縮」の章を参照してください。
デフォルトでは、RESTサービスは、アイデンティティ・アサーション・プロバイダからの認証を受け入れるように構成されています。アイデンティティ・アサーション・プロバイダが構成されていない場合は、基本認証が使用されます。
アイデンティティ・アサーション・プロバイダの詳細は、第29.10項「RESTサービス・アイデンティティ・アサータの構成」を参照してください。
詳細は、Oracle Fusion Middleware Oracle WebLogic Serverの保護の認証プロバイダの構成に関する項を参照してください。
注意: ユーザーはCMISのルートに匿名でアクセスできます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のCMIS REST APIのセキュリティに関する考慮事項に関する項を参照してください。 |