ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Portal管理者ガイド
11g リリース1(11.1.1.6.0)
B72085-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

27 RESTサービスの管理

この章では、WebCenter PortalアプリケーションにおけるOracle WebCenter PortalのRESTサービス管理の概要について説明します。

この章の内容は次のとおりです。

対象読者

この章の内容は、Fusion Middleware管理者(Oracle WebLogic Server管理コンソールを使用してAdminまたはOperatorロールを付与されたユーザー)を対象としています。詳細は、第1.8項「管理操作、ロールおよびツールの理解」を参照してください。

27.1 RESTサービスに関する必要な知識

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の使用に関する項を参照してください。

27.2 RESTの有効化に必要な手動構成の実行

WebCenter Portal REST APIはデフォルトでは有効化されていません。REST APIを有効化するには、手動による構成手順を実行する必要があります。この手順を実行すると、暗号化されたセキュリティ・トークンを資格証明ストアで処理できるようになります。

必要な構成手順の詳細は、第20.2項「開始前の作業: 必要な構成の実行」を参照してください。

27.3 セキュリティ・トークンの概要

ユーザーが範囲指定したセキュリティ・トークンは、各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のセキュリティに関する考慮事項に関する項を参照してください。

27.4 プロキシ・サーバーの構成

この項では、レスポンス書き換え処理を行う単純なHTTPリバース・プロキシをApacheサーバーに設定する方法について説明します。通常、プロキシ・サーバーは、ブラウザ・クライアントがXMLHttpRequest (XHR)コールを実行する際に伴う、クロス・ドメイン・リクエストの問題を回避するために導入されます。一般的にこのようなコールは、Ajax開発手法によってリッチでインタラクティブなクライアント・サイド・インタフェースを作成する場合に付随します。REST APIは、通常このようなクライアント・サイド開発シナリオで使用されます。


注意:

この項では、Apache上にプロキシ・サーバーを設定するための簡単な例を示します。詳細は、Apache Serverのドキュメント(http://httpd.apache.org/docs)を参照してください。Oracle HTTP Server (OHS)をプロキシ・サーバーとして使用することもできます。詳細は、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』を参照してください。


Apache上にプロキシ・サーバーを設定するための基本的な手順は次のとおりです。

  1. Apacheサーバーにアクセスできるようにします。Apache 2.2.7以降のバージョンの使用をお薦めします。

  2. サーバーにmod_substituteモジュールがインストールされていることを確認します。Apacheバージョン2.2.7以降にはデフォルトでmod_substituteが含まれています。mod_sedまたはmod_line_editを使用することも可能ですが、これらの構成はOracleではサポートされていません。

  3. 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つのサーバーと通信していますが、クライアントでは同じサーバー・ホストと通信しているように見えます。

    http://myhost/rest/api/resourceIndex

    http://myhost/pathname/rest/api/resourceIndex


  4. Apacheサーバーを再起動します。たとえば、Linuxの場合は次のように実行します。

    sudo /etc/init.d/httpd restart
    

この方法でApacheのプロキシ設定を行う場合、Linuxの一部の構成では、selinuxに対してhttpdからのアウトバウンド接続を許可するように指定する必要があります。これを行うには、selinuxのGUIまたはコマンドラインを使用してhttpd_can_network_connect flagを有効化します。


開発者向けのヒント:

httpd.confUserDirのパーミッションを設定して、ユーザーがそれぞれのpublic_htmlディレクトリにファイルを配置できるようにします。たとえば、http://host/~yourname/sample.htmlと入力してサンプル・アプリケーションにアクセスすると、サンプル・アプリケーションでhttp://host/rest/api/resourceIndexへのXHRコールが実行されます。


27.5 RESTのルート名の変更

REST APIのルート名の変更は必須ではありませんが、場合によっては必要になることがあります。RESTのルート名を変更する場合は、プロキシ・サーバーを構成して変更する方法をお薦めします。たとえば、次の2つのURIは、プロキシ・サーバー構成(第27.4項「プロキシ・サーバーの構成」を参照)によって同じサーバーを参照しています。

http://myhost:8888/rest/api/resourceIndex

http://myhost:8888/pathname/rest/api/resourceIndex

27.6 圧縮の使用

この項では、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管理者ガイド』圧縮に関する項および同ガイドの「コンテンツのキャッシュと圧縮」の章を参照してください。

27.7 認証の処理

デフォルトでは、RESTサービスは、アイデンティティ・アサーション・プロバイダからの認証を受け入れるように構成されています。アイデンティティ・アサーション・プロバイダが構成されていない場合は、基本認証が使用されます。

アイデンティティ・アサーション・プロバイダの詳細は、第29.10項「RESTサービス・アイデンティティ・アサータの構成」を参照してください。

詳細は、Oracle Fusion Middleware Oracle WebLogic Serverの保護の認証プロバイダの構成に関する項を参照してください。


注意:

ユーザーはCMISのルートに匿名でアクセスできます。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal開発者ガイド』のCMIS REST APIのセキュリティに関する考慮事項に関する項を参照してください。