26 ポートレット・プロデューサのセキュリティの構成
WSRPおよびJPDKポートレット・プロデューサのセキュリティを処理するようにWebCenter Portalを構成します。
権限: この章のタスクを実行するには、Oracle WebLogic Server管理コンソールでWebLogic Serverの
Adminロールが付与されている必要があります。MonitorまたはOperatorロールを持つユーザーは、セキュリティ情報を表示できますが変更することはできません。「管理操作、ロールおよびツールの理解」も参照してください。
トピック:
親トピック: セキュリティの管理
WSRPプロデューサの保護
次の各項で、WebCenter PortalからJSR-168標準ベースのWSRPポートレットにセキュアにアクセスする方法を説明します。
プロデューサのデプロイ
WS-Security用にプロデューサを構成する前に、「ポートレット・プロデューサ・アプリケーションのデプロイ」で説明されているステップを実行して、標準準拠のポートレット・プロデューサをOracle WebLogic管理対象サーバーにデプロイする必要があります。
プロデューサ・エンドポイントへのポリシーの添付
この項では、セキュリティ・ポリシーをWSRPプロデューサ・エンドポイントに添付する方法について説明します。WSRPプロデューサでサポートされるポリシーは次のとおりです。
-
ユーザー名トークン(パスワードあり)
wss10_username_token_with_message_protection_service_policyこのポリシーは、メッセージ・レベルの保護(メッセージの整合性と機密保護)、およびWS-Security 1.0標準に従ったインバウンドSOAPリクエストの認証を行います。WS-SecurityのBasic 128スイートの非対称キー・テクノロジ、具体的には、メッセージの機密保護のためのRSAキー・メカニズム、メッセージの整合性のためのSHA-1ハッシュ・アルゴリズム、およびAES-128ビット暗号化が使用されます。キーストアはセキュリティ構成を通して構成されます。認証は、WS-Security UsernameToken SOAPヘッダーの資格証明を使用して行われます。ユーザーのサブジェクトは、現在構成されているアイデンティティ・ストアに対して確立されます。
-
ユーザー名トークン(パスワードなし)
wss10_username_id_propagation_with_msg_protection_service_policyこのポリシーでは、WS-Security 1.0標準で示されたメカニズムを使用して、メッセージレベルの保護(メッセージの整合性および機密保護)およびインバウンドSOAPリクエストのアイデンティティ伝搬を実施します。メッセージの保護は、非対称型キー・テクノロジであるWS-SecurityのBasic128スイート(具体的には、機密保護に使用するRSAキー・メカニズム、整合性に使用するSHA-1ハッシング・アルゴリズム、およびAES-128ビット暗号化)を使用して提供されます。アイデンティティは、UsernameToken WS-Security SOAPヘッダーに指定されたユーザー名を使用して設定されます。サブジェクトは、現在構成されているアイデンティティ・ストアに対して確立されます。
-
SAMLトークン
次の4つの「SAMLトークン」ポリシーがあります。
-
WSS 1.0 SAMLトークン・ポリシー:
wss10_saml_token_service_policyこのポリシーは、WS-Security SOAPヘッダーのSAMLトークンで提供される資格証明を使用してユーザーを認証します。SAMLトークンに含まれる資格証明は、SAMLログイン・モジュールに対して認証されます。このポリシーは、どのようなSOAPベースのエンドポイントにも適用できます。
-
メッセージ整合性付きWSS 1.0 SAMLトークン
wss10_saml_token_with_message_integrity_service_policyこのポリシーは、メッセージ・レベルの整合性保護と、WS-Security 1.0標準に従ったインバウンドSOAPリクエストのSAMLベースの認証を行います。また、このポリシーでは、WS-Securityの非対称キー・テクノロジのBasic 128スイート、具体的には、メッセージ整合性のためのSHA-1ハッシュ・アルゴリズムが使用されます。
-
メッセージ保護付きWSS 1.0 SAMLトークン
wss10_saml_token_with_message_protection_service_policyこのポリシーはWS-Security 1.0標準に従って、着信SOAPリクエストに対するメッセージ・レベルの保護とSAMLベースの認証を行います。WS-Securityの非対称キー・テクノロジのBasic 128スイートを使用します。具体的には、RSAキー・メカニズム(メッセージの機密性)、SHA-1ハッシュ・アルゴリズム(メッセージの整合性)、およびAES-128ビットの暗号化を使用します。
-
メッセージ保護付きWSS 1.1 SAMLトークン
wss11_saml_token_with_message_protection_service_policyこのポリシーはWS-Security 1.1標準に従って、着信SOAPリクエストに対するメッセージ・レベルの保護(メッセージの整合性とメッセージの機密性)とSAMLベースの認証を行います。メッセージは、WS-Securityの対称キー・テクノロジのBasic 128スイートを使用して保護されます。具体的には、RSAキー・メカニズム(メッセージの機密性)、SHA-1ハッシュ・アルゴリズム(メッセージの整合性)、およびAES-128ビットの暗号化が使用されます。キーストアはセキュリティ構成を通して構成されます。WS-Securityのバイナリ・セキュリティ・トークンからSAMLトークンを抽出し、それらの資格証明を使用して、構成済のアイデンティティ・ストアに対してユーザーが検証されます。このポリシーは、SOAPベースのすべてのエンドポイントにアタッチできます。
キーストアはセキュリティ構成を通して構成されます。WS-Securityのバイナリ・セキュリティ・トークンからSAMLトークンを抽出し、それらの資格証明を使用して、構成済のアイデンティティ・ストアに対してユーザーが検証されます。
-
ポリシーをプロデューサ・エンドポイントに添付する手順は次のとおりです。
-
Fusion Middleware Controlを開き、ターゲット・ドメインにログインします。
Fusion Middleware Controlへのログインの詳細は、Enterprise Manager Fusion Middleware Controlの起動を参照してください。
-
ナビゲーション・ペインで、「アプリケーションのデプロイ」ノードを開き、ポリシーの添付先のプロデューサをクリックします。
-
「アプリケーションのデプロイ」メニューから、「Webサービス」を選択します。
プロデューサの「Webサービスのサマリー」ページが表示されます。
-
「Webサービス・エンドポイント」タブを開き、ポリシーの添付先のエンドポイントをクリックします。
WSMポリシー・サブジェクト構成ページが表示されます(図26-1を参照)。
図26-1 「WSMポリシー・サブジェクト構成」

