![]() ![]() ![]() ![]() |
WebLogic Server には、WebLogic 認証プロバイダ、認可プロバイダ、資格マッピング プロバイダ、およびロール マッピング プロバイダのデフォルトのセキュリティ プロバイダ データ ストアとしての役割を持つ組み込み LDAP サーバが用意されています。以下の節では、組み込み LDAP サーバを管理する方法について説明します。
組み込み LDAP サーバには、ユーザ、グループ、グループ メンバシップ、セキュリティ ロール、セキュリティ ポリシー、および資格マップ情報が格納されます。デフォルトでは、各 WebLogic Server ドメインに、各種の情報のデフォルト値がコンフィグレーションされている組み込み LDAP サーバが 1 つあります。WebLogic の認証、認可、資格マッピング、およびロール マッピングの各プロバイダは、組み込み LDAP サーバをデータ ストアとして使用します。新しいセキュリティ レルムでこれらのプロバイダを使用する場合は、組み込み LDAP サーバのデフォルト値を変更して、環境に合わせて最適化できます。
注意 : | 組み込み LDAP サーバは、10,000 ユーザ未満の環境で最高のパフォーマンスを示します。これよりユーザが多い場合は、別の LDAP サーバと認証プロバイダの使用を検討してください。 |
Administration Console オンライン ヘルプの「組み込み LDAP サーバのコンフィグレーション」を参照してください。
組み込み LDAP サーバで使用されるデータ ファイルおよび変更ログ ファイルは、非常に大きなサイズになる場合があります。以下の weblogic.Server
コマンドライン引数を使用すると、こうしたファイルに対して最大サイズをコンフィグレーションできます。
-Dweblogic.security.ldap.maxSize=<max bytes>
。組み込み LDAP サーバで使用されるデータ ファイルのサイズを制限します。データ ファイルが指定されたサイズを超えると、削除済みのエントリによって占有されていたスペースがデータ ファイルから削除されます。-Dweblogic.security.ldap.changeLogThreshold=<number of entries>
。組み込み LDAP サーバで使用される変更ログ ファイルのサイズを制限します。変更ログ ファイルが指定されたエントリ数を超えると、すべての管理対象サーバに送信されていたすべてのエントリを削除することによって変更ログが切り詰められます。
ドメインの WebLogic Server の組み込み LDAP サーバは、1 つのマスター LDAP サーバ (ドメインの管理サーバが保持する) と、レプリケートされた LDAP サーバ (ドメインの各管理対象サーバが保持する) で構成されます。管理対象サーバを使用して変更が行われると、その更新データは管理サーバ上の組み込み LDAP サーバに送信されます。管理サーバ上の組み込み LDAP サーバは、すべての変更のログを保持します。また、管理サーバ上の組み込み LDAP サーバは、管理対象サーバのリストと各管理対象サーバの現在の変更ステータスも保持します。管理サーバ上の組み込み LDAP サーバは、各管理対象サーバに適切な変更を送信して、各サーバの変更ステータスを更新します。この処理は管理サーバ上の組み込み LDAP サーバで更新が行われたときに発生します。ただし、更新の回数によっては、変更が管理対象サーバにレプリケートされるのに数秒以上かかることがあります。
Administration Console を使用すると、ドメイン内の管理サーバと管理対象サーバ上の組み込み LDAP サーバの動作をコンフィグレーションできます。Administration Console の [ドメイン|セキュリティ|組み込み LDAP] ページで、以下の属性を設定します。
Administration Console オンライン ヘルプの「組み込み LDAP サーバのコンフィグレーション」を参照してください。
注意 : | コンフィグレーション済みのセキュリティ プロバイダを WebLogic Administration Console で削除および修正する際には、組み込み LDAP サーバの手動クリーンアップが必要になることがあります。外部 LDAP ブラウザを使用して、不要な情報を削除します。 |
LDAP ブラウザで組み込み LDAP サーバの内容を表示するには、次の手順に従います。
http://www-unix.mcs.anl.gov/~gawor/ldap/
この手順では、この LDAP ブラウザを使用することを前提としています。他の LDAP ブラウザでは詳細が異なる場合があります。
警告 : | 資格を変更すると、ドメインの動作に影響することがあります。プロダクション サーバでは、この手順は実行しないでください。 |
注意 : | データをエクスポートし、エクスポート ファイルを参照することで、組み込み LDAP サーバの内容を表示することもできます。「組み込み LDAP サーバの情報のエクスポートおよびインポート」を参照してください。 |
WebLogic Server Administration Console または LDAP ブラウザでは、組み込み LDAP サーバからデータをエクスポートしてインポートできます。Administration Console でデータをエクスポートおよびインポートするには、各セキュリティ プロバイダの [移行] ページを使用します。Administration Console オンライン ヘルプの「セキュリティ プロバイダからのデータのエクスポート」と「セキュリティ プロバイダへのデータのインポート」を参照してください。
警告 : | Administration Console の [移行] タブを使用してセキュリティ データをエクスポートすると、対象ディレクトリ内の拡張子 .dat の既存ファイルはすべて削除されます。セキュリティ データは、必ず空のディレクトリにエクスポートするようにしてください。 |
この節では、LDAP ブラウザを使用して、組み込み LDAP サーバに格納されているデータをエクスポートおよびインポートする方法について説明します。表 9-1 に、組み込み LDAP サーバの階層におけるデータの格納場所をまとめます。
LDAP ブラウザ/エディタを使用して組み込み LDAP サーバからセキュリティ データをエクスポートするには、次の手順に従います。
LDAP ブラウザ/エディタを使用して組み込み LDAP サーバにセキュリティ データをインポートするには、次の手順に従います。
組み込み LDAP サーバは IETF の「LDAP Access Control Model for LDAPv3」をサポートしています。この節では、そのアクセス制御を組み込み LDAP サーバの内部に実装する方法について説明します。これらのルールは、標準で想定されているようにディレクトリ内のエントリに直接適用することも、アクセス制御ファイル (acls.prop
) を編集してコンフィグレーションおよび管理することもできます。
注意 : | 組み込み LDAP サーバのデフォルトの動作では、WebLogic Server の Admin アカウントからのアクセスのみが許可されます。WebLogic セキュリティ プロバイダでは、Admin アカウントのみを使用して組み込み LDAP サーバにアクセスします。外部 LDAP ブラウザから組み込み LDAP サーバにアクセスする予定がない場合や Admin アカウントのみを使用する予定の場合、acls.prop ファイルの編集は不要なので、この節の情報は無視して構いません。 |
組み込み LDAP サーバが保持するアクセス制御ファイル (acls.prop
) には、LDAP ディレクトリ全体のアクセス制御リスト (ACL) の完全なリストが含まれています。アクセス制御ファイルの各行には、アクセス制御ルールが 1 つずつ含まれています。アクセス制御ルールは以下の要素で構成されています。
コード リスト 9-1 に、アクセス制御ファイルのサンプルを示します。
[root]|entry#grant:r,b,t#[all]#public
ou=Employees,dc=octetstring,dc=com|subtree#grant:r,c#[all]#public:
,
ou=Employees,dc=octetstring,dc=com|subtree#grant:b,t#[entry]#public:
ou=Employees,dc=octetstring,dc=com|subtree#deny:r,c#userpassword#public:
ou=Employees,dc=octetstring,dc=com|subtree#grant:r#userpassword#this:
ou=Employees,dc=octetstring,dc=com|subtree#grant:w,o#userpassword,title
description,
postaladdress,telephonenumber#this:
cn=schema|entry#grant:r#[all]#public:
各アクセス制御ルールは LDAP ディレクトリ内の特定の場所に適用されます。場所は通常は識別名 (DN) ですが、アクセス制御ルールをディレクトリ全体に適用する場合は、acls.prop
ファイルで特定の場所の [root]
を指定できます。
LDAP サーバ上でアクセスまたは変更されるエントリが、アクセス制御ルールの場所に一致しないか下位ディレクトリに存在しない場合、指定されたアクセス制御ルールはそれ以上評価されません。
ディレクトリ内のエントリが、衝突するアクセス制御ルールの対象となっている場合 (たとえば、あるルールが「エントリ」のルールで、別のルールが「サブツリー」のルールである場合)、「エントリ」のルールが「サブツリー」のルールよりも優先されます。
アクセス権はオブジェクト全体またはオブジェクトの属性に適用されます。アクセスは付与または拒否されます。アクセス制御ルールを作成または更新するときに、grant
または deny
のアクションを使用できます。
LDAP のアクセス権はそれぞれが分離しています。ある権限に別の権限が含まれることはありません。権限では実行できる LDAP 操作のタイプを指定します。
以下のパーミッションは属性を呼び出すアクションに適用されます。
m
パーミッションは、オブジェクトを作成するときにオブジェクトに配置されるすべての属性に対して必須です。変更操作で w
および o
パーミッションが使用されるのと同様に、m
パーミッションは追加操作で使用されます。w
および o
パーミッションは追加操作とは無関係で、m
パーミッションは変更操作とは無関係です。新しいオブジェクトはまだ存在していないため、オブジェクトの作成に必要な a
および m
パーミッションは、新しいオブジェクトの親に付与されている必要があります。この要件は、変更対象のオブジェクトに付与する必要のある w
および o
パーミッションとは異なります。エントリに新しい子を追加するために必要なパーミッションと、同じエントリの既存の子を変更するために必要なパーミッションが衝突しないように、m
パーミッションは w
および o
パーミッションとは別個で分離したものになっています。変更操作で値を置き換えるには、ユーザは w
パーミッションと o
パーミッションの両方を持つ必要があります。
以下のパーミッションは LDAP エントリ全体に適用されます。
アクセス制御ルールが適用される属性タイプは、必要な場合に ACL にリストする必要があります。以下のキーワードが使用されます。
ACL 内でキーワード [all]
と別の属性の両方が指定されている場合、属性に対する限定性の高いパーミッションが、[all]
キーワードで指定される限定性の低いパーミッションをオーバーライドします。
アクセス制御ルールは、さまざまなサブジェクト タイプと関連付けることができます。アクセス制御ルールのサブジェクトによって、現在接続しているセッションにアクセス制御ルールが適用されるかどうかが決まります。
authzID
- サブジェクト定義の一部として指定できる単一のユーザに適用されます。ユーザの ID は、LDAP ディレクトリ内で通常 DN として定義されます。Group
- 以下のいずれかのオブジェクト クラスで指定されるユーザのグループに適用されます。 Subtree
- LDAP ディレクトリ ツリー内のサブジェクトとすべての下位エントリの一部として指定される DN に適用されます。IP Address
- 特定のインターネット アドレスに適用されます。このサブジェクト タイプは、すべてのアクセスがプロキシ サーバまたは他のサーバを経由しなければならない場合に便利です。特定のホストにのみ適用され、範囲やサブネットには適用されません。Public
- 認証されるかどうかにかかわらず、ディレクトリに接続するすべての対象に適用されます。This
- アクセスされるエントリの DN に一致する DN を持つユーザに適用されます。
エントリ内の情報に対するクライアント アクセスを付与または拒否するかどうかの決定は、アクセス制御ルールや保護されるエントリに関連するさまざまな要因に基づいて行われます。意思決定プロセスの過程には、以下のような指針となる原則があります。
IP Address
サブジェクトに基づくルールが最優先され、その次に、特定の AuthzID
または This
サブジェクトに適用されるルールが続きます。次に優先されるのは、Group
サブジェクトに適用されるルールです。優先順位が最も低いのは、Subtree
および Public
サブジェクトに適用されるルールです。
![]() ![]() ![]() |