ここでは、コンシューマ側で実行する必要のある操作について説明します。
この章では、次の内容について説明します。
プロデューサによって提供されたポートレットと通信するには、コンシューマは設定済みプロデューサを追加する必要があります。プロデューサが登録を必要とする場合は、次の方法を使用して設定済みプロデューサを追加します。
登録プロパティー値の入力 (in-band 登録)
登録ハンドルの入力 (out-of-band 登録)
プロデューサが登録を必要としない場合は、設定済みプロデューサの追加時にコンシューマは詳細情報を入力する必要はありません。
「ポータル」タブを選択します。
「ポータル」からポータルサーバーを選択します。
「WSRP」タブをクリックします。
DN を選択し、「新規」をクリックします。
設定済みプロデューサの名前を入力します。ID 伝播機構を選択します。デフォルトでは「なし」が選択されています。
ID 伝播機構によって、コンシューマポータルのユーザーは自らの資格をプロデューサポータルに示すことができます。これは、ユーザーが ID をコンシューマポータルからプロデューサポータルに連携させることができる機構です。
WSDL URL を入力し、「次へ」をクリックします。
プロデューサが登録を必要とする場合は、2 つの方法でプロデューサを登録できます。すなわち、登録プロパティー値を入力する方法 (in-band 登録) と登録ハンドルを入力する方法 (out-of-band 登録) です。「次へ」をクリックします。
手順 7 で 1 番目の方法を選択した場合は、登録プロパティーを入力し、「次へ」をクリックします。2 番目の方法を選択した場合は、out-of-band 通信を介して取得した登録ハンドルを入力し、「次へ」をクリックします。
詳細情報を確認し、「完了」をクリックします。
psadmin create-configured-producer
ID 伝播は、WSRP コンシューマがユーザーの ID を WSRP プロデューサ Web サービスに提供するために使用する機構です。これは、ユーザーがコンシューマとプロデューサの間で ID を連携させるための連携機構です。連携に成功すると、コンシューマポータルはユーザー ID をプロデューサポータルに伝播します。WSRP プロデューサは、コンシューマからユーザー資格を受け取ると、資格を検証し、指定されたユーザーコンテキスト内のリソースへのアクセスを許可または拒否します。
ユーザーはポータルごとに 2 つの ID を持ちます。すなわち、1 つはプロデューサポータル用で、もう 1 つはコンシューマポータル用です。ユーザーは、提供された ID 伝播機構を使用して ID を連携させます。これによって、コンシューマポータルとプロデューサポータルに対する機構にシングルサインオンが提供されます。ユーザーがコンシューマポータルを介してポータルにログインするときには、ユーザーはプロデューサポータルに直接ログインするときに取得する内容を取得します。ユーザーがプロデューサポータルにログインするときには、ユーザーは連携された ID を使用して変更を行うことができます。
Sun Java System WSRP プロデューサは、次の ID 伝播をサポートします。
SSO トークン : プロデューサポータルとコンシューマポータルの両方が同じ Access Manager インスタンスに接続されている場合に選択します。通常、プロデューサポータルとコンシューマポータルの両方が同じ組織内に配備されている構成で推奨されます。
WSS UsernameToken プロファイル (ユーザー名のみ) : ユーザー名が WS Security ヘッダーとしてコンシューマポータルからプロデューサポータルに伝播される WSS 仕様を使用します。
WSS UsernameToken プロファイル (PasswordDigest 付き) : WS Security ヘッダーが、プロデューサにおけるターゲットとされるユーザー ID をパスワードと共に Digest 形式で送信します。
WSS UsernameToken プロファイル (PasswordText 付き) : WS Security ヘッダーが、プロデューサにおけるターゲットとされるユーザー ID をパスワードと共に Text 形式で送信します。
上記のうち下の 3 つのオプションでは、OASIS WSS UsernameToken プロファイル仕様が実装されます。この仕様は、UsernameToken を Web サービスで使用する方法を記述しています。WSS 仕様は、ユーザー名によって要求者を識別することによって、またオプションでパスワードを使用して ID を Web サービスプロデューサに対して認証することによって、Web サービスコンシューマがユーザー名トークンをどのように提供できるかを記述しています。
多くのポータルベンダーは、OASIS WSS UsernameToken プロファイル仕様をサポートおよび実装しています。相互運用性が必要とされる場合には、これら 3 つのオプションのいずれかを使用します。
Portal Server では ID 伝播機構に 2 つのレベルが存在します。まず、コンシューマポータルの管理者は、プロデューサポータルが上記で指定された ID 伝播機構のいずれかをサポートすることを発見します。管理者は、ユーザーに ID の送信を許可することができます。Portal Server コンシューマは、前述した ID 伝播機構のすべてをサポートします。
コンシューマの作成後、管理者はコンシューマがサポートする ID 伝播機構に基づいてリモートチャネルを作成する必要があります。チャネルがユーザーデスクトップで使用可能になると、ID 伝播を受け入れる準備が整います。
ID 伝播機構はプロデューサで自動的に設定されます。この機構は 、Sun SSO、OASIS UsernameToken プロファイル、ID 伝播なしのモードの順に認証をチェックします。
新しいユーザーのみが、 configuration コマンドを実行して LDAP パスワードをプレーンテキストに格納したあとにダイジェストパスワード機能を使用できます。
コンシューマの作成には、ユーザー ID 伝播機構に対して WSSO UsernameToken プロファイル (PasswordDigest 付き) オプションの選択を含めるようにしてください。
Web サービス SSO ポートレットを編集して、適切な Web サービス URL (プロデューサ) を選択し、新しいユーザー名とパスワードを提供する必要があります。
ダイジェストパスワードを受け入れるように Sun Java System WSRP プロデューサを設定するには、次の手順に従います。
コマンド /opt/SUNWdsee/ds6/bin/dscfg set-server-prop pwd-storage-scheme:CLEAR を実行して、プレーンテキストパスワードが格納されるように、Directory Server のパスワード格納方式を変更します。
Directory Server のデフォルトのインストール場所が /opt/SUNWdsee であることを想定しています。
UsernameToken プロファイル (PasswordDigest 付き) を使用できるように、AM コンソールで新しいユーザーを作成します。
WSS UsernameToken プロファイル (PasswordDigest 付き) を使用する場合、パスワードがプレーンテキストで送信されるため、プロデューサポータルとコンシューマポータルの間の通信をセキュリティー保護するようにしてください。
同じプロデューサ URL を指す 2 つの異なるコンシューマは、同じ種類の ID 伝播機構を使用するようにしてください。
ユーザーが ID 伝播機構を使用する場合にユーザーの資格を認証するためのユーザートークンプロファイルを作成することができます。プロデューサが提供する特定の Web サービスに対するユーザー名とパスワードを定義できます。
Portal Server デスクトップにログインします。
「Web サービス SSO ポートレット」で、「編集」ボタンをクリックします。
「新しいユーザートークンプロファイルを作成」セクションで、ユーザートークンプロファイルを作成する「Web サービスの URL」を選択します。
ユーザー名とパスワードを入力します。「追加」をクリックします。
既存のユーザートークンプロファイルを編集および削除することも可能です。
コンシューマによるプロデューサの設定後には、その後のプロデューサに対する変更をすべて更新するように、「サービスの説明の更新」オプションを使用します。たとえば、新しいポートレットの追加や、登録後の登録プロパティーの変更などです。
「ポータル」タブを選択します。
「ポータル」からポータルサーバーを選択します。
「WSRP」タブをクリックします。
DN (識別名) を選択します。
設定済みプロデューサのリンクをクリックします。
「設定済みプロデューサを編集」画面で、「サービスの説明の更新」をクリックします。
psadmin update-configured-producer-service-description
WSRP はユーザーカテゴリのコンセプトをサポートしています。これは、プロデューサのサービスの説明に含まれます。ユーザーカテゴリをロールにマッピングすると、ユーザーはコンシューマポータルで定義されているロールをポートレットで定義されているロールにマッピングすることができます。Sun Java System Portal Server は Java System Access Manager のロールをポートレットのロールにマッピングします。これらのロールを、対応する WSRP ユーザーカテゴリにマッピングすることができます。
たとえば、次のような作業を行えます。
ロールの定義は、ポートレットの配備中に行うことができます。
ポートレットで定義されたロールは、プロデューサの Access Manger 内に存在しなければいけません。
次の作業では、Sun Java System Access Manager の amconsole とポートレットにロールが作成されます。
Access Manager コンソールにログインします。
ロールを作成し、そのロールにユーザーを追加します。
ポートレットアプリケーションの webxml に、次のコードを追加します。
<security-role>
<role-name>PS_TEST_DEVELOPER_ROLE<role-name>
</security-role>
ポータルの portlet.xml に次の行を追加します。
<security-role-ref>
<role-name>PS_TEST_DEVELOPER_ROLE<role-name>
<role-link>PS_TEST_DEVELOPER_ROLE<role-link>
</security-role-ref>
ポートレットアプリケーションの war ファイルを作成します。
次のエントリを含むロールファイルを作成します。
cn\=AM_TEST_DEVELOPER_ROLE,o\=DeveloperSample,dc\=india,dc\=sun,dc\=com=PS_TEST_DEVELOPER_ROLE
次のコマンドを使用して、ポートレットを配備します。
/opt/SUNWportal/bin/psadmin deploy-portlet -u amadmin -f ps_password -d "o=DeveloperSample,dc=india,dc=sun,dc=com" -p portal1 -i stockprice-8080 --rolesfile rolesfile TestPortlet.war
ユーザーカテゴリをロールにマッピングするには、次の手順に従います。
「コンシューマ」タブでプロデューサ名のリンクをクリックします。
「設定済みプロデューサを編集」画面に次の内容が表示されます。「ユーザーカテゴリ」 : プロデューサポートレット内のロール。「ローカルロール」 : コンシューマの Sun Java System Access Manager で定義されているロール。
「ユーザーカテゴリとロールのマッピング」セクションで、コンシューマで定義されているロールにユーザーカテゴリをマッピングし、「了解」をクリックします。
Sun Java System Portal Server の WSRP コンシューマの実装は、Sun Java System Directory Server 上のユーザーエントリに格納されている共通ユーザー属性を、WSRP 仕様が要求するユーザー属性の標準セットにマッピングします。
コンシューマポートレットが LDAP スキーマで指定されていない属性を使用する場合は、それらの属性を格納するカスタムオブジェクトクラスを作成し、このオブジェクトクラスをユーザーエントリに追加します。属性の作成後に、Sun Java System Access Manager 管理コンソールを使用して、LDAP 属性を対応する WSRP 属性にマッピングします。
コンシューマおよび Web コンテナ XML ファイルには、プロキシを設定する必要があります。
たとえば、次のような作業を行えます。
./cacaoadm get-param java-flags を実行します。
値をコピーし、./cacaoadm set-param java-flags にペーストします。
次の内容をコマンドに追加します。-Dhttp.proxyHost= webcache.canada.sun.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser= Proxyuser -Dhttp.proxyPassword=Password
Enter キーを押します。
共通エージェントコンテナサーバーを再起動します。