WebLogic Server のセキュリティ

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

組み込み LDAP サーバの管理

WebLogic Server には、WebLogic 認証プロバイダ、認可プロバイダ、資格マッピング プロバイダ、およびロール マッピング プロバイダのデフォルトのセキュリティ プロバイダ データ ストアとしての役割を持つ組み込み LDAP サーバが用意されています。以下の節では、組み込み LDAP サーバを管理する方法について説明します。

 


組み込み LDAP サーバのコンフィグレーション

組み込み LDAP サーバには、ユーザ、グループ、グループ メンバシップ、セキュリティ ロール、セキュリティ ポリシー、および資格マップ情報が格納されます。デフォルトでは、各 WebLogic Server ドメインに、各種の情報のデフォルト値がコンフィグレーションされている組み込み LDAP サーバが 1 つあります。WebLogic の認証、認可、資格マッピング、およびロール マッピングの各プロバイダは、組み込み LDAP サーバをデータ ストアとして使用します。新しいセキュリティ レルムでこれらのプロバイダを使用する場合は、組み込み LDAP サーバのデフォルト値を変更して、環境に合わせて最適化できます。

注意 : 組み込み LDAP サーバは、50,000 ユーザ未満の環境で最高のパフォーマンスを示します。これよりユーザが多い場合は、別の LDAP サーバと認証プロバイダの使用を検討してください。

Administration Console オンライン ヘルプの「組み込み LDAP サーバのコンフィグレーション」を参照してください。

組み込み LDAP サーバで使用されるデータ ファイルおよび変更ログ ファイルは、非常に大きなサイズになる場合があります。以下の weblogic.Server コマンドライン引数を使用すると、こうしたファイルに対して最大サイズをコンフィグレーションできます。

 


組み込み 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 サーバの内容の表示

LDAP ブラウザで組み込み LDAP サーバの内容を表示するには、次の手順に従います。

  1. 外部 LDAP ブラウザをダウンロードしてインストールします。LDAP ブラウザの 1 つは次のサイトにあります。
  2. http://www-unix.mcs.anl.gov/~gawor/ldap/

    この手順では、この LDAP ブラウザを使用することを前提としています。他の LDAP ブラウザでは詳細が異なる場合があります。

  3. WebLogic Server Administration Console で、組み込み LDAP サーバの資格を変更します。
    1. [ドメイン|セキュリティ|組み込み LDAP] の順に展開します。
    2. [資格] フィールドに、新しい資格を入力します。
    3. [資格の確認] フィールドに、新しい資格をもう一度入力します。
    4. [保存] をクリックします。
    5. WebLogic Server を再起動します。
警告 : 資格を変更すると、ドメインの動作に影響することがあります。プロダクション サーバでは、この手順は実行しないでください。
  1. LDAP ブラウザを起動します。手順 1 で示した LDAP ブラウザ/エディタを起動するには、次のコマンドを使用します。
  2. lbe.sh

  3. LDAP ブラウザで、新しい接続をコンフィグレーションします。
    1. [QuickConnect] タブを選択します。
    2. [ホスト] フィールドを localhost に設定します。
    3. [ポート] フィールドを 7001 (SSL を使用する場合は 7002) に設定します。
    4. [ベース DN] フィールドを dc=mydomain に設定します。mydomain は使用する WebLogic Server ドメインの名前です。
    5. [Anonymous Bind] オプションのチェックははずします。
    6. [ユーザ DN] フィールドを cn=Admin に設定します。
    7. [Password] フィールドに手順 2 で指定した資格を設定します。
  4. 新しい接続をクリックします。
  5. LDAP ブラウザを使用して、組み込み LDAP サーバの階層を移動します。

注意 : データをエクスポートし、エクスポート ファイルを参照することで、組み込み LDAP サーバの内容を表示することもできます。「組み込み LDAP サーバの情報のエクスポートおよびインポート」を参照してください。

 


組み込み LDAP サーバの情報のエクスポートおよびインポート

