Sun Java System Access Manager 7.1 管理ガイド

第 3 章 データストア

データストアは、ユーザー属性およびユーザー設定データを格納できるデータベースです。Access Manager は、LDAPv3 アイデンティティーリポジトリフレームワークに接続するアイデンティティーリポジトリプラグインを提供します。これらのプラグインにより、既存のユーザーデータベースに変更を加える必要なしに、Access Manager ユーザー情報を表示および取得できます。Access Manager フレームワークは、アイデンティティーリポジトリプラグインからのデータをほかの Access Manager プラグインからのデータと統合し、各ユーザーの仮想アイデンティティーを形成します。Access Manager はその後、複数のアイデンティティーリポジトリ間で、認証と承認のプロセスにユニバーサルアイデンティティーを使用できます。仮想ユーザーアイデンティティーは、ユーザーのセッション終了時に破棄されます。

Access Manager データストアのタイプ

この節では、設定可能なデータストアのタイプについて説明します。また、新しいデータストアタイプを作成する手順および設定する方法についても説明します。

次のデータストアタイプのいずれかの場合に、新しいデータストアインスタンスを作成できます。

Access Manager リポジトリプラグイン

このデータストアタイプは、Sun Java System Directory Server インスタンスに属し、Access Manager 情報ツリーを保持します。このデータストアタイプでは LDAP Version 3 の仕様の一部ではない Directory Server 機能 (ロールやサービスのクラスなど) が使用され、以前のバージョンの Access Manager との互換性があります。

Active Directory

このデータストアタイプでは、LDAP Version 3 の仕様を使用して、アイデンティティーデータを Microsoft Active Directory のインスタンスに書き込みます。

フラットファイルリポジトリ

このリポジトリを使用すると、別々のデータストアを作成することなく、Access Manager のローカルインストールインスタンス上のフラットな DIT 構造にデータとアイデンティティーを格納できます。一般に、このリポジトリはコンセプト配備のテストまたは検証に使用されます。

汎用 LDAPv3

このデータストアタイプを使用すると、アイデンティティーデータを LDAPv3 に準拠した任意のデータベースに書き込むことができます。使用中の LDAPv3 データベースが持続検索をサポートしていない場合は、キャッシュ機能を使用できません。

Access Manager スキーマを含んだ Sun Directory Server

このデータストアタイプは、Sun Java System Directory Server インスタンスに属し、Access Manager 情報ツリーを保持します。これは、より多くの設定属性によってデータストアをより適切にカスタマイズできるという点で、Access Manager リポジトリプラグインと異なります。

Procedure新しいデータストアを作成する

次の節では、データストアを接続する手順について説明します。

  1. 新しいデータストアを追加するレルムを選択します。

  2. 「データストア」タブをクリックします。

  3. 「データストア」リストから「新規」をクリックします。

  4. データストアの名前を入力します。

  5. 作成するデータストアのタイプを選択します。

  6. 「次へ」をクリックします。

  7. 適切な属性値を入力して、データストアを設定します。

  8. 「終了」をクリックします。

データストア属性

この節では、新しい Access Manager データストアごとに設定する属性を定義します。データストア属性は、次のとおりです。


注 –

Active Directory、汎用 LDAPv3、および Access Manager スキーマを含んだ Sun Directory Server の各データストアタイプは、同じ基本プラグインを共有しているため、設定属性も同じです。ただし、一部の属性のデフォルト値はデータストアタイプごとに異なり、Access Manager コンソールにそれぞれ表示されます。


Access Manager リポジトリ属性

Access Manager リポジトリプラグインを設定するために、次の属性を使用できます。

クラス名

Access Manager リポジトリプラグインを実装するクラスファイルの場所を指定します。

Access Manager がサポートするタイプと操作

この LDAP サーバー上で許可されている、または実行可能な操作を指定します。この LDAPv3 リポジトリプラグインでサポートされている操作はデフォルト操作だけです。LDAPv3 リポジトリプラグインでサポートされている操作は次のとおりです。

LDAP サーバー設定とタスクに基づいて、これらのリストからアクセス権を削除できますが、アクセス権の追加はできません。

