WebLogic Security の管理
セキュリティ プロバイダのコンフィグレーション
以下の節では、WebLogic Server で提供されるセキュリティ プロバイダとカスタム セキュリティ プロバイダのコンフィグレーション方法について説明します。
注意 :互換性セキュリティを使用する場合は、レルム アダプタ監査プロバイダ、裁決プロバイダ、および認可プロバイダのみ使用できます。これらのプロバイダの詳細については、「互換性セキュリティの使い方」を参照してください。
セキュリティ プロバイダをコンフィグレーションする必要がある場合
WebLogic セキュリティ プロバイダのほとんどのコンフィグレーション作業は、デフォルトで行われています。ただし、以下のような状況では、セキュリティ プロバイダの属性をコンフィグレーションする必要があります。
WebLogic ID アサーション プロバイダを使用する前に、アクティブなトークン タイプを定義する。「WebLogic ID アサーション プロバイダのコンフィグレーション」を参照してください。
セキュリティ レルム内のユーザにトークンをマップするには、WebLogic ID アサーション プロバイダでユーザ名マッパーをコンフィグレーションする。「ユーザ名マッパーのコンフィグレーション」を参照してください。
デフォルト (アクティブ) セキュリティ レルムで監査を使用するには、WebLogic 監査プロバイダまたはカスタム監査プロバイダをコンフィグレーションする。「WebLogic 監査プロバイダのコンフィグレーション」または「カスタム セキュリティ プロバイダのコンフィグレーション」を参照してください。
組み込み LDAP サーバ以外の LDAP サーバを使用するには、いずれかの LDAP 認証プロバイダをコンフィグレーションする。LDAP 認証プロバイダは、WebLogic 認証プロバイダの代わりに、または WebLogic 認証プロバイダに加えて使用できます。「LDAP 認証プロバイダのコンフィグレーション」を参照してください。
myrealm で 6.x セキュリティ レルム (6.x の Windows NT、UNIX、RDBMS セキュリティ レルム、または 6.x のカスタム セキュリティ レルム) に格納されている既存のユーザとグループを使用するには、レルム アダプタ認証プロバイダをコンフィグレーションする。レルム アダプタ認証プロバイダは、WebLogic 認証プロバイダの代わりに、または WebLogic 認証プロバイダに加えて使用できます。「レルム アダプタ認証プロバイダのコンフィグレーション」を参照してください。
注意 :このリリースの WebLogic Server には、6.x の Windows NT、UNIX、RDBMS セキュリティ レルムに相当するものはありません。そのため、レルム アダプタ認証プロバイダを使用して、これらのセキュリティ レルムに格納されているユーザとグループにアクセスすることをお勧めします。
新しいセキュリティ レルムを作成する場合は、新しいレルムのセキュリティ プロバイダをコンフィグレーションする。デフォルト レルム (myrealm) を使用する場合は、WebLogic 裁決、認証、ID アサーション、認可、資格マッピング、およびロール マッピングの各プロバイダがすでにコンフィグレーションされています。「新しいセキュリティ レルムの作成」を参照してください。
セキュリティ レルムにカスタム セキュリティ プロバイダを追加する場合、または WebLogic セキュリティ プロバイダをカスタム セキュリティ プロバイダで置き換える場合は、カスタム セキュリティ プロバイダの属性をコンフィグレーションする。カスタム セキュリティ プロバイダを記述する場合、WebLogic Server Administration Console からコンフィグレーション可能な属性を実装することができます。ただし、それらの属性は実装に固有のものであり、このマニュアルでは扱われていません。『WebLogic Security サービスの開発』の「カスタム セキュリティ プロバイダ用のコンソール拡張の記述」を参照してください。
以降の節では、各セキュリティ プロバイダで設定できる属性について説明します。
WebLogic 裁決プロバイダのコンフィグレーション
セキュリティ レルムに複数の認可プロバイダがコンフィグレーションされる場合、特定のリソースに「アクセスできるか」という質問に対して、それぞれが異なる回答を返す可能性があります。この回答は、PERMIT
、DENY
、ABSTAIN
のいずれかです。複数の認可プロバイダの回答が一致しない場合にどうするかを決定するのが、裁決プロバイダの主な役割です。裁決プロバイダは、各認可プロバイダの回答に重みを割り当てることによって認可の衝突を解決し、最終決定を返します。
各セキュリティ レルムでは、裁決プロバイダが必要です。セキュリティ レルムでは、WebLogic 裁決プロバイダまたはカスタム裁決プロバイダのいずれかを使用できます。この節では、WebLogic 裁決プロバイダをコンフィグレーションする方法について説明します。カスタム セキュリティ プロバイダ (カスタム裁決プロバイダを含む) のコンフィグレーションについては、「カスタム セキュリティ プロバイダのコンフィグレーション」を参照してください。
WebLogic 裁決プロバイダをコンフィグレーションするには、次の手順に従います。
WebLogic Server Administration Console の左ペインで、[セキュリティ|レルム] ノードを展開します。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[裁決] テーブルに、コンフィグレーションするレルムのデフォルト裁決プロバイダの名前が表示されます。
[新しい Default Adjudicator のコンフィグレーション] リンクをクリックします。
既存のセキュリティ レルムで作業している場合は、[新しい Default Adjudicator と置換] リンクをクリックします。
[詳細] タブで、[完全一致の許可が必要] 属性を設定します (省略可能)。
[完全一致の許可が必要] 属性によって、WebLogic 裁決プロバイダが認可プロバイダからの PERMIT
および ABSTAIN
票をどのように処理するかが決まります。
この属性を有効にした場合、すべての認可プロバイダが PERMIT
票を投じなければ、裁決プロバイダは true
を投じません。デフォルトでは、この属性は有効化されています。
この属性を無効にした場合、ABSTAIN
票は PERMIT
票としてカウントされます。[完全一致の許可が必要] 属性を無効にするには、対応するチェック ボックスをクリックします。
WebLogic 監査プロバイダのコンフィグレーション
監査とは、リクエストの操作とそれらのリクエストの結果に関する情報を、否認防止を目的として収集、格納、および配布するプロセスのことです。言い換えれば、監査プロバイダはコンピュータのアクティビティの電子的な記録を生成します。監査プロバイダのコンフィグレーションは任意です。デフォルト セキュリティ レルム (myrealm) には監査プロバイダはコンフィグレーションされていません。
注意 : Common Criteria 認定コンフィグレーションでは、WebLogic 監査プロバイダを有効にすることが求められます。Common Criteria の評価および検証プロセスで認定された BEA WebLogic Server コンフィグレーションについては、National Information Assurance Partnership の Web サイト (http://niap.nist.gov/) の「Validated Products」セクションにある製品リスト」を参照してください。評価中の製品のコンフィグレーションに関する情報は公開されません。公開されるのは、検証が終了した製品に関する情報のみです。
セキュリティ レルムでは、WebLogic 監査プロバイダまたはカスタム監査プロバイダのいずれかを使用できます。この節では、WebLogic 監査プロバイダをコンフィグレーションする方法について説明します。カスタム セキュリティ プロバイダ (カスタム監査プロバイダを含む) のコンフィグレーションについては、「カスタム セキュリティ プロバイダのコンフィグレーション」を参照してください。
警告 :監査プロバイダを使用すると、わずか数個のイベントのログが記録される場合でも WebLogic Server のパフォーマンスに影響が及びます。
WebLogic 監査プロバイダをコンフィグレーションするには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[監査] テーブルに、コンフィグレーションするレルムのデフォルト監査プロバイダの名前が表示されます。
[新しい Default Auditor のコンフィグレーション] リンクをクリックします。
WebLogic Server デプロイメントに適した重大度を選択します。
監査プロバイダは、重大度属性で指定されたイベント レベルに基づいて特定のセキュリティ イベントを監査します。監査は、以下のレベルのセキュリティ イベントが発生したときに実行されます。
INFORMATION
WARNING
ERROR
SUCCESS
FAILURE
[ローテーション時間 (分)] 属性で、新しい DefaultAuditRecorder.log
ファイルを作成する前に待機する分数を指定します。指定された時間が経過すると、監査ファイルが閉じられて新しい監査ファイルが作成されます。DefaultAuditRecorder.
YYYYMMDDHHMM.log
(例 : DefaultAuditRecorder.200405130110.log
) という名前でバックアップ ファイルが作成されます。
WebLogic 監査プロバイダによって記録されるすべての監査情報は、デフォルトでは WL_HOME
\
yourdomain
\
yourserver
\DefaultAuditRecorder.log
に保存されます。監査プロバイダはセキュリティ レルムごとにコンフィグレーションされますが、各サーバは監査データをサーバのディレクトリにある独自のログ ファイルに書き込みます。次の Java 起動オプションを使用すれば、コマンドラインで DefaultAuditRecorder.log
の新しいディレクトリを指定することができます。
-Dweblogic.security.audit.auditLogDir=c:\foo
新しいファイルの配置場所は、c:\foo\
yourserver
\DefaultAuditRecorder.log
になります。
詳細については、「weblogic.Server コマンドライン リファレンス」を参照してください。
WebLogic 監査プロバイダは、以下のイベントのログを記録します。
表 3-1 WebLogic 監査プロバイダのイベント
監査イベント
|
意味
|
AUTHENTICATE
|
単純認証 (ユーザ名とパスワード) が発生した。
|
ASSERTIDENTITY
|
境界認証 (トークン ベース) が発生した。
|
USERLOCKED
|
無効なログイン試行によってユーザ アカウントがロックされた。
|
USERUNLOCKED
|
ユーザ アカウントのロックがクリアされた。
|
USERLOCKOUTEXPIRED
|
ユーザ アカウントのロックの期限が切れた。
|
ISAUTHORIZED
|
認可処理の試行が発生した。
|
ROLEEVENT
|
getRoles イベントが発生した。
|
ROLEDEPLOY
|
deployRole イベントが発生した。
|
ROLEUNDEPLOY
|
undeployRole イベントが発生した。
|
POLICYDEPLOY
|
deployPolicy イベントが発生した。
|
POLICYUNDEPLOY
|
undeployPolicy イベントが発生した。
|
AuditCreateConfigurationEvent
|
ユーザがドメイン内にリソースを作成した。
ドメインによるコンフィグレーション監査イベントの送信を有効にする必要がある。Administration Console オンライン ヘルプの「コンフィグレーション監査」を参照。
|
AuditSetAttributeConfigurationEvent
|
ユーザがドメイン内のリソースの設定を変更した。
ドメインによるコンフィグレーション監査イベントの送信を有効にする必要がある。Administration Console オンライン ヘルプの「コンフィグレーション監査」を参照。
|
AuditInvokeConfigurationEvent
|
ユーザがドメイン内のリソースに対する操作を呼び出した。
ドメインによるコンフィグレーション監査イベントの送信を有効にする必要がある。Administration Console オンライン ヘルプの「コンフィグレーション監査」を参照。
|
AuditDeleteConfigurationEvent
|
ユーザがドメイン内のリソースを削除した。
ドメインによるコンフィグレーション監査イベントの送信を有効にする必要がある。Administration Console オンライン ヘルプの「コンフィグレーション監査」を参照。
|
認証プロバイダの選択
認証とは、ユーザまたはシステム プロセスの身元を証明または確認するプロセスのことです。認証にはまた、必要に応じて、身元情報を記憶したり、転送したり、またさまざまなシステム コンポーネントの利用に供する働きもあります。
WebLogic Server のセキュリティ アーキテクチャでサポートされているのは、証明書に基づく認証 (WebLogic Server を直接用いる)、HTTP 証明書に基づく認証 (外部の Web サーバを介して行う)、境界に基づく認証 (Web サーバ、ファイアウォール、VPN)、および複数のセキュリティ トークン タイプ/プロトコルに基づく認証です。
認証は、認証プロバイダによって実行されます。WebLogic Server には、以下のタイプの認証プロバイダが用意されています。
WebLogic 認証プロバイダ。このプロバイダでは、組み込み LDAP サーバ内のユーザおよびグループ情報にアクセスします。
LDAP 認証プロバイダ。このプロバイダでは、外部 LDAP ストアにアクセスできます。WebLogic Server には、Open LDAP、Netscape iPlanet、Microsoft Active Directory、および Novell NDS の各ストアにアクセスできる LDAP 認証プロバイダが用意されています。LDAP 認証プロバイダを使用して他の LDAP ストアにアクセスすることもできます。ただし、定義済みの LDAP プロバイダを選択してカスタマイズする必要があります。「他の LDAP サーバへのアクセス」を参照してください。
レルム アダプタ認証プロバイダ。このプロバイダでは、6.x セキュリティ レルムに格納されているユーザおよびグループ情報にアクセスできます。
MedRec 認証プロバイダ。このプロバイダでは、MedRec サンプル アプリケーションに対する認証を実装します。この認証プロバイダは MedRec サンプル アプリケーションでのみ使用できます。プロダクション ドメインからは削除してください。『リリース ノート』の「セキュリティに関する確認済みの問題」を参照してください。
WebLogic ID アサーション プロバイダ。このプロバイダでは、X.509 および IIOP-CSIv2 トークンを検証します。ユーザ名マッパーを使用して、そのトークンを WebLogic Server セキュリティ レルム内のユーザにマップできます。
また、以下のプロバイダを使用することもできます。
カスタム認証プロバイダ。このプロバイダは、さまざまなタイプの認証技術を備えています。
カスタム ID アサーション プロバイダ。このプロバイダは、さまざまなタイプのトークンをサポートしています。
注意 :WebLogic Server Administration Console は、WebLogic 認証プロバイダをデフォルト認証プロバイダとして、WebLogic ID アサーション プロバイダをデフォルト ID アサーション プロバイダとしてそれぞれ参照します。
各セキュリティ レルムには、少なくとも 1 つの認証プロバイダがコンフィグレーションされている必要があります。WebLogic Security フレームワークは、さまざまな要素から成る認証向けに、複数の認証プロバイダ (したがって、複数の LoginModule) をサポートするように設計されています。そのため、複数の認証プロバイダを使用できます。また、1 つのセキュリティ レルムで複数のタイプの認証プロバイダを使用できます。たとえば、網膜スキャンに基づく認証とユーザ名/パスワードに基づく認証の両方を使用してシステムにアクセスする場合、2 つの認証プロバイダをコンフィグレーションします。
複数の認証プロバイダをコンフィグレーションする方法は、認証プロセスの全体的な結果に影響します。認証プロバイダ間にログインの依存関係を設定し、プロバイダ間のシングル サインオンを可能にするには、JAAS 制御フラグ属性を使用します。「JAAS 制御フラグ属性の設定」を参照してください。
認証プロバイダはコンフィグレーションされた順序で呼び出されます。したがって、認証プロバイダをコンフィグレーションする際は注意してください。認証プロバイダのコンフィグレーションを変更するには、[コンフィグレーション済み認証プロバイダの並べ替え] リンクを使用します。「認証プロバイダの順序の変更」を参照してください。
認証プロバイダのコンフィグレーション : 主な手順
認証プロバイダをコンフィグレーションするには、次の手順に従います。
WebLogic Server Administration Console の左ペインで、[セキュリティ|レルム] ノードを展開します。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、デフォルトの認証プロバイダと ID アサーション プロバイダの名前が表示されます。
認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方を選択します。
[新しい iPlanet 認証プロバイダのコンフィグレーション]
[新しい Realm Adapter Authenticator のコンフィグレーション]
[新しい Active Directory 認証プロバイダのコンフィグレーション]
[新しい Default Authenticator のコンフィグレーション]
[新しい Default Identity Asserter のコンフィグレーション]
[新しい OpenLDAP Authenticator のコンフィグレーション]
[新しい Novell Authenticator のコンフィグレーション]
該当する節に移動して、認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方をコンフィグレーションします。
これらの手順を繰り返して、追加の認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方をコンフィグレーションします。
認証プロバイダおよび ID アサーション プロバイダのコンフィグレーションが済んだら、WebLogic Server を再起動します。
JAAS 制御フラグ属性の設定
複数の認証プロバイダをコンフィグレーションする場合、認証プロバイダの [全般] タブにある JAAS の [制御フラグ] 属性を使用して、ログイン シーケンスにおける認証プロバイダの使用方法を制御します。
JAAS の [制御フラグ] の値は次のように定義されます。
[REQUIRED] - 認証プロバイダは常に呼び出され、ユーザは常に認証テストを通過する必要があります。
[SUFFICIENT] - ユーザがこの認証プロバイダの認証テストを通過した場合、ユーザは十分認証されたため、(JAAS の [制御フラグ] 属性が [REQUIRED] に設定されている認証プロバイダを除いて) 他の認証プロバイダは実行されません。
[REQUISITE] - ユーザがこの認証プロバイダの認証テストを通過した場合、他の認証プロバイダは実行されますが、(JAAS の [制御フラグ] 属性が [REQUIRED] に設定されている認証プロバイダを除いて) 失敗しても構いません。
[OPTIONAL] - ユーザはこの認証プロバイダの認証テストを通過することも失敗することもできます。ただし、セキュリティ レルムでコンフィグレーションされているすべての認証プロバイダで JAAS の [制御フラグ] 属性が [OPTIONAL] に設定されている場合、ユーザはコンフィグレーション済みプロバイダのいずれかの認証テストを通過する必要があります。
既存のセキュリティ レルムにさらに認証プロバイダを追加する場合、[制御フラグ] 属性はデフォルトで [OPTIONAL] に設定されます。必要に応じて、認証プロバイダが認証シーケンス内で適切に機能するように、[制御フラグ] の設定を変更してください。
注意 :WebLogic Server Administration Console は、セキュリティ プロバイダを作成するときに JAAS の [制御フラグ] を [OPTIONAL] に設定します。セキュリティ プロバイダの MBean はデフォルトで [REQUIRED] になります。
LDAP 認証プロバイダのコンフィグレーション
WebLogic Server は、特定の LDAP サーバをサポートおよび証明しません。LDAP v2 または v3 準拠のすべての LDAP サーバは WebLogic Server と正常に連係します。以下の LDAP ディレクトリ サーバについてはテスト済みです。
Netscape iPlanet バージョン 4.1.3
Windows 2000 に付属の Active Directory
Open LDAP バージョン 2.0.7
Novell NDS バージョン 8.5.1
詳細については、以下を参照してください。
LDAP 認証プロバイダを使用するための要件
LDAP 認証プロバイダがセキュリティ レルムにコンフィグレーションされている唯一の認証プロバイダの場合、Admin
ロールを持たなければ、WebLogic Server を起動して LDAP ディレクトリ内のユーザまたはグループを使用することができません。LDAP ディレクトリで、次のいずれかを行います。
WebLogic Server では、デフォルトによって Admin
ロールに Administrators
グループが含まれています。LDAP ディレクトリに Administrators
グループを作成します。WebLogic Server を起動する LDAP ユーザがこのグループに含まれていることを確認します。
Active Directory LDAP ディレクトリには、Administrators
というデフォルト グループが存在します。WebLogic Server を起動するユーザを Administrators
グループに追加し、[グループ ベース DN] 属性を定義して Administrators
グループが見つかるようにします。
LDAP ディレクトリに Administrators
グループを作成しない場合 (LDAP ディレクトリが別の目的で Administrators
グループを使用する場合など)、LDAP ディレクトリに新しいグループを作成 (または既存のグループを使用) して、WebLogic Server を起動するユーザをそのグループに追加します。次に、WebLogic Server Administration Console で、そのグループに Admin
ロールを割り当てます。
LDAP 認証プロバイダのコンフィグレーション
LDAP 認証プロバイダをコンフィグレーションするには、次の手順に従います。
WebLogic Server Administration Console の左ペインで、[セキュリティ|レルム] ノードを展開します。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、デフォルトの認証プロバイダと ID アサーション プロバイダの名前が表示されます。
[新しい iPlanet 認証プロバイダのコンフィグレーション]
[新しい Active Directory 認証プロバイダのコンフィグレーション]
[新しい OpenLDAP Authenticator のコンフィグレーション]
[新しい Novell Authenticator のコンフィグレーション]
複数の認証プロバイダを使用する場合、[全般] タブの [制御フラグ] 属性の値を定義します。[制御フラグ] 属性で、LDAP 認証プロバイダをどのように他の LDAP 認証プロバイダと共に使用するかを指定します。詳細については、「LDAP 認証プロバイダのコンフィグレーション」を参照してください。
LDAP サーバおよびキャッシング情報の設定
LDAP サーバをコンフィグレーションするには、次の手順に従います。
使用する LDAP 認証プロバイダの [コンフィグレーション|LDAP] タブを選択します。
たとえば、iPlanet 認証プロバイダの [コンフィグレーション|iPlanet LDAP] タブを選択します。
LDAP タブの属性値を定義して、WebLogic Server と LDAP サーバの通信を有効にします。
次の表では、LDAP タブで設定する属性について説明します。
表 3-2 [LDAP] タブの属性
属性
|
説明
|
[ホスト]
|
LDAP サーバが稼働するコンピュータのホスト名。
|
[ポート]
|
LDAP サーバがリスンするポートの番号。SSL プロトコルを使用して WebLogic Server を LDAP サーバに接続する場合は、LDAP サーバの SSL ポートを指定する。
|
[SSL を有効化]
|
LDAP サーバと WebLogic Server との通信を保護するために SSL プロトコルを使用できるようにするためのオプション。LDAP サーバが SSL プロトコルを使用するようにコンフィグレーションされていない場合は、この属性を無効化する。
|
[プリンシパル]
|
WebLogic Server が LDAP サーバとの接続に使用する LDAP ユーザの識別名 (Distinguished Name: DN)。一般に、このユーザは LDAP ディレクトリ サーバのシステム管理者である。パスワードを変更する場合、この属性をシステム管理者に設定する必要がある。
|
[資格]
|
[プリンシパル] 属性で定義された LDAP ユーザを認証するパスワード。
|
[キャッシュを有効化]
|
Open LDAP サーバでのデータ キャッシュの使用を有効にする。
|
[キャッシュ サイズ]
|
キャッシュのルックアップの最大サイズ。デフォルトは 32KB。
|
[キャッシュ TTL]
|
LDAP ルックアップの結果を保持する秒数。
|
[詳細] タブを選択して、LDAP サーバの動作を制御するその他の属性をコンフィグレーションします。
次の表では、[詳細] タブで設定する属性について説明します。
表 3-3 [詳細] タブの属性
属性
|
説明
|
[グループ メンバシップ ルックアップでトークン グループを使用する]
|
注意 :この属性は、Active Directory 認証プロバイダのみに適用される。
標準の再帰的なグループ メンバシップ ルックアップ アルゴリズムではなく、Active Directory の TokenGroups 属性ルックアップ アルゴリズムを使用するかどうかを示す。
Active Directory の TokenGroups 属性には、ユーザの完全にフラットなグループ メンバシップが SID 値の配列として保持されている。この SID 値は Active Directory LDAP サーバにおいて特別な索引付けがされており、これによりルックアップの応答が高速になる。
デフォルトで、この属性は無効。
注意 :TokenGroups 属性へのアクセスが必要になる (つまり、LDAP ディレクトリにアクセスするユーザには TokenGroups 属性の読み込み特権が必要になり、TokenGroups 属性はユーザ オブジェクトのスキーマになければならない)。
|
[SID によるグループ ルックアップのキャッシングの有効化]
|
注意 :この属性は、Active Directory 認証プロバイダのみに適用される。
グループ名のルックアップ結果に SID がキャッシュされるかどうかを示す。この属性は、[グループ メンバシップ ルックアップでトークン グループを使用する] 属性が有効になっている場合にのみ適用される。
|
[キャッシュ内の SID によるグループ ルックアップ最大数]
|
注意 :この属性は、Active Directory 認証プロバイダのみに適用される。
グループ ルックアップに SID を保持するための最長時間未使用 (LRU) キャッシュの最大サイズ。この属性は、[グループ メンバシップ ルックアップでトークン グループを使用する] 属性および [SID によるグループ ルックアップのキャッシングの有効化] 属性の両方が有効になっている場合にのみ適用される。
|
[グループ メンバシップ検索]
|
グループ検索が深さで制限されるかどうかを制御する。この属性によって、ネストされたグループへの再帰的な検索の深さの程度が制御される。ネストされたグループ階層の最初のレベルのみを使用するコンフィグレーションの場合、この属性によって検索がグループの最初のレベルに制限されるのでユーザ検索時のパフォーマンスが向上する。
|
[最大グループ メンバシップ検索レベル]
|
[グループ メンバシップ検索] 属性が指定されている場合にグループ メンバシップ検索の深さを制御する。指定できる値は次のとおり。
|
[取得したユーザ名をプリンシパルとして使用する]
|
入力されたユーザ名ではなく、LDAP ディレクトリから取得されたユーザ名を認証用のプリンシパルとして追加する必要があることを指定する。
|
[照会先に従う]
|
LDAP 認証プロバイダ内のユーザまたはグループの検索は、LDAP ディレクトリ内の他の LDAP サーバまたはブランチの照会先に従うことを指定する。デフォルトで、この属性は有効。
|
[照会先に匿名でバインドする]
|
デフォルトでは、検索時に照会先に従う場合、LDAP 認証プロバイダは LDAP サーバへの接続で使用するものと同じ DN およびパスワードを使用する。匿名ユーザとして接続する場合は、この属性を有効にする。詳細については、LDAP システム管理者に問い合わせること。
|
[結果タイムリミット]
|
タイムアウトするまで LDAP サーバが結果を待機する最大時間 (ミリ秒単位)。この属性が 0 に設定されている場合、最大時間の制限はない。デフォルトでは 0。
|
[接続タイムアウト]
|
LDAP サーバへの接続が確立されるまでに待機する最大時間 (秒単位)。この属性が 0 に設定されている場合、最大時間の制限はない。デフォルトでは 0。
|
[パラレル接続遅延]
|
複数の LDAP サーバに同時に接続しようとしたときの遅延 (秒単位)。この属性が 0 に設定されている場合、接続の試行はシリアライズされる。接続の試行はリストの最初のサーバに対して行われる。現在のホストへの接続が失敗した場合にのみ、リスト中の次のエントリが試行される。この属性が設定されず、LDAP サーバが使用できない場合、アプリケーションは長時間ブロックされることがある。この属性が 0 より大きい場合は、指定された時間の経過後に別の接続が開始される。
|
[接続再試行制限]
|
LDAP 認証プロバイダによる接続の作成中に LDAP サーバが最初に例外を送出する場合、WebLogic Server が LDAP サーバとの接続の確立を試行する回数。
この属性により、2 つの同じ LDAP 認証プロバイダが同じ LDAP サーバに同時に接続を試みるという問題が解決した。以前のリリースでは、接続が失敗し、WebLogic Server を再起動する必要があった。現在では、サーバは指定された回数、再接続を試行できるようになった。
|
デプロイメントをよりセキュアにするために、SSL プロトコルを使用して LDAP サーバと WebLogic Server 間の通信を保護することをお勧めします。 詳細については、「SSL のコンフィグレーション」を参照してください。
LDAP ディレクトリにおけるユーザの検索
LDAP ディレクトリにおけるユーザの検索方法を指定するには、次の手順に従います。
選択する LDAP サーバの [コンフィグレーション|ユーザ] タブを選択します。
たとえば、iPlanet 認証プロバイダの [コンフィグレーション|ユーザ] タブを選択します。
[ユーザ] タブの属性値を定義して、LDAP ディレクトリにおけるユーザの格納方法と検索方法を定義します。
次の表では、[ユーザ] タブで設定する属性について説明します。
表 3-4 [ユーザ] タブの属性
属性
|
説明
|
[ユーザ オブジェクト クラス]
|
ユーザを格納する LDAP オブジェクト クラス。
|
[ユーザ名属性]
|
ユーザ名を指定する LDAP ユーザ オブジェクトの属性。
|
[ユーザ動的グループ DN 属性]
|
このユーザが所属する動的グループの DN を指定する LDAP ユーザ オブジェクトの属性。
Active Directory、Open LDAP、および Novell NDS ディレクトリ サーバでは動的グループはサポートされないため、これらのサーバに対してはこの属性を設定しないこと。
この属性が存在しない場合、WebLogic Server は [動的グループ オブジェクト クラス] 属性を検索して、このユーザが属するグループを調べる。
グループに他のグループが含まれる場合、WebLogic Server はそのグループの派生グループの URL を評価する。
|
[ユーザ ベース DN]
|
ユーザが含まれる LDAP ディレクトリのツリーのベース DN。
ディレクトリの複数のルートの下に WebLogic Server ユーザを格納している場合は、それらのルートを user.dn.1 , user.dn.2 のように指定できる。LDAP 認証プロバイダは、一致するユーザが見つかるまで各ルート以下を順番に検索する。
注意 :各 user.dn.n エントリのユーザ フィルタ (user.filter.n ) を指定する必要がある。
|
[ユーザ検索スコープ]
|
ユーザを検索するための LDAP ディレクトリ ツリーの深さを指定する。
有効値は、[subtree] および [onelevel] 。
|
[名前フィルタからのユーザ]
|
特定のユーザ名を検索するための LDAP 検索フィルタ。
検索フィルタが指定されていない場合 (null または空の場合)、ユーザ スキーマに基づいてデフォルトの検索フィルタが作成される。
LDAP 検索フィルタの作成については、お使いの LDAP サーバのマニュアルを参照。
|
[ユーザすべてのフィルタ]
|
ベース DN の下のすべてのユーザを検索するための LDAP 検索フィルタ。検索フィルタが指定されていない場合 (null または空の場合)、ユーザ スキーマに基づいてデフォルトの検索フィルタが作成される。
LDAP 検索フィルタの作成については、お使いの LDAP サーバのマニュアルを参照。
|
LDAP ディレクトリにおけるグループの検索
LDAP ディレクトリにおけるグループの格納方法と検索方法を定義するには、次の手順に従います。
[コンフィグレーション|グループ] タブを選択します。
たとえば、iPlanet 認証プロバイダの [コンフィグレーション|グループ] タブを選択します。
[グループ] タブの属性値を設定して、LDAP ディレクトリにおけるグループの格納方法と検索方法を定義します。
次の表では、[グループ] タブで設定する属性について説明します。
表 3-5 [グループ] タブの属性
属性
|
説明
|
[グループ ベース DN]
|
グループが含まれる LDAP ディレクトリのツリーのベース DN。
|
[グループ検索スコープ]
|
グループを検索するための LDAP ディレクトリ ツリーの深さを指定する。
有効値は、[subtree] および [onelevel] 。
|
[名前フィルタからのグループ]
|
特定のグループ名を検索するための LDAP 検索フィルタ。
LDAP 検索フィルタの作成については、お使いの LDAP サーバのマニュアルを参照。
|
[グループすべてのフィルタ]
|
ベース グループ DN の下のすべてのグループを検索するための LDAP 検索フィルタ。この属性が指定されていない場合 (null または空の場合)、グループ スキーマに基づいてデフォルトの検索フィルタが作成される。
LDAP 検索フィルタの作成については、お使いの LDAP サーバのマニュアルを参照。
|
[静的グループ オブジェクト クラス]
|
静的グループを格納する LDAP オブジェクト クラスの名前。
|
[静的グループ名属性]
|
グループ名を指定する静的 LDAP グループ オブジェクトの属性。
|
LDAP ディレクトリにおけるグループ メンバーの検索
注意 :iPlanet 認証プロバイダは、動的グループをサポートしています。動的グループを使用するには [動的グループ オブジェクト クラス] と [動的グループ名属性]、および [動的メンバー URL 属性] を設定します。動的グループを使用する場合は、「iPlanet 認証プロバイダにおける動的グループのコンフィグレーションによるパフォーマンスの向上」にあるコンフィグレーション情報を考慮してください。
LDAP ディレクトリにおけるグループ メンバーの格納方法と検索方法を定義するには、次の手順に従います。
[コンフィグレーション|メンバシップ] タブを選択します。
たとえば、iPlanet 認証プロバイダの [コンフィグレーション|メンバシップ] タブを選択します。
[メンバシップ] タブの属性値を設定して、LDAP ディレクトリにおけるグループ メンバーの格納方法と検索方法を定義します。
次の表では、[メンバシップ] タブで設定する属性について説明します。
表 3-6 [メンバシップ] タブの属性
属性
|
定義
|
[静的メンバー DN 属性]
|
グループ内のメンバーの DN を指定する LDAP グループ オブジェクトの属性。
|
[メンバー DN フィルタからの静的グループ DN]
|
グループ メンバーの DN が指定されている場合、そのメンバーを含む静的 LDAP グループの DN を返す LDAP 検索フィルタ。
この属性が指定されていない場合 (null または空の場合)、グループ スキーマに基づいてデフォルトの検索フィルタが作成される。
LDAP 検索フィルタの作成については、お使いの LDAP サーバのマニュアルを参照。
|
[動的グループ オブジェクト クラス]
|
動的グループを格納する LDAP オブジェクト クラスの名前。
動的グループは、Active Directory、Open LDAP、または Novell NDS ディレクトリ サーバで現在サポートされていない。これらのサーバを使用する場合は、この属性を設定しないこと。
|
[動的グループ名属性]
|
グループ名を指定する動的 LDAP グループ オブジェクトの属性。
動的グループは、Active Directory、Open LDAP、または Novell NDS ディレクトリ サーバで現在サポートされていない。これらのサーバを使用する場合は、この属性を設定しないこと。
|
[動的メンバー URL 属性]
|
動的グループのメンバーの URL を指定する動的 LDAP グループ オブジェクトの属性。
注意 :この属性に予約済みの値を持つ文字列値が含まれている場合、不正な URL の例外が発生する可能性がある。この例外を回避するには、属性で「: 」、「, 」、「? 」、および「/ 」を使用しないようにする。
動的グループは、Active Directory、Open LDAP、または Novell NDS ディレクトリ サーバで現在サポートされていない。これらのサーバを使用する場合は、この属性を設定しないこと。
|
必要に応じて、他の認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方をコンフィグレーションします。
他の LDAP サーバへのアクセス
このリリースの WebLogic Server の LDAP 認証プロバイダは、iPlanet、Active Directory、Open LDAP、および Novell NDS LDAP サーバで動作します。LDAP 認証プロバイダを使用して新しいタイプの LDAP サーバにアクセスできます。新しい LDAP サーバに最適な既存の LDAP プロバイダを選択して、既存の属性を新しい LDAP サーバに合わせてカスタマイズします。
新しい LDAP サーバの LDAP 認証プロバイダを作成するには、次の手順に従います。
WebLogic Server Administration Console の左ペインで、[セキュリティ|レルム] ノードを展開します。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、デフォルトの認証プロバイダと ID アサーション プロバイダの名前が表示されます。
新しい LDAP サーバに最適な LDAP 認証プロバイダを選択します。
[全般] タブで、[名前] フィールドに新しい LDAP 認証プロバイダの名前 (MyLdapServer など) を入力します。
複数の認証プロバイダを使用する場合、[全般] タブの [制御フラグ] 属性の値を定義します。[制御フラグ] 属性で、LDAP 認証プロバイダをどのように他の LDAP 認証プロバイダと共に使用するかを指定します。詳細については、「LDAP 認証プロバイダのコンフィグレーション」を参照してください。
LDAP サーバのタブ (iPlanet 認証プロバイダの [iPlanet LDAP] など) を選択します。
[ユーザ] タブを選択して、LDAP ディレクトリ内のユーザの検索方法を定義します。既存の値を変更して、新しい LDAP サーバの値に合わせます。「LDAP ディレクトリにおけるユーザの検索」を参照してください。
[グループ] タブを選択して、LDAP ディレクトリ内のグループの検索方法を定義します。 既存の値を変更して、新しい LDAP サーバの値に合わせます。 「LDAP ディレクトリにおけるグループの検索」を参照してください。
LDAP 認証プロバイダのフェイルオーバのコンフィグレーション
複数の LDAP サーバから成る外部 LDAP プロバイダをコンフィグレーションし、1 つの LDAP サーバが利用できない場合のフェイルオーバを有効にできます。
LDAP 認証プロバイダにコンフィグレーションされた LDAP サーバのフェイルオーバをコンフィグレーションするには、次の手順を実行します。
フェイルオーバをコンフィグレーションする LDAP 認証プロバイダの [コンフィグレーション|LDAP] タブを選択します。
たとえば、iPlanet 認証プロバイダの [コンフィグレーション|iPlanet LDAP] タブを選択します。
[LDAP] タブの [ホスト] 属性で複数の LDAP サーバ名を指定します。この属性では、ホスト名のスペース区切りのリストを指定する必要があります。各ホスト名は、末尾のコロンやポート番号が入っても構いません。次に例を示します。
directory.knowledge.com:1050
people.catalog.com 199.254.1.2
複数のサーバに同時に接続しようとしたときに遅延する秒数を指定します。接続の試行はリストの最初のサーバに対して行われます。現在のホストへの接続が失敗した場合にのみ、リスト中の次のエントリが試行されます。この設定では、ホストがダウンしている場合にアプリケーションが許容しがたいほど長い時間ブロックされる場合があります。この属性が 0 より大きい値に設定されている場合は、指定の遅延秒数が過ぎた後に別の接続設定スレッドが開始されます。この属性が 0 に設定されている場合、接続の試行はシリアライズされます。
LDAP サーバへの接続が確立されるまでに待機する最大秒数を指定します。この属性が 0 に設定されている場合、最大の時間制限はなく、WebLogic Server は TCP/IP レイヤがタイムアウトになって接続の失敗を返すまで待機します。この属性は、TCP/IP のコンフィグレーションによっては 60 秒を超える値に設定できます。
以下の例は、LDAP フェイルオーバ用に LDAP 属性が設定される場合のシナリオを示しています。
例 1
LDAP 属性
|
値
|
[ホスト]
|
directory.knowledge.com:1050 people.catalog.com 199.254.1.2
LDAP サーバは次のように機能する。
directory.knowledge.com:1050 はダウン。
people.catalog.com はアクティブ。
199.254.1.2 はアクティブ。
|
[パラレル接続遅延]
|
0
|
[接続タイムアウト]
|
10
|
このシナリオで、WebLogic Server は directory.knowledge.com
に接続しようとします。10 秒後、接続の試行はタイムアウトになり、WebLogic Server は [ホスト] 属性で指定された次のホスト (people.catalog.com
) に接続しようとします。WebLogic Server は、この接続の LDAP サーバとして people.catalog.com
を使用します。
例 2
LDAP 属性
|
値
|
[ホスト]
|
directory.knowledge.com:1050 people.catalog.com 199.254.1.2
LDAP サーバは次のように機能する。
directory.knowledge.com:1050 はダウン。
people.catalog.com はアクティブ。
199.254.1.2 はアクティブ。
|
[パラレル接続遅延]
|
1
|
[接続タイムアウト]
|
10
|
このシナリオで、WebLogic Server は directory.knowledge.com
に接続しようとします。1 秒後、接続の試行はタイムアウトになり、WebLogic Server は [ホスト] 属性で指定された次のホスト (people.catalog.com
) と directory.knowledge.com
に同時に接続しようとします。people.catalog.com
への接続が成功した場合、WebLogic Server はこの接続の LDAP サーバとして people.catalog.com
を使用します。WebLogic Server は、people.catalog.com
との接続が成功した後に directory.knowledge.com
への接続を取り消します。
WebLogic 認証プロバイダのコンフィグレーション
注意 :WebLogic Server Administration Console では、WebLogic 認証プロバイダを「Default Authenticator」と呼びます。
WebLogic 認証プロバイダは大文字と小文字を区別しません。ユーザ名がユニークであるようにしてください。
WebLogic 認証プロバイダを使用すると、ユーザおよびグループ メンバシップを編集したり、リストしたり、管理したりすることができます。WebLogic 認証プロバイダのユーザおよびグループ メンバシップ情報は、組み込み LDAP サーバに格納されます。
WebLogic 認証プロバイダをコンフィグレーションするには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、デフォルトの認証プロバイダと ID アサーション プロバイダの名前が表示されます。
[新しい Default Authenticator のコンフィグレーション] リンクをクリックします。
[最小パスワード文字数] 属性は、WebLogic 認証プロバイダでユーザを定義するときに指定するパスワードに適用されます。
[制御フラグ] 属性で、WebLogic 認証プロバイダをどのように他の LDAP 認証プロバイダと共に使用するかを指定します。詳細については、「JAAS 制御フラグ属性の設定」を参照してください。
必要に応じて、他の認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方をコンフィグレーションします。
WebLogic 認証プロバイダおよび LDAP 認証プロバイダのパフォーマンスの向上
WebLogic Server には、WebLogic 認証プロバイダおよび LDAP 認証プロバイダのパフォーマンスを最適化するために使用できる属性のセットが用意されています。次のような方法でパフォーマンスを向上できます。
tokenGroups
属性を使用して、Active Directory 認証プロバイダでグループ メンバシップのルックアップを行うようにコンフィグレーションする。tokenGroups
属性は、完全にフラット化されたユーザのグループ メンバシップを SID 値の配列として保持しています。この SID 値は Active Directory において特別な索引付けがされており、これによりルックアップの応答が高速になります。
WebLogic および LDAP 認証プロバイダで使用されるグループ メンバシップ キャッシュのコンフィグレーションを最適化する。
iPlanet 認証プロバイダでの動的グループの処理をコンフィグレーションする。
内部 PrincipalValidator キャッシュをエクスポーズして、そのしきい値を増加させる。
以下の節では、これらの最適化を実装する方法について説明します。
Active Directory 認証プロバイダのコンフィグレーションによるパフォーマンスの向上
tokenGroups
属性を使用するように Active Directory 認証プロバイダをコンフィグレーションするには、次の手順に従います。
WebLogic Server Administration Console の左ペインで、[セキュリティ|レルム] ノードを展開します。
Active Directory 認証プロバイダがコンフィグレーションされているレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、コンフィグレーションされている認証プロバイダと ID アサーション プロバイダの名前が表示されます。
[認証プロバイダ] テーブルから Active Directory 認証プロバイダを選択します。
[グループ メンバシップ ルックアップでトークン グループを使用する] - 標準の再帰的なグループ メンバシップ ルックアップ アルゴリズムではなく、Active Directory の tokenGroups
属性ルックアップ アルゴリズムを使用するかどうかを示します。デフォルトで、この属性は無効です。
注意 : tokenGroups
属性へのアクセスが必要になります (つまり、LDAP ディレクトリにアクセスするユーザには tokenGroups
属性の読み込み特権が必要になり、tokenGroups
属性はユーザ オブジェクトのスキーマになければなりません)。
[SID によるグループ ルックアップのキャッシングの有効化] - グループ名のルックアップ結果に SID がキャッシュされるかどうかを示します。この属性は、[グループ メンバシップ ルックアップでトークン グループを使用する] 属性が有効になっている場合にのみ適用されます。
[キャッシュ内の SID によるグループ ルックアップ最大数] - グループ ルックアップに SID を保持するための最長時間未使用 (LRU) キャッシュの最大サイズです。この属性は、[グループ メンバシップ ルックアップでトークン グループを使用する] 属性および [SID によるグループ ルックアップのキャッシングの有効化] 属性の両方が有効になっている場合にのみ適用されます。
グループ メンバシップ キャッシュの最適化
WebLogic 認証プロバイダおよび LDAP 認証プロバイダのグループ メンバシップ キャッシュを最適化するには、次の手順に従います。
WebLogic Server Administration Console の左ペインで、[セキュリティ|レルム] ノードを展開します。
認証プロバイダがコンフィグレーションされているレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、コンフィグレーションされている認証プロバイダと ID アサーション プロバイダの名前が表示されます。
[グループ メンバシップ検索] - グループ検索が深さで制限されるかどうかを制御します。この属性によって、ネストされたグループへの再帰的な検索の深さの程度が制御されます。ネストされたグループ階層の最初のレベルのみを使用するコンフィグレーションの場合、この属性によって検索がグループの最初のレベルに制限されるのでユーザ検索時のパフォーマンスが向上します。
制限された検索が指定される場合は、[最大グループ メンバシップ検索レベル] 属性も指定される必要があります。
制限されない検索が指定される場合は、[最大グループ メンバシップ検索レベル] 属性は無視されます。
[最大グループ メンバシップ検索レベル] - [グループ メンバシップ検索] 属性が指定されている場合にグループ メンバシップ検索の深さを制御します。指定できる値は次のとおりです。
0 - 直接のグループのみが検索されることを示します。つまり、グループ A のメンバシップを検索する場合、グループ A の直接のメンバーのみが検出されます。グループ B がグループ A のメンバーである場合、そのメンバーはこの検索では検出されません。
任意の正の数字 - 検索するレベル数を示します。たとえば、この属性を 1 に設定した場合、グループ A のメンバシップの検索ではグループ A の直接のメンバーが返されます。グループ B がグループ A のメンバーである場合、グループ B のメンバーもこの検索で見つかります。ただし、グループ C がグループ B のメンバーである場合、この検索ではグループ C のメンバーは検出されません。
[グループ メンバシップ ルックアップの階層キャッシングの有効化] - 再帰的なメンバシップ ルックアップ中に見つかったグループ メンバシップ階層がキャッシュされるかどうかを示します。見つかった各サブツリーがキャッシュされます。キャッシュは、あるグループがメンバーになっているグループを保持します。この属性は、[グループ メンバシップ] 属性が有効になっている場合にのみ適用されます。デフォルトでは、この属性は無効です。
[キャッシュ内の最大グループ階層数] - グループ メンバシップ階層を保持する最長時間未使用 (LRU) キャッシュの最大サイズです。この属性は、[グループ メンバシップ ルックアップの階層キャッシングの有効化] 属性が有効になっている場合にのみ適用されます。
[グループ階層キャッシュ TTL] - キャッシュされたエントリがキャッシュ内に留まる秒数です。デフォルトでは 60 秒です。
iPlanet 認証プロバイダにおける動的グループのコンフィグレーションによるパフォーマンスの向上
動的グループでは、メンバーの名前は表示されません。その代わり、動的グループのメンバシップはユーザ属性の一致によって作成されます。動的グループのグループ メンバシップは動的に計算されるため、規模の大きいグループの場合、パフォーマンスの問題が発生するリスクがあります。iPlanet 認証プロバイダを適切にコンフィグレーションすることで、動的グループが関与する個所のパフォーマンスを向上させることができます。
iPlanet 認証プロバイダで、[ユーザ動的グループ DN 属性] 属性に、ユーザが所属する動的グループの識別名 (DN) を指定する LDAP ユーザ オブジェクトの属性を指定します。この属性が指定されていない場合、WebLogic Server は、動的グループの URL を評価することでユーザがグループのメンバーかどうかを判定します。デフォルトでは、[ユーザ動的グループ DN 属性] は null です。[ユーザ動的グループ DN 属性] に他の何らかの値を設定してパフォーマンスを向上させる場合は、iPlanet 認証プロバイダに以下の属性を設定します。
UserDynamicGroupDNAttribute="wlsMemberOf"
DynamicGroupNameAttribute="cn"
DynamicGroupObjectClass=""
DynamicMemberURLAttribute=""
Administration Console でこれらの属性を設定するには、次の手順に従います。
[セキュリティ|レルム|realm name|プロバイダ|認証] ノードを展開します。
iPlanet 認証プロバイダの [ユーザ] タブで、[ユーザ動的グループ DN 属性] を設定します。
[メンバシップ] タブで、[動的グループ オブジェクト クラス] と [動的メンバー URL 属性] を null に設定 (フィールド内の値を削除) し、[動的グループ名属性] を cn
に設定します。
プリンシパル検証プロバイダ キャッシュの最適化
WebLogic 認証プロバイダまたは LDAP 認証プロバイダのパフォーマンスを向上させるために、必要に応じて、WebLogic プリンシパル検証プロバイダによって使用されるキャッシュの設定を大きくすることができます。WebLogic プリンシパル検証プロバイダによって使用されるプリンシパル検証プロバイダ キャッシュは、署名された WLSAbstractPrincipal をキャッシュします。
プリンシパル検証プロバイダ キャッシュのパフォーマンスを最適化するには、次の手順に従います。
[レルム] テーブルに、WebLogic ドメインで使用可能なすべてのセキュリティ レルムが表示されます。
[WebLogic プリンシパル バリデータ キャッシュを有効化] - WebLogic プリンシパル検証プロバイダがキャッシュを使用するかどうかを示します。この属性は、セキュリティ レルムに WebLogic プリンシパル検証プロバイダおよび WLSAbstractPrincipal を使用する認証プロバイダがコンフィグレーションされている場合にのみ適用されます。デフォルトで、この属性は有効です。
[キャッシュ内の最大 WebLogic プリンシパル数] - 有効性が検証された WLSAbstractPrincipal に対して使用される最長時間未使用 (LRU) キャッシュの最大サイズです。デフォルト設定は、500 です。この属性は、[WebLogic プリンシパル バリデータ キャッシュを有効化] 属性が有効になっている場合にのみ適用されます。
レルム アダプタ認証プロバイダのコンフィグレーション
レルム アダプタ認証プロバイダを使用すると、バージョン 6.x のセキュリティ レルムのユーザとグループを、このリリースの WebLogic Server のセキュリティ レルムで使用できるようになります。レルム アダプタ認証プロバイダは、ユーザとグループを 6.x の Windows NT、UNIX、RDBMS セキュリティ レルム、または 6.x のカスタム セキュリティ レルムに格納している場合に使用します。このリリースの WebLogic Server には、6.x の Windows NT、UNIX、RDBMS セキュリティ レルムに相当するものはありません。レルム アダプタ認証プロバイダは、WebLogic 認証プロバイダの代わりに、または WebLogic 認証プロバイダに加えてコンフィグレーションできます。
互換性セキュリティを使用する場合、レルム アダプタ認証プロバイダはデフォルトで CompatibilityRealm にコンフィグレーションされます。ただし、任意のセキュリティ レルムにレルム アダプタ認証プロバイダをコンフィグレーションできます。CompatibilityRealm でレルム アダプタ認証プロバイダを使用する方法については、「CompatibilityRealm のデフォルト セキュリティ コンフィグレーション」を参照してください。
また、このリリースの WebLogic Server で weblogic.security.acl.CertAuthenticator
クラスの実装を使用できます。レルム アダプタ認証プロバイダには、X.509 トークンに基づく ID アサーションを提供する ID アサーション プロバイダが含まれています。WebLogic Server で CertAuthenticator を使用する方法については、「レルム アダプタ認証プロバイダ内の ID アサーション プロバイダのコンフィグレーション」を参照してください。
認証プロバイダがすでにコンフィグレーションされているセキュリティ レルムに、レルム アダプタ認証プロバイダを追加する場合、WebLogic Server Administration Console では、レルム アダプタ認証プロバイダの [制御フラグ] 属性を [OPTIONAL] に設定して、ドメイン ディレクトリに fileRealm.properties
ファイルがあるかどうかをチェックします。fileRealm.properties
ファイルが存在しない場合、WebLogic Server Administration Console はセキュリティ レルムにレルム アダプタ認証プロバイダを追加しません。
注意 :レルム アダプタ認証プロバイダによって生成されるサブジェクトには、ユーザが所属するグループのプリンシパルは含まれません。weblogic.security.SubjectUtils.isUserInGroup()
メソッドを使用して、ユーザがグループに属するかどうかを調べます。レルム アダプタ認証プロバイダによって生成されるサブジェクトを使用する場合、ユーザが所属するすべてのグループを繰り返す方法はありません。
レルム アダプタ認証プロバイダの属性を定義するには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、デフォルトの認証プロバイダと ID アサーション プロバイダの名前が表示されます。
[新しい Realm Adapter Authenticator のコンフィグレーション] リンクをクリックします。
[全般] タブで [制御フラグ] 属性を設定します。[制御フラグ] 属性で、レルム アダプタ認証プロバイダをどのように他の LDAP 認証プロバイダと共に使用するかを指定します。「JAAS 制御フラグ属性の設定」を参照してください。
再起動すると、[以前のセキュリティ] タブが表示されます。6.x セキュリティ レルムの管理に使用する WebLogic Server Administration Console 内の各ページにアクセスできます。互換性セキュリティを実行しているのではないことに注意してください。
レルム アダプタ認証プロバイダ内に ID アサーション プロバイダをコンフィグレーションして、このリリースの WebLogic Server で weblogic.security.acl.CertAuthenticator
クラスの実装を使用することもできます。ID アサーション プロバイダでは X.509 トークンを使用して ID アサーションを実行します。
レルム アダプタ認証プロバイダにある ID アサータの [アクティブなタイプ] を設定します。
[選択可] リスト ボックスで、[X.509] をクリックして選択します。
右矢印をクリックして、[X.509] を [選択済み] リスト ボックスに移動します。
必要に応じて、他の認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方をコンフィグレーションします。
WebLogic ID アサーション プロバイダのコンフィグレーション
注意 :WebLogic Server Administration Console では、WebLogic ID アサーション プロバイダを「Default Identity Asserter」と呼びます。
境界認証を使用する場合、ID アサーション プロバイダを使用する必要があります。境界認証では、WebLogic Server の外部にあるシステムがトークンを通じて信頼を確立します (これは単純認証とは対照的です。単純認証では、WebLogic Server がユーザ名とパスワードを通じて信頼を確立します)。ID アサーション プロバイダは、トークンを検証し、そのトークンの妥当性と信頼性を確立するために必要なアクションを実行します。各 ID アサーション プロバイダは、1 つまたは複数のトークン フォーマットをサポートします。
セキュリティ レルムでは、WebLogic ID アサーション プロバイダまたはカスタム ID アサーション プロバイダのいずれかを使用できます。この節では、WebLogic ID アサーション プロバイダをコンフィグレーションする方法について説明します。カスタム セキュリティ プロバイダ (カスタム ID アサーション プロバイダを含む) のコンフィグレーションについては、「カスタム セキュリティ プロバイダのコンフィグレーション」を参照してください。
セキュリティ レルムでは複数の ID アサーション プロバイダをコンフィグレーションできますが、必須ではありません。ID アサーション プロバイダでは複数のトークン タイプをサポートできますが、一度にアクティブになるのは ID アサーション プロバイダごとに 1 つのトークン タイプだけです。WebLogic ID アサーション プロバイダを使用する場合は、アクティブなトークン タイプをコンフィグレーションします。WebLogic ID アサーション プロバイダは、X509 証明書と CORBA Common Secure Interoperability バージョン 2 (CSI v2) を使用する ID アサーションをサポートしています。
セキュリティ レルムに複数の ID アサーション プロバイダをコンフィグレーションした場合、すべての ID アサーション プロバイダで同じトークン タイプをサポートできます。ただし、セキュリティ レルムの 1 つのプロバイダだけがトークンをアクティブにできます。
セキュリティ レルムで WebLogic ID アサーション プロバイダを使用する場合、ユーザ名マッパーを使用して、ID アサーション プロバイダで認証されるトークンをセキュリティ レルム内のユーザにマップすることもできます。ユーザ名マッパーのコンフィグレーションの詳細については、「ユーザ名マッパーのコンフィグレーション」を参照してください。
WebLogic ID アサーション プロバイダの属性を定義するには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、デフォルトの認証プロバイダと ID アサーション プロバイダの名前が表示されます。
[認証プロバイダ] ページで、[新しい Default Identity Asserter のコンフィグレーション] リンクをクリックします。
[全般] タブが表示されます。
[信頼されたクライアント プリンシパル] 属性では、CSI v2 ID アサーションを使用できるクライアント プリンシパルのリストを定義します。アスタリスク (*
) を使用して、すべてのクライアント プリンシパルを指定できます。この属性は、CSI v2 ID アサーションを使用する場合にのみ必須です。
WebLogic ID アサーション プロバイダのアクティブなタイプを定義します。WebLogic ID アサーション プロバイダでサポートされるトークン タイプのリストが [選択可] リスト ボックスに表示されます。アクティブなタイプを設定するには、次の手順に従います。
[選択可] リスト ボックスで、目的のトークン タイプを選択します。
右矢印をクリックして、トークン タイプを [選択済み] リスト ボックスに移動します。
[Base64Decoding が必要] 属性の設定を確認します。
Web アプリケーションの認証タイプを CLIENT-CERT
に設定した場合、WebLogic Server の Web アプリケーション コンテナは、リクエストのヘッダおよびクッキーの値に対して ID アサーションを実行します。ヘッダ名またはクッキー名が、コンフィグレーションされている ID アサーション プロバイダのアクティブなトークン タイプに一致していれば、値はプロバイダに渡されます。
[Base64Decoding が必要] 属性では、リクエスト ヘッダ値またはクッキー値を ID アサーション プロバイダへ送信する前に、その値を Base 64 でデコードするかどうかを指定します。この設定はデフォルトでは下位互換性のために有効になっていますが、ほとんどの ID アサーション プロバイダでは、この属性は無効化されます。
必要に応じて、他の認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方をコンフィグレーションします。
サーバ キャッシュの ID アサーション パフォーマンスのコンフィグレーション
(X.509 証明書または他のタイプのトークンで) ID アサーション プロバイダを使用する場合、サブジェクト (ID やそのセキュリティ関連の属性を含む 1 つのエンティティの関連情報のグループ) はサーバ内にキャッシュされます。これで、<run-as>
タグのあるサーブレットおよび EJB メソッドや、HTTPSession で ID アサーションが使用されるがキャッシュはされない他の場面 (XML ドキュメントの署名や暗号化など) のパフォーマンスが大幅に向上します。
注意 :キャッシングは、セマンティクスに違反することがあります。
このキャッシュ内の項目の存続期間を変更するには、-Dweblogic.security.identityAssertionTTL
コマンドライン引数を使用してサブジェクトがキャッシュに存在できる最大秒数を設定します。このコマンドライン引数のデフォルトは 300 秒 (5 分) です。コマンドライン引数に指定できる値は次のとおりです。
0 より小さい値 - キャッシュを無効化する。
0 - キャッシュは有効であり、キャッシュ内の ID はタイムアウトにならない。キャッシュされたエントリのユーザ データベースが変更された場合は、サーバがエントリを取得するために必ずサーバの再起動が必要になります。
0 より大きい値 - キャッシュは有効であり、キャッシュは指定された秒数でリセットされる。
ID アサーションのパフォーマンスを向上させるには、このコマンドライン引数により大きな値を指定します。ID アサーションのパフォーマンスが上がるにつれて、ID アサーション プロバイダはコンフィグレーションされている認証プロバイダの変化に反応しなくなります。たとえば、ユーザのグループの変更はサブジェクトがキャッシュからフラッシュされて再作成されるまで反映されません。 このコマンドライン引数でより小さい値を指定すると、認証変更の反応は良くなりますが、パフォーマンスは低下します。
LDAP X509 ID アサーション プロバイダのコンフィグレーション
注意 :LDAP X509 ID アサーション プロバイダで提供される機能のコンフィグレーションは、WebLogic Server の将来のリリースで変更される予定です。LDAP X509 ID アサーション プロバイダのこのバージョンは、WebLogic Server の将来のリリースリリースとの上位互換性はありません。さらに、このプロバイダは Sun の One LDAP サーバでテストされているだけです。LDAP X509 ID アサーション プロバイダの有用性については、『リリース ノート』を参照してください。
LDAP X509 ID アサーション プロバイダは、X509 証明書を受け取り、その証明書に関連付けられたユーザの LDAP オブジェクトをルックアップし、LDAP オブジェクトの証明書が提示された証明書と一致することを確認し、LDAP オブジェクトからユーザの名前を取得します。
LDAP X509 ID アサーション プロバイダは、以下のように機能します。
境界認証 (つまり、ユーザまたはシステム プロセスがトークンを使用してそれぞれの ID を証明する) を使用するようにアプリケーションが設定されている必要があります。SSL ハンドシェーク機能の一部として、アプリケーションは証明書を提示します。証明書のサブジェクト DN を使用して、LDAP サーバ内のそのユーザを表すオブジェクトを特定できます。オブジェクトには、ユーザの証明書と名前が含まれています。
LDAP X509 ID アサーション プロバイダは、サブジェクト DN の証明書を使用して、LDAP 検索を構築し、LDAP サーバ内のユーザの LDAP オブジェクトを見つけます。そのオブジェクトから証明書を取得し、それが自らの保持する証明書と一致していることを確認し、ユーザの名前を取得します。
ユーザ名は、セキュリティ レルムでコンフィグレーションされている認証プロバイダに渡されます。認証プロバイダは、ユーザが存在していることを確認し、そのユーザが属するグループを特定します。
通常、LDAP X509 ID アサーション プロバイダを使用する場合は、LDAP サーバを使用する LDAP 認証プロバイダもコンフィグレーションする必要があります。認証プロバイダは、ユーザが存在していることを確認し、そのユーザが属するグループを特定します。両方のプロバイダが、同じ LDAP サーバと通信できるように適切にコンフィグレーションされていることを確認してください。
LDAP X509 ID アサーション プロバイダを使用する場合は、以下の手順が必要になります。
ユーザの証明書を取得し、それらを LDAP サーバに置きます。証明書のサブジェクト DN と、LDAP サーバ内におけるそのユーザのオブジェクトの場所の間には、相関性が必要です。ユーザの LDAP オブジェクトには、サブジェクトで使用される証明書およびユーザ名の属性も含まれている必要があります。
証明書のサブジェクト DN に指定された LDAP ディレクトリ内でユーザの LDAP オブジェクトを見つけるように LDAP X509 ID アサーション プロバイダをコンフィグレーションします。基本的に、LDAP 内のユーザの DN またはユーザの LDAP オブジェクトには、証明書のサブジェクト DN にある値と一致する属性が含まれている必要があります。
例 1 : LDAP オブジェクトがサブジェクト DN 属性と一致する
証明書のサブジェクト DN :
CN=
fred, ou=Acme, c=US
LDAP DN :
ou=people, cn=flintstone
LDAP オブジェクト :
uid=
fred, CN=flintstone
(username), usercert=cert
例 2 : LDAP DN 属性がサブジェクト DN コンポーネントと一致する
証明書のサブジェクト DN :
CN=
fred, ou=Acme, c=US
LDAP DN :
ou=people, uid=
fred
LDAP オブジェクト :
SN=flintstone
(username), uid=fred,usercert=cert
LDAP サーバを検索して、ユーザの LDAP オブジェクトを特定するように LDAP X509 ID アサーション プロバイダをコンフィグレーションします。これには、以下のデータが必要になります。
検索を開始するベース LDAP DN。LDAP X509 ID アサーション プロバイダの [証明書のマッピング] 属性は、その ID アサーション プロバイダが証明書のサブジェクト DN からベース LDAP DN を構築する方法を示します。LDAP オブジェクトには、証明書を保持する属性が含まれている必要があります。
定義された属性のセットに一致する LDAP オブジェクトのみを返す検索フィルタ。フィルタによって LDAP 検索が制限されます。証明書のサブジェクト DN から検索フィルタを構築するように、[User Filter Search] 属性をコンフィグレーションします。
ベース LDAP DN を検索する LDAP ディレクトリ内の場所。LDAP X509 ID アサーション プロバイダは、再帰的に検索します (1 レベル下)。この属性は、証明書のサブジェクト DN 内の属性の値と一致する必要があります。
証明書を保持する、ユーザの LDAP オブジェクトの属性を指定するように LDAP X509 ID アサーション プロバイダの [証明書の属性] をコンフィグレーションします。LDAP オブジェクトには、証明書を保持する属性が含まれている必要があります。
サブジェクト DN に表示されるユーザ名を保持する LDAP オブジェクトの属性を指定するように LDAP X509 ID アサーション プロバイダの [ユーザ名の属性] をコンフィグレーションします。
LDAP X509 ID アサーション プロバイダの LDAP サーバ接続をコンフィグレーションします。LDAP サーバの属性情報は、このセキュリティ レルムでコンフィグレーションされている LDAP 認証プロバイダに対して定義されている情報と同じでなければなりません。
LDAP X509 ID アサーション プロバイダと共に使用する LDAP 認証プロバイダをコンフィグレーションします。LDAP サーバの属性情報は、手順 6 でコンフィグレーションされた LDAP X509 ID アサーション プロバイダに対して定義されている情報と同じでなければなりません。
LDAP X509 ID アサーション プロバイダの属性を定義するには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認証プロバイダ] テーブルには、デフォルトの認証プロバイダと ID アサーション プロバイダの名前が表示されます。
[認証プロバイダ] ページで、[新しい LDAPX509Identity Asserter のコンフィグレーション] リンクをクリックします。
[全般] タブが表示されます。
LDAP X509 ID アサーション プロバイダの名前とトークン情報を定義します。
次の表では、[全般] タブで設定する属性について説明します。
表 3-7 [全般] タブの属性
属性
|
説明
|
[名前]
|
この LDAP X509 ID アサーション プロバイダの名前。
|
[記述]
|
この LDAP X509 ID アサーション プロバイダについての簡単な説明。
|
[バージョン]
|
この LDAP X509 ID アサーション プロバイダのバージョン番号。
|
[サポート タイプ]
|
この LDAP X509 ID アサーション プロバイダのサポートされているトークン タイプ。この属性は常に X509 に設定される。
|
[アクティブなタイプ]
|
この LDAP X509 ID アサーション プロバイダが認証に使用するトークン タイプ。このトークン タイプは常に X509 に設定される。
同じセキュリティ レルム内にコンフィグレーションされている他の ID アサーション プロバイダでこの属性が X509 に設定されていないことを確認すること。
|
LDAP ディレクトリ内のユーザ名を、LDAP X509 ID アサーション プロバイダによって使用される証明書と LDAP サーバ内のユーザ名にマップするために使用する属性に関する情報を定義します。
次の表では、[詳細] タブで設定する属性について説明します。
注意 : $subj
は、証明書の Subject 属性を示します。次に例を示します。CN=meyer.beasys.com, ou=CCE, o=BEASYS, L=SFO, C=US
表 3-8 [詳細] タブの属性
属性
|
定義
|
[証明書のマッピング]
|
ユーザの LDAP オブジェクトを特定するために使用するベース LDAP DN の構築方法を指定する。この属性は、証明書のサブジェクト DN からオブジェクトを検索する方法を定義する。
通常この値は、LDAP 認証プロバイダの [ユーザ ベース DN] 属性と同じ。このベース DN にサブジェクト DN からのフィールドを含めることができる。
たとえば、証明書のサブジェクトが CN=meyer.beasys.com, ou=fred, o=BEASYS, L=SFO, C=US でマッピングが ou=people, ou=$subj.ou の場合、WebLogic Server はユーザを特定するときに ou=people, ou=fred, o=BEASYS, c=US を DN として使用する。
|
[ユーザ フィルタの属性]
|
[証明書のマッピング] 属性で定義されているベース LDAP DN の LDAP オブジェクトからユーザの LDAP オブジェクトを選択する方法を指定する。この属性は、証明書のサブジェクト DN から LDAP オブジェクトを検索する方法を定義する。
LDAP オブジェクトのクラスは person でなければならない。この属性には文字列の配列が含まれる。各文字列は LDAP オブジェクトが一致する必要のある属性である。
通常この属性の値は、証明書のサブジェクト DN にある属性の値に一致する LDAP オブジェクトになる。
次に例を示す。
LDAP ユーザ オブジェクトの uid 属性は、構文が次の場合、サブジェクト DN 属性に一致する。
LDAPATTRNAME=$subj.SUBJECDNATTRNAME
次に例を示す。uid=$subj.DN
この属性は、ユーザ名を検索フィルタにマップする、LDAP 認証プロバイダの [名前フィルタからのユーザ] 属性に似ている。相違点は以下のとおり。
|
[証明書の属性]
|
ユーザの証明書を含む、ユーザの LDAP オブジェクトの属性を指定する。この属性は、証明書の検索方法を定義する。有効値は、[userCertificate ] および [userCertificate;binary ]。デフォルトは [userCertificate ]。
ldapmodify -p 1155 -D Principal -w Password dn: cn=support@bea.com, ou=Certs, dc=bea, dc=com changetype: modify add: UserCertificate userCertificate;binary:: MIICxDCCAi2gAwIBAgIDIDANbgkqn...
証明書データが LDAP ディレクトリにロードされるときに、属性 userCertificate;binary が作成される。 この証明書にアクセスするには、[証明書の属性] を userCertificate;binary に定義すること。
|
[ユーザ名の属性]
|
ユーザの名前を含む、ユーザの LDAP オブジェクトの属性を指定する。ユーザの名前はサブジェクトに表示されている必要がある。この属性は、ユーザの名前の検索方法を定義する。
通常この属性は、LDAP 認証プロバイダの [ユーザ名属性] に一致する。
|
[Base64 でのデコーディングが必要]
|
リクエスト ヘッダ値またはクッキー値を ID アサーション プロバイダへ送信する前に、その値を Base 64 でデコードするかどうかを指定する。この設定はデフォルトでは下位互換性のために有効になっているが、ほとんどの ID アサーション プロバイダでは、この属性は無効化される。
|
[ホスト]
|
LDAP サーバが稼働するコンピュータのホスト名。
|
[ポート]
|
LDAP サーバがリスンするポートの番号。SSL プロトコルを使用して WebLogic Server を LDAP サーバに接続する場合は、LDAP サーバの SSL ポートを指定する。
|
[SSL を有効化]
|
LDAP サーバと WebLogic Server との通信を保護するために SSL プロトコルを使用できるようにするためのオプション。LDAP サーバが SSL プロトコルを使用するようにコンフィグレーションされていない場合は、この属性を無効化する。
|
[プリンシパル]
|
WebLogic Server が LDAP サーバとの接続に使用する LDAP ユーザの識別名 (Distinguished Name: DN)。一般に、このユーザは LDAP ディレクトリ サーバのシステム管理者である。パスワードを変更する場合、この属性をシステム管理者に設定する必要がある。
|
[資格]
|
[プリンシパル] 属性で定義された LDAP ユーザを認証するパスワード。
|
[キャッシュを有効化]
|
LDAP サーバでのデータ キャッシュの使用を有効にする。
|
[キャッシュ サイズ]
|
キャッシュのルックアップの最大サイズ。デフォルトは 32KB。
|
[キャッシュ TTL]
|
LDAP ルックアップの結果を保持する秒数。
|
[照会先に従う]
|
LDAP X509 ID アサーション プロバイダ内のユーザまたはグループの検索は、LDAP ディレクトリ内の他の LDAP サーバまたはブランチの照会先に従うことを指定する。デフォルトで、この属性は有効。
|
[照会先に匿名でバインドする]
|
デフォルトでは、検索時に照会先に従う場合、LDAP X509 ID アサーション プロバイダは LDAP サーバへの接続で使用するものと同じ DN およびパスワードを使用する。匿名ユーザとして接続する場合は、この属性を有効にする。詳細については、LDAP システム管理者に問い合わせること。
|
[結果タイム リミット]
|
タイムアウトするまで LDAP サーバが結果を待機する最大時間 (ミリ秒単位)。この属性が 0 に設定されている場合、最大時間の制限はない。デフォルトでは 0。
|
[接続タイムアウト]
|
LDAP サーバへの接続が確立されるまでに待機する最大時間 (秒単位)。この属性が 0 に設定されている場合、最大時間の制限はない。デフォルトでは 0。
|
[パラレル接続遅延]
|
複数の LDAP サーバに同時に接続しようとしたときの遅延 (秒単位)。この属性が 0 に設定されている場合、接続の試行はシリアライズされる。接続の試行はリストの最初のサーバに対して行われる。現在のホストへの接続が失敗した場合にのみ、リスト中の次のエントリが試行される。この属性が設定されず、LDAP サーバが使用できない場合、アプリケーションは長時間ブロックされることがある。この属性が 0 より大きい場合は、指定された時間の経過後に別の接続が開始される。
|
必要に応じて、他の認証プロバイダまたは ID アサーション プロバイダ、あるいはその両方をコンフィグレーションします。
シングル パス ネゴシエート ID アサーション プロバイダのコンフィグレーション
注意 : シングル パス ネゴシエート ID アサーション プロバイダのこのバージョンは、WebLogic Server の将来のリリースとの上位互換性はありません。
シングル パス ネゴシエート ID アサーション プロバイダを使用すると、Microsoft 社製のクライアントでシングル サインオン (single sign-on : SSO) を利用できます。この ID アサーション プロバイダでは、SPNEGO (Simple and Protected Negotiate) のトークンをデコードして Kerberos のトークンを取得し、その Kerberos トークンを検証した後で WebLogic ユーザにマップします。シングル パス ネゴシエート ID アサーション プロバイダは、Kerberos を介した GSS のセキュリティ コンテキストの受け入れに Java GSS (Generic Security Service) API (Application Programming Interface) を利用します。
シングル パス ネゴシエート ID アサーション プロバイダは、WebLogic Security フレームワークに定義されているようにセキュリティ サービス プロバイダ インタフェース (Security Service Provider Interface : SSPI) の実装であり、クライアントをその SPNEGO トークンに基づいて認証するのに必要なロジックを提供します。
シングル パス ネゴシエート ID アサーション プロバイダを Microsoft SSO と併用する方法の詳細については、[xref] を参照してください。
シングル パス ネゴシエート ID アサーション プロバイダは次の手順に従ってコンフィグレーションします。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
デフォルトの認証プロバイダと ID アサーション プロバイダの名前の一覧が表示されます。
[認証] タブで、[新しいシングル パス ネゴシエート ID アサーション プロバイダのコンフィグレーション] リンクをクリックします。
[全般] タブが表示されます。
シングル パス ネゴシエート ID アサーション プロバイダの名前とトークン情報を定義します。
次の表では、[全般] タブで設定する属性について説明します。
表 3-9 [全般] タブの属性
属性
|
説明
|
[名前]
|
このシングル パス ネゴシエート ID アサーション プロバイダの名前。
|
[記述]
|
このシングル パス ネゴシエート ID アサーション プロバイダについての簡単な説明。
|
[バージョン]
|
このシングル パス ネゴシエート ID アサーション プロバイダのバージョン番号。
|
[タイプ]
|
このシングル パス ネゴシエート ID アサーション プロバイダが認証に使用するトークン タイプ。このトークン タイプは常に Authorization に設定される。
同じセキュリティ レルム内にコンフィグレーションされている他の ID アサーション プロバイダでこの属性が Authorization に設定されていないことを確認すること。
|
[Base64 でのデコーディングが必要] 属性のチェックがオンになっていることを確認します。
必要に応じて、別の認証プロバイダまたは ID アサーション プロバイダを追加でコンフィグレーションします。
サーブレットに対する ID アサーションの順序付け
HTTP リクエストが送信されたときに、ID アサーションに使用できる一致が複数存在する場合があります。一方、ID アサーション プロバイダが一度に消費できるのはアクティブなトークン タイプのうちの 1 つだけです。つまり、一度の呼び出しで一連のトークンを消費できる方法は提供されていません。したがって WebLogic Server に含まれるサーブレットでは、ID アサーションを実行するために複数のトークンから 1 つを選択する必要があります。選択は次の順序で行われます。
X.509 がデフォルト セキュリティ レルムの ID アサーション プロバイダに対してコンフィグレーションされているアクティブなトークン タイプの 1 つである場合は、X.509 デジタル証明書 (クライアントと Web サーバの間での双方向 SSL を備えた、クライアントまたはプロキシ プラグインへの双方向 SSL を示す)。
WL-Proxy-Client-<
TOKEN>
という形式の名前を持つヘッダ。<
TOKEN>
は、デフォルト セキュリティ レルムの ID アサーション プロバイダに対してコンフィグレーションされているアクティブなトークン タイプの 1 つ。
注意 :この方法は非推奨で、下位互換性のためだけに使用する必要があります。
<
TOKEN>
という形式の名前を持つヘッダ。<
TOKEN>
は、デフォルト セキュリティ レルムの ID アサーション プロバイダに対してコンフィグレーションされているアクティブなトークン タイプの 1 つ。
<
TOKEN>
という形式の名前を持つクッキー。<
TOKEN>
は、デフォルト セキュリティ レルムの ID アサーション プロバイダに対してコンフィグレーションされているアクティブなトークン タイプの 1 つ。
たとえば、デフォルト セキュリティ レルムの ID アサーション プロバイダがアクティブなトークンとして FOO
および BAR
というトークンを持つようにコンフィグレーションされている場合 (次の例では、HTTP リクエストには ID アサーションに関連するものはアクティブなトークン タイプ以外、何も含まれていないものとする)、ID アサーションは次のように実行されます。
FOO
ヘッダを持つリクエストが双方向 SSL 接続を使用して受信される場合、X.509 が ID アサーションに使用されます。
FOO
ヘッダを持ち、WL-Proxy-Client-BAR
ヘッダを持つリクエストが受信される場合、BAR
トークンが ID アサーションに使用されます。
FOO
ヘッダを持ち、BAR
クッキーを持つリクエストが受信される場合、FOO
トークンが ID アサーションに使用されます。
同じレベルの複数のトークン間の順序付けは定義されていません。そのため、次のようになります。
FOO
ヘッダを持ち、BAR
ヘッダを持つリクエストが受信される場合、FOO
トークンまたは BAR
トークンのいずれかが ID アサーションに使用されますが、どちらが使用されるかは指定されていません。
FOO
クッキーを持ち、BAR
クッキーを持つリクエストが受信される場合、FOO
トークンまたは BAR
トークンのいずれかが ID アサーションに使用されますが、どちらが使用されるかは指定されていません。
認証プロバイダの順序の変更
複数の認証プロバイダをコンフィグレーションする方法は、認証プロセスの全体的な結果に影響し、特にさまざまな要素から成る認証では重要となります。認証プロバイダはコンフィグレーションされた順序で呼び出されます。[認証プロバイダ] テーブルに、コンフィグレーションされた順序で認証プロバイダが表示されます。[コンフィグレーション済み認証プロバイダの並べ替え] リンクをクリックし、プロバイダの順序を変更します。各認証プロバイダの [制御フラグ] 属性の設定によって、認証プロセスの結果が影響されることに注意してください。詳細については、「JAAS 制御フラグ属性の設定」を参照してください。
認証プロバイダの順序を変更するには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[コンフィグレーション済み認証プロバイダの並べ替え] リンクをクリックします。
コンフィグレーション済みの認証プロバイダのリストから、認証プロバイダを選択して強調表示します。
矢印ボタンを使用して、認証プロバイダをリスト内で上下に移動します。
ユーザ名マッパーのコンフィグレーション
WebLogic Server は、双方向 SSL 接続を確立するときに Web ブラウザまたは Java クライアントのデジタル証明書を確認します。ただし、デジタル証明書は Web ブラウザまたは Java クライアントを WebLogic Server セキュリティ レルムのユーザとしては認識しません。Web ブラウザまたは Java クライアントがセキュリティ ポリシーで保護された WebLogic Server リソースを要求すると、WebLogic Server は Web ブラウザまたは Java クライアントに ID を持つように要求します。WebLogic ID アサーション プロバイダは、Web ブラウザまたは Java クライアントのデジタル証明書を WebLogic Server セキュリティ レルムのユーザにマッピングするユーザ名マッパーを有効にできるようにします。
ユーザ名マッパーは、weblogic.security.providers.authentication.UserNameMapper
インタフェースの実装でなければなりません。このインタフェースは、必要に応じた方式に従って、トークンを WebLogic Server のユーザ名にマップします。デフォルトでは、WebLogic Server では weblogic.security.providers.authentication.UserNameMapper
インタフェースのデフォルトの実装が提供されます。また、独自の実装を記述することもできます。
WebLogic ID アサーション プロバイダは、以下の ID アサーション トークン タイプについて、ユーザ名マッパーを呼び出します。
SSL ハンドシェークを通じて渡された X.509 デジタル証明書
CSIv2 を通じて渡された X.509 デジタル証明書
CSIv2 を通じて渡された X501 識別名
デフォルトのユーザ名マッパーは、デジタル証明書または識別名のサブジェクト DN の属性を使用して、WebLogic Server セキュリティ レルムの適切なユーザにマッピングします。たとえば、ユーザ名マッパーを、サブジェクト DN の [E メール] 属性からユーザ (smith@bea.com
) を WebLogic Server セキュリティ レルムのユーザ (smith
) にマッピングするようにコンフィグレーションできます。
デフォルトのユーザ名マッパーを使用するには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
デフォルトの ID アサーション プロバイダを選択します。
[デフォルト ユーザ名マッパーを使用] 属性をチェックして、ユーザ名マッパーを有効にします。
[デフォルト ユーザ名マッパー属性タイプ] - ユーザ名の作成に使用されるデジタル証明書のサブジェクト識別名 (DN) の属性。有効な値は、C
、CN
、E
、L
、O
、および OU
です。
[デフォルト ユーザ名マッパー属性の区切り文字] - ユーザ名を終了させる属性。ユーザ名マッパーは、この属性の左側のすべてを使用してユーザ名を作成します。
カスタム ユーザ名マッパーのコンフィグレーション
カスタム ユーザ名マッパーを記述して、必要に応じた方式に従ってトークンを WebLogic Server のユーザ名にマップすることもできます。カスタム ユーザ名マッパーは、weblogic.security.providers.authentication.UserNameMapper
インタフェースの実装でなければなりません。
カスタム ユーザ名マッパーをインストールするには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
デフォルトの ID アサーション プロバイダを選択します。
[ユーザ名マッパーのクラス名] 属性に、weblogic.security.providers.authentication.UserNameMapper
インタフェースの実装のクラス名を入力します。
WebLogic 認可プロバイダのコンフィグレーション
認可とは、ユーザとリソースとの対話を限定して、整合性、機密性、および可用性を確実にするプロセスのことです。すなわち、認可では、ユーザの身元などの情報に基づいてリソースへのアクセスを制御します。
セキュリティ レルムでは、WebLogic 認可プロバイダまたはカスタム認可プロバイダのいずれかを使用できます。この節では、WebLogic 認可プロバイダをコンフィグレーションする方法について説明します。カスタム セキュリティ プロバイダ (カスタム認可プロバイダを含む) のコンフィグレーションについては、「カスタム セキュリティ プロバイダのコンフィグレーション」を参照してください。
WebLogic 認可プロバイダをコンフィグレーションするには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[認可] テーブルに、コンフィグレーションするレルムのデフォルト認可プロバイダの名前が表示されます。
[新しい Default Authorizer のコンフィグレーション] リンクをクリックします。
[ポリシー デプロイメントを有効化] 属性で、この認可プロバイダがセキュリティ レルムのロール情報を (検索ではなく) 格納するかどうかを指定します。[ポリシー デプロイメントを有効化] 属性をサポートするには、認可プロバイダは DeployableAuthorizationProvider
セキュリティ サービス プロバイダ インタフェース (SSPI) を実装する必要があります。デフォルトで、この属性は有効になっています。ポリシー情報は、組み込み LDAP サーバに格納されます。
注意 :WebLogic 認可プロバイダは、ルックアップするロール、述語、およびリソース データをキャッシュすることでパフォーマンスを向上させます。これらのキャッシュのコンフィグレーションについては、『WebLogic リソースのセキュリティ』の「ベスト プラクティス : WebLogic プロバイダ使用時の資格のキャッシュのコンフィグレーション」を参照してください。
WebLogic 資格マッピング プロバイダのコンフィグレーション
資格マッピングとは、リモート システム (既存のシステムやアプリケーションなど) の認証および認可メカニズムによって適切な資格セットを取得して、対象の WebLogic リソースにアクセスしようとするユーザを認証するプロセスです。
資格マップの作成の詳細については、「エンタープライズ情報システムでのシングル サインオン」および『WebLogic J2EE コネクタ アーキテクチャ』のセキュリティに関するトピックを参照してください。
セキュリティ レルムでは、WebLogic 資格マッピング プロバイダまたはカスタム資格マッピング プロバイダのいずれかを使用できます。この節では、WebLogic 資格マッピング プロバイダをコンフィグレーションする方法について説明します。カスタム セキュリティ プロバイダ (カスタム資格マッピング プロバイダを含む) のコンフィグレーションについては、「カスタム セキュリティ プロバイダのコンフィグレーション」を参照してください。
WebLogic 資格マッピング プロバイダをコンフィグレーションするには、次の手順に従います。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[新しい Default Credential Mapper のコンフィグレーション] リンクをクリックします。
[全般] タブで、[資格マッピング デプロイメントを有効化] 属性を設定します。
[資格マッピング デプロイメントを有効化] 属性では、この資格マッピング プロバイダがデプロイメント記述子 (weblogic-ra.xml
ファイル) からセキュリティ レルムに資格マップをインポートするかどうかを指定します。[資格マッピング デプロイメントを有効化] 属性をサポートするには、資格マッピング プロバイダは DeployableCredentialProvider
SSPI を実装する必要があります。デフォルトでは、WebLogic 資格マッピング プロバイダではこの属性が有効になっています。資格マッピング情報は組み込み LDAP サーバに格納されます。
詳細については、『WebLogic Security サービスの開発』の「DeployableCredentialProvider SSPI を実装する」を参照してください。
WebLogic キーストア プロバイダのコンフィグレーション
注意 :WebLogic キーストア プロバイダは、このリリースの WebLogic Server で非推奨となりました。下位互換性のためにのみサポートされています。WebLogic キーストア プロバイダの使い方の詳細については、「SSL のコンフィグレーション」を参照してください。
WebLogic ロール マッピング プロバイダのコンフィグレーション
ロール マッピング プロバイダは、特定のリソースのサブジェクトに付与されるロール セットを計算します。ロール マッピング プロバイダは、このロール情報を認可プロバイダに提供します。このため、認可プロバイダは WebLogic リソースに対して「アクセスできるか」という質問に答えることができます。
セキュリティ レルムでは、WebLogic ロール マッピング プロバイダまたはカスタム ロール マッピング プロバイダのいずれかを使用できます。この節では、WebLogic ロール マッピング プロバイダをコンフィグレーションする方法について説明します。カスタム セキュリティ プロバイダ (カスタム ロール マッピング プロバイダを含む) のコンフィグレーションについては、「カスタム セキュリティ プロバイダのコンフィグレーション」を参照してください。
ロール マッピング プロバイダをコンフィグレーションするには、次の手順に従います。
WebLogic Server Administration Console の左ペインで、[セキュリティ|レルム] ノードを展開します。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
[ロール マッパー] テーブルが表示されます。このテーブルには、コンフィグレーションするレルムのデフォルト ロール マッピング プロバイダの名前が表示されます。
[新しい Default Role Mapper のコンフィグレーション] リンクをクリックします。
[全般] タブが表示されます。
[ロール デプロイメントを有効化] 属性で、このロール マッピング プロバイダが Web アプリケーションおよび EJB 用のデプロイメント記述子の情報をセキュリティ レルムにロードするかどうかを指定します。[ロール デプロイメントを有効化] 属性をサポートするには、ロール マッピング プロバイダは DeployableRoleProvider
SSPI を実装する必要があります。デフォルトでは、この属性は有効になっています。ロール情報は組み込み LDAP サーバに格納されます。
詳細については、『WebLogic Security サービスの開発』の「ロール マッピング プロバイダ」を参照してください。
注意 :WebLogic ロール マッピング プロバイダは、ルックアップするロール、述語、およびリソース データをキャッシュすることでパフォーマンスを向上させます。これらのキャッシュのコンフィグレーションについては、『WebLogic リソースのセキュリティ』の「ベスト プラクティス : WebLogic プロバイダ使用時の資格のキャッシュのコンフィグレーション」を参照してください。
カスタム セキュリティ プロバイダのコンフィグレーション
カスタム セキュリティ プロバイダをコンフィグレーションするには、次の手順に従います。
プロバイダの MBean JAR ファイルを WL_HOME\lib\mbeantypes
ディレクトリに入れます。
WebLogic Server Administration Console を起動します。
コンフィグレーションするレルムの名前 (TestRealm など) を選択します。
コンフィグレーションするプロバイダ タイプのノードを展開します。たとえば、カスタム認証プロバイダをコンフィグレーションするには [認証] ノードを展開します。
そのプロバイダ用のタブが表示されます。
[新しい custom Security_Provider_Type のコンフィグレーション] リンクをクリックします。
Security_Provider_Type
は、カスタム セキュリティ プロバイダの名前です。この名前は、MBean 定義ファイル (MDF) の MBeanType
タグの DisplayName
属性から読み込まれます。
[名前] 属性にカスタム セキュリティ プロバイダの名前が表示されます。
必要な場合、カスタム セキュリティ プロバイダの属性値を変更します。
注意 : Common Criteria 認定コンフィグレーションでは、カスタム セキュリティ プロバイダの使用は認められていません。Common Criteria の評価および検証プロセスで認定された BEA WebLogic Server コンフィグレーションについては、National Information Assurance Partnership の Web サイト (http://niap.nist.gov/) の「Validated Products」セクションにある製品リスト」を参照してください。評価中の製品のコンフィグレーションに関する情報は公開されません。公開されるのは、検証が終了した製品に関する情報のみです。
セキュリティ プロバイダの削除
セキュリティ プロバイダを削除するには、次の手順に従います。
削除するプロバイダがコンフィグレーションされているレルムの名前 (TestRealm など) を選択します。
削除するプロバイダのタイプ ([TestRealm|認可] など) を選択します。
そのプロバイダのテーブル ページ ([認可] テーブルなど) が表示されます。そのプロバイダのテーブル ページに、コンフィグレーションされているすべてのプロバイダの名前が表示されます。
プロバイダを削除するには、プロバイダ テーブルのごみ箱アイコンをクリックします。
注意 :コンフィグレーション済みのセキュリティ プロバイダを WebLogic Server Administration Console で削除および修正した場合、セキュリティ プロバイダ データベースの手動クリーンアップが必要となる場合があります。