WebLogic Server Administration Console または LDAP ブラウザでは、組み込み LDAP サーバからデータをエクスポートしてインポートできます。Administration Console でデータをエクスポートおよびインポートするには、各セキュリティ プロバイダの [移行] ページを使用します。Administration Console オンライン ヘルプの「セキュリティ プロバイダからのデータのエクスポート」と「セキュリティ プロバイダへのデータのインポート」を参照してください。

警告 : Administration Console の [移行] タブでセキュリティ データをエクスポートすると、対象ディレクトリ内の拡張子 .dat の付いた既存のファイルがすべて削除されます。セキュリティ データは、必ず空のディレクトリにエクスポートしてください。

この節では、LDAP ブラウザを使用して、組み込み LDAP サーバに格納されているデータをエクスポートおよびインポートする方法について説明します。表 9-1 に、組み込み LDAP サーバの階層におけるデータの格納場所をまとめます。

表 9-1 組み込み LDAP サーバ内のセキュリティ データの場所
セキュリティ データ
組み込み LDAP サーバ DN
ユーザ
ou=people,ou=myrealm,dc=mydomain
グループ
ou=groups,ou=myrealm,dc=mydomain
セキュリティ ロール
ou=ERole,ou=myrealm,dc=mydomain
セキュリティ ポリシー
ou=EResource,ou=myrealm,dc=mydomain

LDAP ブラウザ/エディタを使用して組み込み LDAP サーバからセキュリティ データをエクスポートするには、次の手順に従います。

  1. コマンド プロンプトに次のコマンドを入力して、LDAP ブラウザ/エディタを起動します。
  2. lbe.sh

  3. エクスポートするデータを指定します (たとえば、ユーザをエクスポートするには ou=people,ou=myrealm,dc=mydomain と指定します)。
  4. [LDIF|Export] オプションを選択します。
  5. [Export all children] を選択します。
  6. データのエクスポート先ファイルの名前を指定します。

LDAP ブラウザ/エディタを使用して組み込み LDAP サーバにセキュリティ データをインポートするには、次の手順に従います。

  1. コマンド プロンプトに次のコマンドを入力して、LDAP ブラウザを起動します。
  2. lbe.sh

  3. インポートするデータを指定します (たとえば、ユーザをインポートするには ou=people,ou=myrealm,dc=mydomain と指定します)。
  4. LDAP ブラウザ/エディタで、[LDIF|Import] オプションを選択します。
  5. [Update/Add] を選択します。
  6. データをインポートするファイルの名前を指定します。

 


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 に、アクセス制御ファイルのサンプルを示します。