設定された LDAPv3 リポジトリプラグインが Sun Java Systems Directory Server のインスタンスを指している場合は、「ロール」タイプのアクセス権を追加できます。これ以外の場合は、ほかのデータストアではロールがサポートされていない場合があるため、このアクセス権は追加できません。「ロール」タイプのアクセス権は、次のとおりです。

サポートする LDAPv3 リポジトリのタイプとして「ユーザー」がある場合は、そのユーザーに対して読み取り、作成、編集、および削除のサービス操作が可能です。言い換えると、「ユーザー」タイプがサポートされている場合は、読み取り、編集、作成、および削除の操作を使用して、アイデンティティーリポジトリからユーザーエントリの読み取り、編集、作成、および削除を実行できます。user=service 操作を使用すると、Access Manager サービスがユーザーエントリ内の属性にアクセスできます。さらに、ユーザーが属するレルムまたはロールにサービスが割り当てられている場合、ユーザーは動的サービス属性にアクセスできます。

また、ユーザーは、割り当てられたすべてのサービスのユーザー属性を管理できます。ユーザーに操作として「サービス」 (user=service) がある場合は、サービス関連の操作がすべてサポートされるように指定されます。それらの操作には、assignServiceunassignServicegetAssignedServicesgetServiceAttributes、removeServiceAttributes、および modifyService があります。

組織 DN 値

Access Manager によって管理される、Directory Server 内の組織を指す DN を定義します。これは、データストア内で実行されるすべての操作のベース DN となります。

ピープルコンテナネーミング属性

ユーザーがピープルコンテナ内に位置する場合に、ピープルコンテナのネーミング属性を指定します。ユーザーがピープルコンテナ内に位置しない場合、このフィールドは空のままとされます。

ピープルコンテナ値

ピープルコンテナの値を指定します。デフォルトは people です。

エージェントコンテナネーミング属性

エージェントがエージェントコンテナ内に位置する場合の、エージェントコンテナのネーミング属性。エージェントがエージェントコンテナ内に位置しない場合、このフィールドは空のままとされます。

エージェントコンテナ値

エージェントコンテナの値を指定します。デフォルトは agents です。

再帰検索

これを有効にした場合、Access Manager リポジトリでは、指定されたアイデンティティーに対して再帰検索が実行されます。たとえば、次のデータ構造で再帰検索を実行します。

root
realm1
    subrealm11
        user5
    subrealm12
        user6
realm2
    user1
    user2
    subrealm21
        user3
        user4

結果は、次のようになります。

レルム設定をコピー

この属性をレルムモードのインストールで有効にした場合、Access Manager は、リポジトリに存在するレルムおよびサブレルムごとに対応する組織およびサブ組織を作成します。さらに、新しく作成された組織およびサブ組織に、レルムおよびサブレルムに登録されたサービスが登録されます。レルム DIT と組織 DIT の両方が、データストアに存在します。

フラットファイルリポジトリの属性

フラットファイルリポジトリを設定するために、次の属性を使用できます。

ファイルリポジトリプラグインのクラス名

この属性は、フラットファイルの実装を提供する Java クラスファイルを指定します。この属性は変更できません。

ファイルリポジトリディレクトリ

アイデンティティーおよびその属性を格納するベースディレクトリを定義します。

キャッシュ

これを有効にした場合 (デフォルト)、アイデンティティーとその属性がキャッシュされます。後続の要求は、ファイルシステムにアクセスしません。

キャッシュを更新する時間

キャッシュを有効にした場合、この属性は、ファイルシステムへの変更がないかどうか、キャッシュ内のエントリをチェックするまでの間隔を分単位で指定します。このチェックのメカニズムは、タイムスタンプに基づきます。

ファイルに含めるユーザーオブジェクトクラス

作成されたときに、自動的にユーザーに追加されるオブジェクトクラスを定義します。

パスワード属性

認証に使用されるパスワードを含む属性名を指定します。この属性は、データストアの認証モジュールを有効にしたときに、ユーザーを認証するために使用されます。

状態属性

アイデンティティーの状態を格納する属性名を指定します。状態属性の値は、「アクティブ」「非アクティブ」のいずれかです。これは、アイデンティティーの認証時に使用されます。アイデンティティーが「非アクティブ」の場合は、ユーザーは認証されません。

