BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

開発者ガイド

 前 次 目次 索引 PDFで表示  

ポータルへのセキュリティの追加

Web サーバはユーザの認証を行い、ユーザがサーバ内のどのリソースを作成、アクセス、あるいは変更できるかを決定します。 そのために、Web サーバはセキュリティ レルムを使用します。ユーザが特定のリソースにアクセスしようとすると、サーバは、アクセス制御リスト (ACL) とレルム内でそのユーザに割り当てられているパーミッションをチェックすることで、そのユーザの認証と認可を行おうとします。複数のセキュリティ レルムをセットアップできますが、Web サーバの各インスタンスでは 1 つのレルムしか使えません。サーバでは、Web サイト開発者用と訪問者用に同じセキュリティ レルムを使用します。

この章では、以下の内容について説明します。

 


ポータル セキュリティの実装

BEA から提供される RDBMS セキュリティ レルムの基本実装を使用することにした場合には、WebLogic Portal をインストールすれば、それが利用できるようになります。それ以上のコンフィグレーションは不要です。

注意: WebLogic Portal RDBMS レルムは、WebLogic Server RDBMS レルムとは異なる実装です。WebLogic Server RDBMS レルムはテスト用であり、運用環境での使用には適していません。WebLogic Portal の RDBMS レルムは、製品に付属しており(BEA_HOME/weblogic700/portal/lib/p13n_system.jar ファイルに含まれている)、実装クラスは com.bea.p13n.security.realm.RDBMSRealm です。これは、config.xml ファイルの以下のエントリでコンフィグレーションされています
RealmClassName="com.bea.p13n.security.realm.RDBMSRealm"

 


LDAP セキュリティ レルムとの統合

基本的な RDBMS セキュリティ レルムを使用したくない場合、代わりの方法としてよく行われるのは、LDAP (Lightweight Directory Access Protocol ) サーバをセキュリティ レルムとして使用することです。この節では、LDAP サーバを WebLogic Portal に統合する方法について説明します。この節で紹介する手順では、LDAP 統合についての以下のシナリオを取り上げます。

サポート対象の LDAP サーバ

WebLogic Portal では、以下の LDAP サーバをサポートしています。

これらの各サービスのテンプレートについては、サポート対象サーバ用のテンプレートを参照してください。

LDAP セキュリティ レルムと統合する

この節では、WebLogic Portal をサードパーティ製の LDAP セキュリティ レルムと統合する方法を示します。セキュリティ レルムは、WebLogic Portal でユーザの認証に用いられる手段です。WebLogic Portal には RDBMS に基づいたデフォルトのユーザ ストアが用意されていますが、これを LDAP レルムに入れ替えることができ、LDAP レルムではセキュリティ情報の管理に LDAP サーバが使用されます。

LDAP サーバを統合用にコンフィグレーションする

LDAP セキュリティ レルムのコンフィグレーションには、WebLogic Server の LDAP セキュリティ レルムと LDAP サーバとの通信を可能にする属性と、LDAP ディレクトリへのユーザおよびグループの格納方法を記述する属性を定義することが必要になります。LDAP ツリーおよびスキーマは、LDAP サーバごとに異なります。

サポート対象サーバ用のテンプレートには、サポート対象 LDAP サーバ用のテンプレートを示しています。これらのテンプレートは、サポート対象の各 LDAP サーバでユーザとグループを表現するのに用いられるデフォルトのコンフィグレーション情報を指定したものです。使用する LDAP サーバに該当するテンプレートを選択したあと、表7-1 に示す属性に値を設定します。

注意: LDAP V1 では、[新しい LDAP Realm の作成] 画面の該当タブ(表7-1 に明示)でこれらの属性をコンフィグレーションすることができます。

表7-1 LDAP レルムのコンフィグレーション可能な属性

属性

解説

ユーザ DN

[ユーザ名属性] 属性と組み合わせて LDAP ユーザを一意に識別するための属性およびその属性値のリスト。

この属性は、[新しい LDAP Realm の作成] 画面の [ユーザ] タブでコンフィグレーションする。

グループ DN

[グループ名属性] 属性と組み合わせて LDAP ディレクトリ内のグループを一意に識別するための属性およびその属性値のリスト。

この属性は、[新しい LDAP Realm の作成] 画面の [グループ] タブでコンフィグレーションする。

プリンシパル

WebLogic Server で LDAP サーバへの接続に使用される LDAP ユーザの識別名(Distinguished Name: DN)。このユーザで LDAP ユーザおよびグループを列挙できる必要がある。

この属性は、[新しい LDAP Realm の作成] 画面の [LDAP レルム] タブでコンフィグレーションする。

資格

[プリンシパル] 属性に定義される LDAP ユーザを認証するためのパスワード。

この属性は、[新しい LDAP Realm の作成] 画面の [LDAP レルム] タブでコンフィグレーションする。


 