コード リスト 9-1 サンプル acl.props ファイル
[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 操作のタイプを指定します。

属性のパーミッション

以下のパーミッションは属性を呼び出すアクションに適用されます。

表 9-2 属性のパーミッション
パーミッション
説明
r Read
属性を読み込む。付与される場合、読み込みまたは検索操作で、属性と値を返すことが許可される。
w Write
属性を変更または追加する。付与される場合、変更操作で属性と値の追加が許可される。
o Obliterate
属性を変更または削除する。付与される場合、変更操作で属性と値の削除が許可される。
s Search
指定された属性を持つエントリを検索する。付与される場合、属性と値が検索操作の対象となることが許可される。
c Compare
属性値を比較する。付与される場合、属性と値が比較操作の対象となることが許可される。
m Make
このエントリの下の新しい LDAP エントリに属性を作成する。

m パーミッションは、オブジェクトを作成するときにオブジェクトに配置されるすべての属性に対して必須です。変更操作で w および o パーミッションが使用されるのと同様に、m パーミッションは追加操作で使用されます。w および o パーミッションは追加操作とは無関係で、m パーミッションは変更操作とは無関係です。新しいオブジェクトはまだ存在していないため、オブジェクトの作成に必要な a および m パーミッションは、新しいオブジェクトの親に付与されている必要があります。この要件は、変更対象のオブジェクトに付与する必要のある w および o パーミッションとは異なります。エントリに新しい子を追加するために必要なパーミッションと、同じエントリの既存の子を変更するために必要なパーミッションが衝突しないように、m パーミッションは w および o パーミッションとは別個で分離したものになっています。変更操作で値を置き換えるには、ユーザは w パーミッションと o パーミッションの両方を持つ必要があります。

エントリのパーミッション

以下のパーミッションは LDAP エントリ全体に適用されます。

表 9-3 エントリのパーミッション
パーミッション
説明
a Add
この LDAP エントリの下にエントリを追加する。付与される場合、DIT サブジェクト内にエントリを作成して、作成時に新しいエントリに配置されるすべての属性と値を制御することが許可される。エントリを追加するには、少なくとも必須の属性を追加するパーミッションも付与されなければならない。
d Delete
このエントリを削除する。付与される場合、エントリ内の属性の制御に関係なく、DIT からエントリを削除することが許可される。
e Export
エントリとすべての下位エントリを新しい場所にエクスポートする。
付与される場合は、エントリとその下位エントリ (存在する場合) のエクスポートが許可される。つまり、エクスポート先に適したパーミッションを付与するという前提で、エントリを現在の場所から削除して新しい場所に配置する。
最後の RDN を変更する場合は、現在の場所で Rename パーミッションも必要になる。
エントリまたはその下位エントリをエクスポートする際に、エントリに含まれる属性 (RDN 属性を含む) に必須のパーミッションはない。操作によって新しい属性値が追加されたり、RDN の変更の結果として属性値が削除されたりする場合でも、このことが当てはまる。
i Import
エントリと下位エントリを指定された場所からインポートする。
付与される場合、エントリとその下位エントリ (存在する場合) のインポートが許可される。つまり、新しい場所に適したパーミッションが付与される場合、エントリをある場所から削除して指定された場所に配置する。
エントリまたはその下位エントリをインポートする際に、エントリに含まれる属性 (RDN 属性を含む) に必須のパーミッションはない。操作によって新しい属性値が追加されたり、RDN の変更の結果として属性値が削除されたりする場合でも、このことが当てはまる。
n RenameDN
LDAP ディレクトリの DN を変更する。エントリの名前を新しい RDN に変更する (下位エントリの DN も結果として変更される) 場合は、Rename パーミッションを付与する必要がある。上位のエントリの名前を変更しない場合、付与は十分である。
エントリの名前を変更する際に、エントリに含まれる属性 (RDN 属性を含む) に必須のパーミッションはない。操作によって新しい属性値が追加されたり、RDN の変更の結果として属性値が削除されたりする場合でも、このことが当てはまる。
b BrowseDN
エントリの DN を参照する。付与される場合、ディレクトリ操作を使用してエントリにアクセスすることが許可される。この操作では、エントリの名前は明示的に提供されない。
t ReturnDN
操作の結果にエントリの DN を公開することが許可される。付与される場合、操作の結果にエントリの識別名を公開することが許可される。

属性タイプ

アクセス制御ルールが適用される属性タイプは、必要な場合に ACL にリストする必要があります。以下のキーワードが使用されます。

ACL 内でキーワード [all] と別の属性の両方が指定されている場合、属性に対する限定性の高いパーミッションが、[all] キーワードで指定される限定性の低いパーミッションをオーバーライドします。

サブジェクト タイプ

アクセス制御ルールは、さまざまなサブジェクト タイプと関連付けることができます。アクセス制御ルールのサブジェクトによって、現在接続しているセッションにアクセス制御ルールが適用されるかどうかが決まります。

以下のサブジェクト タイプが定義されます。

評価ルールの付与または拒否

エントリ内の情報に対するクライアント アクセスを付与または拒否するかどうかの決定は、アクセス制御ルールや保護されるエントリに関連するさまざまな要因に基づいて行われます。意思決定プロセスの過程には、以下のような指針となる原則があります。


  ページの先頭       前  次