ハッシュ属性

ハッシュ化され、ファイルに格納される値を含む属性のリストを指定します。ハッシュ化されると、元の値は取得できません。ハッシュ化された値のみが取得されます。これは、特定の属性を永続的に格納すべきではないにもかかわらず検証に使用する際、機密性を確保するために使用します。このタイプの属性の例には、アイデンティティーのパスワード属性があります。

暗号化された属性

暗号化され、ファイルに格納される値を含む属性のリストを指定します。値は暗号化され、格納されますが、アイデンティティーリポジトリ API を呼び出すと、元の復号化された値が返されます。これにより、ユーザーがファイルシステムに直接アクセスし、機密性の高い属性を読み取ることを防ぎます。

LDAPv3 属性

LDAPv3 リポジトリプラグインを設定するために、次の属性を使用できます。

LDAP サーバー

接続先 LDAP サーバーの名前を入力します。「ホスト名.ドメイン名:ポート番号」の形式を使用することをお勧めします。

複数の「ホスト:ポート番号」エントリが入力された場合、リスト内の最初のホストへの接続が試みられます。リスト内の次のエントリは、現在のホストへの接続試行が失敗した場合にのみ試行されます。

LDAP バインド DN

現在接続している LDAP サーバーに対して認証を行うために Access Manager が使用する DN 名を指定します。バインドに使用される DN 名を持つユーザーには、「LDAPv3 プラグインでサポートされるタイプおよび操作」属性で設定した、正しい追加/変更/削除権限を付与することをお勧めします。

LDAP バインドパスワード

現在接続している LDAP サーバーに対して認証を行うために Access Manager が使用する DN パスワードを指定します。

LDAP バインドパスワード (確認)

パスワードを確認します。

LDAP 組織 DN

このデータストアリポジトリのマッピング先となる DN。これは、このデータストア内で実行されるすべての操作のベース DN となります。

LDAP SSL

有効にすると、Access Manager は HTTPS プロトコルを使用してプライマリサーバーに接続します。

LDAP 接続プールの最小サイズ

接続プール内の接続の初期数を指定します。接続プールを利用すると、新しい接続を毎回作成する必要がなくなります。

LDAP 接続プールの最大サイズ

許容される接続数の上限を指定します。

検索で返される結果の最大数

検索操作で返されるエントリ数の上限を指定します。この制限に達すると、Directory Server は検索要求に一致するあらゆるエントリを返します。

検索タイムアウト

検索要求に割り当てられる最大の秒数を指定します。この制限に達すると、Directory Server は検索要求に一致するあらゆる検索エントリを返します。

参照先も LDAP 検索する

このオプションを有効にすると、ある LDAP サーバーからの別の LDAP サーバーに対する参照が自動的に実行されます。

LDAPv3 リポジトリプラグインクラス名

LDAPv3 リポジトリを実装するクラスファイルの場所を指定します。

一般属性名マッピング

フレームワークが認識する共通属性をネイティブデータストアにマップできるようにします。たとえば、フレームワークがユーザー状態の判定に inetUserStatus を使用する場合に、ネイティブデータストアが実際には userStatus を使用することが可能です。属性定義では大文字と小文字が区別されます。

LDAPv3 プラグインでサポートされるタイプおよび操作

この LDAP サーバー上で許可されている、または実行可能な操作を指定します。この LDAPv3 リポジトリプラグインでサポートされている操作はデフォルト操作だけです。LDAPv3 リポジトリプラグインでサポートされている操作は次のとおりです。

LDAP サーバー設定とタスクに基づいて、これらのリストからアクセス権を削除できますが、アクセス権の追加はできません。

設定された LDAPv3 リポジトリプラグインが Sun Java Systems Directory Server のインスタンスを指している場合は、「ロール」タイプのアクセス権を追加できます。これ以外の場合は、ほかのデータストアではロールがサポートされていない場合があるため、このアクセス権は追加できません。「ロール」タイプのアクセス権は、次のとおりです。