LDAP セキュリティ レルムのコンフィグレーション方法については、『WebLogic Server 管理者ガイド』の「LDAP セキュリティ レルムのコンフィグレーション」 (http://edocs.beasys.co.jp/e-docs/wls/docs70/adminguide/cnfgsec.html#338176) を参照してください。

サポート対象サーバ用のテンプレート

サポート対象 LDAP サーバのコンフィグレーションに使用できるテンプレートを、リスト 7-1 からリスト 7-4 に示します。ここで示したこれらのテンプレートを、アプリケーションの config.xml ファイルに直接コピーすることができます。

警告: 以下のサンプル コードの各行は 1 行で記述する必要があります。以下の例はこのマニュアルのマージンに合わせて整形されており、そのために分割されている行も一部あります。このテキストを config.xml ファイルにコピーする際には、分割されている行を必ず 1 行に連結してください。

コード リスト 7-1 デフォルトの Netscape カスタム セキュリティ レルム テンプレート

<CustomRealm
Name="defaultLDAPRealmForNetscapeDirectoryServer"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
Password="*secret*"
ConfigurationData="server.host=ldapserver.example.com;server.principal=uid=
admin,
ou=Administrators, ou=TopologyManagement, o=NetscapeRoot;user.dn=ou=people,
o=beasys.com;user.filter=(&amp;(uid=%u)(objectclass=person));group.dn=
ou=groups,
o=beasys.com;group.filter=(&amp;(cn=%g)(objectclass=groupofuniquenames));
membership.filter=(&amp;(uniquemember=%M)(objectclass=
groupofuniquenames));"
Notes="This is provided as an example. Before enabling this Realm, you must
edit the configuration parameters as appropriate for your environment."
/>

コード リスト 7-2 デフォルトの Microsoft カスタム セキュリティ レルム テンプレート

<CustomRealm
Name="defaultLDAPRealmForMicrosoftSiteServer"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
Password="*secret*"
ConfigurationData="server.host=ldapserver.example.com;server.principal=cn=
Administrator,
ou=Members, o=ExampleMembershipDir;user.dn=ou=Members,
o=ExampleMembershipDir;user.filter=(&amp;(cn=%u)(objectclass=member));
group.dn=ou=Groups,
o=ExampleMembershipDir;group.filter=(&amp;(cn=%g)(objectclass=mgroup));
membership.scope.depth=1;microsoft.membership.scope=sub;membership.
filter=(|(&amp;(memberobject=%M)(objectclass=memberof))
(&amp;(groupobject=%M)(objectclass=groupmemberof)));"
Notes="This is provided as an example. Before enabling this Realm,
you must edit the configuration parameters as appropriate for your
environment."
/>

コード リスト 7-3 デフォルトの Novell カスタム セキュリティ レルム テンプレート

<CustomRealm
Name="defaultLDAPRealmForNovellDirectoryServices"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
Password="*secret*"
ConfigurationData="server.host=ldapserver.example.com;server.principal=cn=
admin,
o=example.com;user.dn=ou=people,
o=example.com;user.filter=(&amp;(cn=%u)(objectclass=person));group.dn=ou=
groups,
o=example.com;group.filter=(&amp;(cn=%g)(objectclass=groupofuniquenames));
membership.filter=(&amp;(member=%M)(objectclass=groupofuniquenames));"
Notes="This is provided as an example. Before enabling this Realm, you must
edit the configuration parameters as appropriate for your environment."
/>

コード リスト 7-4 デフォルトの OpenLDAP セキュリティ レルム テンプレート

<CustomRealm
Name="defaultLDAPRealmForOpenLDAPDirectoryServices"
RealmClassName="weblogic.security.ldaprealmv2.LDAPRealm"
Password="*secret*"
ConfigurationData="server.host=ldapserver.example.com;server.principal=cn=
Manager,
dc=example, dc=com;user.dn=ou=people, dc=example,
dc=com;user.filter=(&amp;(uid=%u)(objectclass=person));group.dn=ou=groups,
dc=example,
c=com;group.filter=(&amp;(cn=%g)(objectclass=groupofuniquenames));membership.
filter=(&amp;(uniquemember=%M)(objectclass=groupofuniquenames));"
Notes="This is provided as an example. Before enabling this Realm, you must
edit the configuration parameters as appropriate for your environment."
/>

LDAP セキュリティおよびユーザ プロファイルと統合する

この統合シナリオは、LDAP セキュリティ レルムと統合するで示したものと同様ですが、セキュリティ レルムを統合するだけでなく、ユーザ プロファイル情報も統合する点が異なります。たとえば、LDAP サーバからユーザの電子メール属性を読み込み、それを統合ユーザ プロファイル (UUP) を通じてエクスポーズするのは、このシナリオの例でしょう。

あらかじめ必要な作業

ユーザ プロファイルを LDAP サーバから正常に取得するには、必ず以下を実行しておいてください。

  1. WebLogic Portal インスタンスにアプリケーションをすでにデプロイしてある場合には、サーバを停止します。

  2. ldapprofile.jar コンポーネントをアプリケーション内にデプロイします。

  3. サーバを起動し、アプリケーションをデプロイします。

  4. アクティブ ドメインに対して WebLogic Server Administration Console を起動します。

サーバを統合用にコンフィグレーションする

WebLogic サーバ を LDAP セキュリティ レルムおよびプロファイルとの統合用にコンフィグレーションするには、以下の 2 つのコンフィグレーション プロセスが必要になります。

 


その他のサポート対象セキュリティ レルム

LDAP 以外に、WebLogic Server では以下のセキュリティ レルムがサポートされています。

 


セキュア ソケット レイヤ セキュリティの有効化

WebLogic Portal の Commerce JSP テンプレートに関連付けられているプレゼンテーションとビジネス ロジックを制御する Webflow および Pipeline メカニズムでは、セキュア ソケット レイヤ (SSL) と宣言的転送のメカニズムが利用されます。 保護された JSP ファイルを呼び出すリンクと、ある種の入力プロセッサおよび Pipeline には、HTTPS プロトコルでアクセスする必要があります。Commerce (wlcs) Web アプリケーションの web.xml デプロイメント記述子には、これらのリンクがすでに多数定義されています。SSL に基づいたセキュリティ保護付き JSP テンプレートでも、転送の保証を示す設定が web.xml ファイルに必要になります。この保証の取り得る値は CONFIDENTIALINTEGRAL です。

Webflow および Pipeline については、ポータル ナビゲーションのセットアップ を参照してください。

注意: SSL 接続が機能するためには、サーバ上にセットアップされた認証局から有効な SSL 証明書を取得しておく必要があります。

config.xml に必要な SSL 用の設定

Web アプリケーションで SSL を有効にするには、必ずドメインの config.xml ファイルに、SSL が有効になるように設定する必要があります(リスト 7-5 に示す)。

コード リスト 7-5 config.xml ファイルでの SSL の有効化

<server>
.
.
.
<SSL Enabled="true" ListenPort="7502" Name="portalServer"
ServerCertificateChainFileName="ca.pem"
ServerCertificateFileName="democert.pem"
ServerKeyFileName="demokey.pem"/>
</server>

SSL 属性には、必要な証明書ファイル名、サーバ キー ファイル名、および サーバ名も指定しなければなりません。

config.xml は、<BEA_HOME>/user_projects/<YOUR_DOMAIN> に格納されています。

ここで、<YOUR_DOMAIN> は Configuration Wizard の実行時に作成されたドメイン フォルダです。

web.xml に必要な SSL 用の設定

さらに、Web アプリケーションのデプロイメント記述子 (web.xml) に設定するセキュア リスン ポートが、リスト 7-6 に示すように、config.xml に設定したものと同じでなければなりません。

コード リスト 7-6 リスン ポートの指定

<context-param> 
<param-name>HTTPS_PORT</param-name>
<param-value>7502</param-value>
</context-param>

 


シングル サインオンの有効化

シングル サインオンが有効になっていれば、訪問者は 1 回サインオンするだけで、複数の Web アプリケーションにアクセスすることができます(ただし、それらのアプリケーションが同一のサーバまたはクラスタ上で動作している場合に限ります)。シングル サインオンを有効にするには、以下の手順が必要です。

  1. 各 Web アプリケーションに対するユーザのクッキーが同じになるようにします。

  2. 各 Web アプリケーションに同じユーザ プロパティが使用されるようにします。

クッキー名を設定する

訪問者がシングル サインオンを利用してアクセスすることになる各アプリケーションのクッキー名を設定します。それには、該当するアプリケーションごとに、<BEA_HOME>weblogic700¥ samples¥portal<PORTAL_DOMAIN>¥beaApps¥<PORTAL_APP>¥<PORTAL>¥WEB-INF¥ 内の weblogic.xml ファイルを編集します。

  1. 該当する weblogic.xml ファイルを開き、 CookieName パラメータを設定する <session-param> 要素(リスト 7-7 に示す)を見つけます。

コード リスト 7-7

<session-param>
<param-name>CookieName</param-name>
<param-value>JSESSIONID_SAMPLEPORTAL</param-value>
</session-param>

  1. <param-value> 値を適切なクッキー名に変更します。

  2. Web アプリケーションごとに、ステップ 1 および 2 を繰り返します。

ユーザ プロパティを設定する

訪問者がシングル サインオンを利用してアクセスする各 Web アプリケーションでは、訪問者ごとに同じユーザ プロパティ セットを使用する必要があります。そのためには、該当するプロパティ セットを編集し、それらを一致させる必要があります。ユーザ プロパティ セットの編集の詳細については、プロパティ セット定義の作成を参照してください。

 

ページの先頭 前 次