ノート: マークアップ・サービス・ポートのみを保護する必要があります(
WSRP_V2_Markup_ServiceおよびWSRP_V1_Markup_Service)。プロデューサの「Webサービス・エンドポイント」ページが表示されます。
-
「ポリシー」タブを開いて、プロデューサに現在添付されているポリシーを表示します。
-
「アタッチ/デタッチ」をクリックして、ポリシーを追加または削除します。
使用可能なポリシーとその説明が示された「ポリシーのアタッチ/デタッチ」ページが表示されます。
-
「使用可能なポリシー」で、検索するポリシー・カテゴリとして
CategoryおよびSecurityを選択し、「検索」アイコンをクリックすると、セキュリティ・ポリシーが表示されます。 -
添付するポリシーを選択し、「添付」をクリックします。複数のポリシーを選択するには、[Ctrl]キーを使用します。
ポリシーが、「アタッチされたポリシー」の下のリストに表示されます。
-
プロデューサ・エンドポイントに添付するポリシーの追加が終了したら、「OK」をクリックします。
キーストアの設定
WSRPプロデューサにキーストアを作成および構成するステップは、使用しているWebCenter Portal環境のトポロジによって異なり、これらのステップについては、次の各項で説明しています。
キーストアを設定するための詳細な手順およびWSRPプロデューサを構成する際のWS-Securityのその他の側面については、これらの項を参照してください。
PDK-Javaプロデューサの保護
共有キーをメッセージの整合性保護のために定義できますが、これはSSLとともに使用する必要があります。共有キーをパスワード資格証明として格納するステップは次のとおりです。
-
管理サーバー・インスタンスの資格証明ストアに、パスワード資格証明として共有キーを定義します。これは、Fusion Middleware ControlまたはWLSTを使用して実行できます。
-
Webプロデューサを再起動して、テスト・ページにアクセスします。アプリケーション・ログをチェックして、共有キーが適切に適用されていることを確認します。
ノート: 共有キーの使用によって実現するのは、メッセージの整合性保護のみです。完全なメッセージ保護には、SSLが必要です。SSLを使用したPDK-Javaポートレット保護の詳細は、「SSLを使用したWebCenter Portalからポートレット・プロデューサへの接続の保護」を参照してください。
パスワード資格証明としての共有キーの定義
管理サーバー・インスタンスの資格証明ストアに、Fusion Middleware ControlコマンドまたはWLSTコマンドを使用して、パスワード資格証明として共有キーを定義できます。これらについて、次の各項で説明します。
Fusion Middleware Controlを使用した共有キーの定義
Fusion Middleware Controlを使用して共有キーを定義するには:
-
Fusion Middleware Controlにログインします。
-
ナビゲーション・ペインで、「WebLogicドメイン」ノードを開き、ターゲット・ドメイン(
WC_Domainなど)をクリックします。 -
「WebLogicドメイン」メニューで、「セキュリティ」→「資格証明」を選択します
「資格証明」ペインが表示されます。
-
「マップの作成」をクリックし、「マップ名」として
PDKと入力して、「OK」をクリックします。 -
「キーの作成」をクリックして、作成したマップ(
PDK)を選択します。 -
「ユーザー名」(この値は使用されないため、どのような値でも指定できます)、「キー」(
pdk.*service_id*.sharedKeyの形式。*service_id*はプロデューサの名前)および「パスワード」(10から20桁の16進数)に値を入力して、「OK」をクリックします。新しいキーが「資格証明」ペインに表示されます。
WLSTを使用した共有キーの定義
次のステップで説明するように、WLSTを使用して共有キーを定義することもできます。
-
「Oracle WebLogic Scripting Tool (WLST)コマンドの実行」に示されているとおりにWLSTを起動し、ターゲット・ドメインの管理サーバー・インスタンスに接続します。
-
次のコマンドを使用して、ターゲット・ドメインの管理サーバーに接続します。
connect('user_name','password, 'host_id:port')ここで:
-
user_nameは、管理サーバーへのアクセスに使用されるユーザー・アカウントの名前です(たとえば、weblogic)。 -
passwordは、管理サーバーにアクセスするためのパスワードです。 -
host_idは、管理サーバーのホストIDです。 -
portは、管理サーバーのポート番号です(たとえば、7001)。
-
-
WLST
createCredコマンドを使用して、プロデューサの共有キー資格証明を資格証明ストアに追加します。createCred(map='PDK', key='pdk.service_id.sharedKey.user_name', user='user_name', password='password')ここで:
-
service_idは、共有キーの作成対象のプロデューサの名前です(たとえば、provider1) -
user_nameは、ユーザーの名前です。この値は使用されないため、どのような値でも指定できます。 -
passwordは、10から20桁の16進数値です。
たとえば:
createCred(map='PDK', key='pdk.provider1.sharedKey', user='sharedKey', password='1234567890abc')ノート: 資格証明の作成後は、前述のものと同じパラメータを指定したWLST
updateCredコマンドを使用して、資格証明を更新できます。 -
-
プロデューサを再起動します。
Webプロデューサでは、初めてリクエストを処理する際(ブラウザ・テスト・ページ・リクエストやプロデューサの初回登録時など)にプロパティが適用されるため、共有キー資格証明の設定後にプロデューサを再起動する必要があります。
共有キーへのOracle PDK-Javaプロデューサの登録
PDK-Javaプロデューサの登録については、「Oracle PDK-Javaポートレット・プロデューサの登録」を参照してください。共有キーにOracle PDK-Javaプロデューサを登録する場合は、次のことも実行する必要があります。
-
プロデューサの登録時に、「プロデューサ・セッションの有効化」オプションを選択します。
-
「ポートレット・プロデューサ接続の追加」セクションで、資格証明マップの作成時に使用するパスワードを共有キーとして入力します。