サポートする LDAPv3 リポジトリのタイプとして「ユーザー」がある場合は、そのユーザーに対して読み取り、作成、編集、および削除のサービス操作が可能です。言い換えると、「ユーザー」タイプがサポートされている場合は、読み取り、編集、作成、および削除の操作を使用して、アイデンティティーリポジトリからユーザーエントリの読み取り、編集、作成、および削除を実行できます。user=service 操作を使用すると、Access Manager サービスがユーザーエントリ内の属性にアクセスできます。さらに、ユーザーが属するレルムまたはロールにサービスが割り当てられている場合、ユーザーは動的サービス属性にアクセスできます。

また、ユーザーは、割り当てられたすべてのサービスのユーザー属性を管理できます。ユーザーに操作として「サービス」 (user=service) がある場合は、サービス関連の操作がすべてサポートされるように指定されます。それらの操作には、assignServiceunassignServicegetAssignedServicesgetServiceAttributes、removeServiceAttributes、および modifyService があります。

LDAPv3 プラグイン検索範囲

LDAPv3 プラグインエントリの検索に使用する範囲を定義します。範囲は次のいずれかにする必要があります。

LDAP ユーザー検索属性

このフィールドは、ユーザーに対して検索を行うための属性タイプを定義します。たとえば、ユーザーの DN が「uid=user1,ou=people,dc=iplanet,dc=com」である場合、ネーミング属性は uid です。

LDAP ユーザー検索フィルタ

ユーザーエントリの検索に使用する検索フィルタを指定します。

LDAP ユーザーオブジェクトクラス

ユーザーのオブジェクトクラスを指定します。ユーザーが作成されると、このユーザーオブジェクトクラスのリストがユーザーの属性リストに追加されます。

LDAP ユーザー属性

ユーザーと関連付けられる属性のリストを定義します。このリストにないユーザー属性の読み取りまたは書き込みは一切行うことができません。属性は大文字と小文字が区別されます。ここでオブジェクトクラスと属性スキーマを定義する前に、Directory Server でオブジェクトクラスと属性スキーマが定義されている必要があります。

LDAP ユーザー作成属性マッピング

ユーザーを作成するときに必要な属性を指定します。この属性では、次の構文が使用されます。

DestinationAttributeName=SourceAttributeName

ソース属性名がない場合、デフォルトはユーザー ID (uid) です。次に例を示します。

cn
sn=givenName

ユーザープロファイルを作成するには、cnsn の両方が必要です。cnuid という属性の値を取得し、sngivenName という属性の値を取得します。

ユーザー状態属性

ユーザーの状態を示す属性名を指定します。

ユーザー状態のアクティブ値

アクティブなユーザーの状態を示す属性名を指定します。デフォルトは「アクティブ」です。

ユーザー状態の非アクティブ値

非アクティブなユーザーの状態を示す属性名を指定します。デフォルトは「非アクティブ」です。

LDAP グループ検索属性

このフィールドは、グループに対して検索を行うための属性タイプを定義します。デフォルトは cn です。

LDAP グループ検索フィルタ

グループエントリの検索に使用する検索フィルタを指定します。デフォルトは、(objectclass=groupOfUniqueNames) です。

LDAP グループコンテナネーミング属性

グループがコンテナ内に位置する場合に、グループコンテナのネーミング属性を指定します。コンテナ内に位置しない場合、この属性は空のままとされます。たとえば、「cn=group1,ou=groups,dc=iplanet,dc=com」のグループ DN が ou=groups 内に位置する場合、グループコンテナネーミング属性は ou です。

LDAP グループコンテナ値

グループコンテナの値を指定します。たとえば、「 cn=group1,ou=groups,dc=iplanet,dc=com」のグループ DN がコンテナ名 ou=groups 内に位置する場合、グループコンテナ値は groups になります。

LDAP グループオブジェクトクラス

グループのオブジェクトクラスを指定します。グループが作成されると、グループオブジェクトクラスのこのリストがグループの属性リストに追加されます。

LDAP グループ属性

グループと関連付けられる属性のリストを定義します。このリストにないグループ属性の読み取りまたは書き込みは一切行うことができません。属性は大文字と小文字が区別されます。ここでオブジェクトクラスと属性スキーマを定義する前に、Directory Server でオブジェクトクラスと属性スキーマが定義されている必要があります。

グループメンバーシップ属性

DN が属する全グループの名前がその値である属性の名前を指定します。デフォルトは memberOf です。

一意のメンバー属性

このグループに属している DN がその値である属性名を指定します。デフォルトは uniqueMember です。

グループメンバー URL 属性

このグループに属しているメンバーを決定する LDAP URL がその値である、属性の名前を指定します。デフォルトは memberUrl です。

LDAP ピープルコンテナネーミング属性

ユーザーがピープルコンテナ内に位置する場合に、ピープルコンテナのネーミング属性を指定します。ユーザーがピープルコンテナ内に位置しない場合、このフィールドは空のままとされます。

LDAP ピープルコンテナ値

ピープルコンテナの値を指定します。デフォルトは people です。

LDAP エージェント検索属性

このフィールドは、エージェントの検索を実行するための属性タイプを定義します。デフォルトは uid です。

LDAP エージェントコンテナネーミング属性

エージェントがエージェントコンテナ内に位置する場合の、エージェントコンテナのネーミング属性。エージェントがエージェントコンテナ内に位置しない場合、このフィールドは空のままとされます。

LDAP エージェントコンテナ値

エージェントコンテナの値を指定します。デフォルトは agents です。

LDAP エージェント検索フィルタ

エージェントの検索に使用するフィルタを定義します。実際のエージェント検索フィルタは、このフィールドの値の前に「LDAP エージェント検索属性」の値を付加することによって構築されます。

たとえば、「LDAP エージェント検索属性」が uid で、「LDAP ユーザー検索フィルタ」が (objectClass=sunIdentityServerDevice) の場合、実際のユーザー検索フィルタは次のようになります。(&(uid=*)(objectClass=sunIdentityServ erDevice))

LDAP エージェントオブジェクトクラス

エージェントのオブジェクトクラスを定義します。エージェントが作成されると、エージェントオブジェクトクラスのリストがエージェントの属性リストに追加されます。

LDAP エージェント属性

エージェントと関連付けられる属性のリストを定義します。このリストにないエージェント属性の読み取りまたは書き込みは一切行うことができません。属性は大文字と小文字が区別されます。ここでオブジェクトクラスと属性スキーマを定義する前に、Directory Server でオブジェクトクラスと属性スキーマが定義されている必要があります。

認証可能なアイデンティティータイプ

レルムの認証モジュールモードがデータストアに設定されている場合は、このデータストアがユーザーまたはエージェント、あるいはその両方のアイデンティティータイプを認証できるように指定します。

持続検索ベース DN

持続検索に使用するベース DN を定義します。一部の LDAPv3 サーバーは、ルートサフィックスレベルでの持続検索のみをサポートします。

持続検索フィルタ

ディレクトリサーバーエントリに特定の変更を返すフィルタを定義します。データストアは、定義されたフィルタに一致する変更のみを受け取ります。

再起動前の持続検索の最大アイドル時間

持続検索を再開するまでの最大アイドル時間を定義します。1 よりも大きい値を設定する必要があります。1 以下の値を設定すると、接続のアイドル時間とは無関係に検索を再開します。

Access Manager がロードバランサとともに配備される場合、一部のロードバランサは、指定された時間アイドル状態が続くとタイムアウトします。この場合、ロードバランサに対して指定された時間よりも小さい値を「再起動前の持続検索の最大アイドル時間」に設定することをお勧めします。

エラーコードのあとの再試行の最大数

「再試行する LDAPException エラーコード」で指定されたエラーコードが返された場合に、持続検索操作を再試行する回数の上限を定義します。

再試行の間の遅延時間

各再試行の前に待機する時間を指定します。これは、持続検索接続にのみ適用されます。

再試行する LDAPException エラーコード

持続検索操作を再試行させるエラーコードを指定します。この属性は持続検索のみに適用され、すべての LDAP 操作に適用されるわけではありません。

キャッシュ

これを有効にした場合、Access Manager はデータストアから取得されたデータをキャッシュできます。

キャッシュされた項目の最長有効期間

削除されるまでデータがキャッシュに格納される最長期間を指定します。この値は、秒単位で定義します。

キャッシュの最大サイズ

キャッシュの最大サイズを指定します。この値を大きくすると、より多くのデータを格納できますが、必要なメモリーも増えます。この値は、バイト単位で定義します。