BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Portal > 開発者ガイド > ポータルへのセキュリティの追加 |
開発者ガイド
|
ポータルへのセキュリティの追加
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 に明示)でこれらの属性をコンフィグレーションすることができます。
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 カスタム セキュリティ レルム テンプレート コード リスト 7-2 デフォルトの Microsoft カスタム セキュリティ レルム テンプレート コード リスト 7-3 デフォルトの Novell カスタム セキュリティ レルム テンプレート コード リスト 7-4 デフォルトの OpenLDAP セキュリティ レルム テンプレート LDAP セキュリティおよびユーザ プロファイルと統合する この統合シナリオは、LDAP セキュリティ レルムと統合するで示したものと同様ですが、セキュリティ レルムを統合するだけでなく、ユーザ プロファイル情報も統合する点が異なります。たとえば、LDAP サーバからユーザの電子メール属性を読み込み、それを統合ユーザ プロファイル (UUP) を通じてエクスポーズするのは、このシナリオの例でしょう。 あらかじめ必要な作業 ユーザ プロファイルを LDAP サーバから正常に取得するには、必ず以下を実行しておいてください。
<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=(&(uid=%u)(objectclass=person));group.dn=
ou=groups,
o=beasys.com;group.filter=(&(cn=%g)(objectclass=groupofuniquenames));
membership.filter=(&(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."
/><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=(&(cn=%u)(objectclass=member));
group.dn=ou=Groups,
o=ExampleMembershipDir;group.filter=(&(cn=%g)(objectclass=mgroup));
membership.scope.depth=1;microsoft.membership.scope=sub;membership.
filter=(|(&(memberobject=%M)(objectclass=memberof))
(&(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."
/><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=(&(cn=%u)(objectclass=person));group.dn=ou=
groups,
o=example.com;group.filter=(&(cn=%g)(objectclass=groupofuniquenames));
membership.filter=(&(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."
/><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=(&(uid=%u)(objectclass=person));group.dn=ou=groups,
dc=example,
c=com;group.filter=(&(cn=%g)(objectclass=groupofuniquenames));membership.
filter=(&(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."
/>
サーバを統合用にコンフィグレーションする
WebLogic サーバ を LDAP セキュリティ レルムおよびプロファイルとの統合用にコンフィグレーションするには、以下の 2 つのコンフィグレーション プロセスが必要になります。
これらの変数は、WebLogic Server Administration Console でコンフィグレーションすることができます。
その他のサポート対象セキュリティ レルム
LDAP 以外に、WebLogic Server では以下のセキュリティ レルムがサポートされています。
このセキュリティ レルムでは、Windows NT のアカウント情報を用いてユーザの認証を行います。 Windows NT を通じて定義されたユーザとグループを Web アプリケーションで使用することができます。WebLogic Server Administration Console を使用してこのレルムを参照することはできますが、ユーザやグループを定義するには Windows NT に用意されている機能を利用する必要があります。
UNIX セキュリティ レルムでは、ネイティブ プログラム wlauth を実行して、UNIX のログイン ID とパスワードでユーザとグループの認証を行います。UNIX プラットフォームによっては、プラグイン可能な認証モジュール (PAM: Pluggable Authentication Module) が wlauth で使用されます。このモジュールを使えば、UNIX プラットフォームにおける認証サービスを、それらのサービスを利用するアプリケーションを変更せずにコンフィグレーションすることができます。PAM が利用できない UNIX プラットフォームでは、シャドウ パスワード(サポートされている場合)などの標準のログイン メカニズムが wlauth で使用されます。Administration Console を使用してこのレルムを参照することはできますが、ユーザやグループを定義するには UNIX プラットフォームに用意されている機能を利用する必要があります。
サーバを起動すると、ファイル レルムは、WebLogic Server Administration Console を通じて定義されたプロパティに基づいて、ユーザ、グループ、および ACL の各オブジェクトを生成し、fileRealm.properties ファイルに格納します。
注意: ファイル レルムは、10,000 ユーザ以内で使用するためのものです。10,000 ユーザを超える場合には、別のセキュリティ レルムを使用してください。
セキュア ソケット レイヤ セキュリティの有効化
WebLogic Portal の Commerce JSP テンプレートに関連付けられているプレゼンテーションとビジネス ロジックを制御する Webflow および Pipeline メカニズムでは、セキュア ソケット レイヤ (SSL) と宣言的転送のメカニズムが利用されます。 保護された JSP ファイルを呼び出すリンクと、ある種の入力プロセッサおよび Pipeline には、HTTPS プロトコルでアクセスする必要があります。Commerce (wlcs) Web アプリケーションの web.xml デプロイメント記述子には、これらのリンクがすでに多数定義されています。SSL に基づいたセキュリティ保護付き JSP テンプレートでも、転送の保証を示す設定が web.xml ファイルに必要になります。この保証の取り得る値は CONFIDENTIAL か INTEGRAL です。
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 アプリケーションにアクセスすることができます(ただし、それらのアプリケーションが同一のサーバまたはクラスタ上で動作している場合に限ります)。シングル サインオンを有効にするには、以下の手順が必要です。
クッキー名を設定する
訪問者がシングル サインオンを利用してアクセスすることになる各アプリケーションのクッキー名を設定します。それには、該当するアプリケーションごとに、<BEA_HOME>weblogic700¥ samples¥portal<PORTAL_DOMAIN>¥beaApps¥<PORTAL_APP>¥<PORTAL>¥WEB-INF¥ 内の weblogic.xml ファイルを編集します。
コード リスト 7-7
<session-param>
<param-name>CookieName</param-name>
<param-value>JSESSIONID_SAMPLEPORTAL</param-value>
</session-param>
ユーザ プロパティを設定する
訪問者がシングル サインオンを利用してアクセスする各 Web アプリケーションでは、訪問者ごとに同じユーザ プロパティ セットを使用する必要があります。そのためには、該当するプロパティ セットを編集し、それらを一致させる必要があります。ユーザ プロパティ セットの編集の詳細については、プロパティ セット定義の作成を参照してください。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |