過去のナビゲーションリンクのスキップSecure Global Desktop 4.40 管理者ガイド > リソースの構成 > Directory Services Integration の使用

Directory Services Integration の使用

SGD Directory Services Integration (DSI) では、ローカルリポジトリの代わりに LDAP ディレクトリを使用してユーザー情報を管理することができます。DSI では、ローカルリポジトリにユーザープロファイルオブジェクトを作成する必要はありません。ユーザーにアプリケーションを割り当てるのではなく、アプリケーションにユーザーを割り当てます。

このページで説明する内容は、次のとおりです。

Directory Services Integration を有効にする

DSI を有効にするには、次の手順を実行します。

  1. サポートされている LDAP ディレクトリサーバーがあることを確認します。

    DSI は、次に挙げる LDAP version 3 ディレクトリサーバーでサポートされています。

    DSI は、その他の LDAP ディレクトリサーバーで使用できる場合もありますが、サポート対象ではありません。

  2. ユーザーに LDAP 識別情報を割り当てるために、いずれかの SGD 認証機構を有効にして、正常に機能するかどうかをテストします。

    DSI を使用するには、LDAP ディレクトリの検索によって発行される識別情報をユーザーに割り当てる必要があります。つまり、ユーザーは次の認証機構のいずれかによって認証される必要があります。

  3. DSI を使用して、LDAP ユーザーをアプリケーション、ドキュメント、およびグループオブジェクトに割り当てます。

    DSI のアプリケーション、ドキュメント、およびグループを設定する」を参照してください。

  4. (省略可能) ローカルリポジトリのユーザープロファイルを設定します。

    コピー&ペーストを使用する機能や、クライアントプロファイルを編集する機能など、ユーザーに対する SGD 固有の設定をより詳細に管理するには、DSI のユーザープロファイルを設定することをお勧めします。

DSI のアプリケーション、ドキュメント、およびグループを構成する

DSI では、ユーザーにアプリケーションを割り当てるのではなく、アプリケーションにユーザーを割り当てます。SGD Administration Console において、アプリケーション、ドキュメント、およびグループオブジェクトの「割り当て済みのユーザープロファイル」タブでこれを行います。次のようにしてユーザーの割り当てを実行できます。

DSI を使用するときには、LDAP ディレクトリサーバーとの間で多数のトラフィックが往復することになります。このため、大量のネットワークトラフィックが生成され、パフォーマンスが低下する可能性があります。LDAP 検索を使用すると、LDAP ユーザーやグループを使用する場合よりも効率的かつ柔軟です。LDAP ユーザーやグループは、できるだけ使用しないようにしてください。

LDAP ユーザーを割り当てる

次のようにして、アプリケーション、アプリケーションのグループ、またはドキュメントに LDAP ユーザーを割り当てます。

  1. SGD Administration Console の「アプリケーション」タブでオブジェクトを選択し、「割り当て済みのユーザープロファイル」タブをクリックします。
  2. 「編集可能な割り当て」テーブルの「追加」ボタンをクリックします。

    「ユーザー割り当ての追加」ウィンドウが表示されます。

  3. 「リポジトリ」のリストから、「ローカル + LDAP」を選択します。
  4. 割り当てる LDAP ユーザーの位置を指定します。

    ナビゲーションツリーまたは検索機能を使用して、LDAP ディレクトリのユーザーを検索します。

  5. 割り当てるユーザーの横にあるチェックボックスを選択し、「追加」ボタンをクリックします。

    「ユーザー割り当ての追加」ウィンドウが閉じ、「編集可能な割り当て」テーブルが LDAP ユーザーで更新されます。

または、次のコマンドを実行します。

過去のコマンド構文またはプログラムコードのスキップ$ tarantella object edit --name obj \
  --ldapusers user-dn ...

user-dn には、LDAP ディレクトリ内のユーザーの識別名 (DN) を 1 つ以上指定します。例えば、uid=Sid Cerise,ou=Finance,o=indigo-insurance.com のようにします。

複数のユーザーをオブジェクトに割り当てる場合は、LDAP 検索を使用する方が効率的です。

LDAP グループを割り当てる

次のようにして、アプリケーション、アプリケーションのグループ、またはドキュメントに LDAP グループを割り当てます。

  1. SGD Administration Console の「アプリケーション」タブでオブジェクトを選択し、「割り当て済みのユーザープロファイル」タブをクリックします。
  2. 「編集可能な割り当て」テーブルの「追加」ボタンをクリックします。

    「ユーザー割り当ての追加」ウィンドウが表示されます。

  3. 「リポジトリ」のリストから、「ローカル + LDAP」を選択します。
  4. 割り当てる LDAP グループの位置を指定します。

    ナビゲーションツリーまたは検索機能を使用して、LDAP ディレクトリのグループを検索します。

  5. 割り当てるグループの横にあるチェックボックスを選択し、「追加」ボタンをクリックします。

    「ユーザー割り当ての追加」ウィンドウが閉じ、「編集可能な割り当て」テーブルが LDAP グループで更新されます。

または、次のコマンドを実行します。

過去のコマンド構文またはプログラムコードのスキップ$ tarantella object edit --name obj \
  --ldapgroups group-dn ...

group-dn には、LDAP ディレクトリ内のグループの識別名 (DN) を 1 つ以上指定します。例えば、cn=managers,ou=Finance,o=indigo-insurance.com cn=managers,ou=Marketing,o=indigo-insurance.com のようにします。

複数のグループをオブジェクトに割り当てる場合は、LDAP 検索を使用する方が効率的です。

LDAP 検索を使用した割り当て

LDAP 検索には、RFC 2254 の検索フィルタRFC 1959 の LDAP URL を使用できます。

次のようにして、アプリケーション、アプリケーションのグループ、またはドキュメントに LDAP 検索を設定します。

  1. SGD Administration Console の「アプリケーション」タブでオブジェクトを選択し、「割り当て済みのユーザープロファイル」タブをクリックします。
  2. 「LDAP 検索」領域で、LDAP 検索を設定します。

    次のいずれかを実行します。

  3. 「保存」をクリックします。

または、次のコマンドを実行します。

過去のコマンド構文またはプログラムコードのスキップ$ tarantella object edit --name obj \
  --ldapsearch search_string ...

次の例は、Sales 部門のマネージャーおよび Violet Carson をマネージャーとする全員にアプリケーションまたはアプリケーショングループを割り当てる LDAP フィルタです。

過去のコマンド構文またはプログラムコードのスキップ--ldapsearch "(&(job=manager)(dept=Sales))" "(manager=Violet Carson)"

次の例は、indigo-insurance.com の Sales 部門のマネージャーにアプリケーションまたはアプリケーショングループを割り当てる LDAP URL です。

過去のコマンド構文またはプログラムコードのスキップ--ldapsearch "ldap:///ou=Sales,dc=indigo-insurance,dc=com??sub?job=manager"

「簡易検索」の LDAP クエリービルダーを使用すると、一般的に使用される LDAP および Active Directory 属性によって LDAP 検索を構成できます。また、SGD 認証機構に設定された検索ルートではなく、検索する LDAP ディレクトリの部分を指定するように検索ルートを選択することもできます。検索ルートを指定した場合、検索は LDAP URL としてフォーマットされます。検索ルートを指定しなかった場合、検索は LDAP フィルタとしてフォーマットされます。クエリーをビルドしているときに、検索によって返されるユーザーの一覧を確認するには「プレビュー」ボタンを使用します。これにより、想定するユーザーが検索によって返されることを確認できます。「保存」ボタンをクリックすると、検索文字列が「詳細検索」フィールドに表示されます。

使用可能な「簡易検索」属性は次のとおりです。

属性名 説明
c 2 文字の ISO 3166 国コードを含む countryName 属性。
cn オブジェクトの名前を含む commonName 属性。人物オブジェクトの場合、通常はその人のフルネームになります。
departmentNumber 部門のコードを含む属性。コードは厳密に数字のみ、または英数字になります。
l 都市や国などの地域名を含む localityName 属性。
memberOf Active Directory のユーザーを管理するために一般的に使用される属性。ユーザーが所属するグループのリストを含んでいます。
ou 組織単位の名前を含む organizationalUnitName 属性。
sn 人物の姓を含む surname 属性。

「詳細検索」フィールドを使用すると、独自の LDAP 検索フィルタか URL の入力、またはほかのツールから検索へのペーストができます。LDAP URL を入力する場合は、ldap:///search の形式を使用します。URL に指定したホスト、ポート、および戻り値の属性は、無視されます。「簡易検索」を使用すると、基本的な検索を構成してそれを保存できます (これによって簡易検索が「詳細検索」フィールドに読み込まれる)。そして「詳細検索」オプションを選択し、検索を微調整します。「プレビュー」ボタンを使用し、検索によって返されるユーザーの一覧を確認します。

「詳細検索」フィールドで「簡易検索」を微調整すると、簡易検索と互換性のない方法で編集した場合に、再び「簡易検索」として検索を編集することができなくなる場合があります。このようになった場合は、「詳細検索」フィールドをクリアーして変更を保存する必要があります。そして「簡易検索」を再ビルドします。

LDAP 割り当てを確認する

SGD Administration Console の「割り当て済みのユーザープロファイル」タブにある「有効なユーザープロファイル」タブには、アプリケーション、ドキュメント、またはグループオブジェクトに割り当てられているユーザープロファイルが表示されます。デフォルトでは、LDAP 割り当ては表示されません。LDAP 割り当てを表示させるには、テーブルにある「LDAP のロード」リンクをクリックします。テーブルの LDAP 割り当ての箇所には、オブジェクトに割り当てられている LDAP ユーザーと割り当てタイプの一覧が表示されます。割り当てタイプは、次のいずれかになります。

割り当てタイプ 説明
直接的 ユーザーは、LDAP ユーザーまたは LDAP グループ検索の結果として割り当てられています。
間接的 ユーザーは、LDAP 検索フィルタまたは URL の結果として割り当てられています。
複数 ユーザーは、「直接的」と「間接的」両方の検索結果として割り当てられています。

「有効な割り当て」テーブルの「詳細を確認」リンクをクリックすると、ユーザー割り当ての元を確認できます。

DSI のユーザープロファイルを構成する

ユーザーが LDAP 認証、Active Directory 認証、または LDAP 検索を使用したサードパーティー認証のいずれかによって認証されている場合、SGD はローカルリポジトリを検索してユーザーのユーザープロファイルを確立します。これによって、LDAP と SGD の命名体系の違いに対応することができます。SGD は、次のユーザープロファイルを、一致するものが見つかるまで検索します。

一致するユーザープロファイルがない場合は、プロファイルオブジェクト System Objects/LDAP Profile がユーザープロファイルとして使用されます。

実行できるアプリケーションに加えて、コピー&ペーストを使用する機能やクライアントプロファイルを編集する機能など、ユーザーの SGD 固有の設定を管理するためにユーザープロファイルを使用できます。デフォルトでは、すべての LDAP ユーザーは共通の SGD 固有の設定になっています。この設定は System Objects/LDAP Profile ユーザープロファイルで設定されています。ユーザーの SGD 設定をカスタマイズするには、LDAP 組織の一部をローカルリポジトリにミラー化しなければいけない場合があります。

LDAP ディレクトリを使用して Secure Global Desktop 管理者 を認証する場合は、ユーザープロファイルを作成する必要があります。

組織階層をミラー化するときは、次のことに留意してください。

次に挙げるのは、LDAP 組織をミラー化して、ユーザーに異なる SGD 設定をする方法を示した例です。

Indigo Insurance には 5 つの部門があります。IT、Sales、Marketing、Finance、および Administration です。Finance および Marketing 部門には、ほかの部門と異なる SGD 設定が必要です。Finance 部門の Sid Cerise には、Finance 部門のほかのユーザーと異なる SGD 設定が必要です。

SGD Administration Console のユーザープロファイルを扱う場合、「ユーザープロファイル」タブの「リポジトリ」リストから「ローカル + LDAP」を選択します。ローカルリポジトリにミラー化された LDAP オブジェクトが、このシンボルミラー化された LDAP オブジェクトのシンボル でツリービューに表示されます。また、作成するオブジェクトの名前属性を表示すると役立つ場合があります。SGD Administration Console の設定で名前属性の表示を有効にします。

作成するオブジェクトは、使用している LDAP ディレクトリサーバーの種類に依存します。これについては次の節で説明します。

Sun Java System Directory Server

Sun Java System Directory Server では、ローカルリポジトリにミラー化する必要のあるオブジェクトの LDAP 名と使用するオブジェクトのタイプは次のとおりです。

次のスクリーンショットは、SGD Administration Console のミラー化されたオブジェクトを示しています。

Sun ONE Directory Server を使用している場合の、組織の例を示す Administration Console のスクリーンキャプチャー

この構造が適切に配置されている場合、ローカルリポジトリに次のユーザープロファイルを作成します。

o=indigo-insurance.com/ou=Finance/uid=Sid Cerise オブジェクトには、名前属性として uid を選択するようにします。

この組織階層では、ユーザーの設定は次のようになります。

Microsoft Active Directory

Microsoft Active Directory では、ローカルリポジトリにミラー化する必要のあるオブジェクトの LDAP 名と使用するオブジェクトのタイプは次のとおりです。

ドメインコンポーネントと Active Directory コンテナを作成するには、Directory Light オブジェクトを作成して正しい名前属性を選択します。

次のスクリーンショットは、SGD Administration Console のミラー化されたオブジェクトを示しています。

Microsoft Active Directory を使用している場合の、組織の例を示す Administration Console のスクリーンキャプチャー

この構造が適切に配置されている場合、ローカルリポジトリに次のユーザープロファイルを作成します。

この組織階層では、ユーザーの設定は次のようになります。

SGD の設定を、ドメインコンポーネントおよび Active Directory コンテナオブジェクトから継承することはできません。

LDAP グループ検索を調整する

LDAP グループ検索を調整して、DSI に必要なユーザーを返すようにすることができます。このためには、SGD がどのようにグループ内のユーザーを識別するかや、SGD が入れ子のグループ (サブグループ) を検索できるかどうかを設定します。

グループメンバーシップ

SGD は、LDAP グループのメンバーを検索するときに、グループオブジェクトの uniquemembermember、および uniqueMember 属性に含まれるユーザーを検索します。

LDAP ディレクトリがほかの属性を使用してグループメンバーシップを指定している場合、これらの属性を使用するように SGD を設定できます。次の手順を実行します。

  1. SGD ホストにスーパーユーザー (root) としてログインします。
  2. SGD サーバーを停止します。
  3. 追加の属性をグループメンバーシップ属性として指定します。

    次のコマンドを使用します。

    過去のコマンド構文またはプログラムコードのスキップ# tarantella config edit \
      --com.sco.jndi.toolkit.utils.LDAPUserCollection.properties-directAttributes-append attribute ...

    複数の attribute を指定できます。各 attribute は、空白文字で区切る必要があります。

  4. SGD サーバーを起動します。
  5. アレイ内の SGD サーバーごとにこの手順を繰り返します。

SGD がユーザーを一意に識別するために十分な情報がグループメンバーシップ属性に含まれていない場合 (例: この属性にユーザーの相対識別名 (RDN) だけしか含まれていない場合)、そのグループ検索は失敗します。SGD では、ユーザーの識別に使用できる短縮名属性を 1 つ以上指定できます。ユーザーの短縮名属性の値がそのグループのグループメンバーシップ属性のいずれかにも含まれる場合、SGD はそのユーザーをグループのメンバーと見なします。短縮名属性が有効に機能するには、一意の値が含まれている必要があります。短縮名属性を設定するには、次の手順を実行します。

  1. SGD ホストにスーパーユーザー (root) としてログインします。
  2. SGD サーバーを停止します。
  3. 短縮名属性を指定します。

    次のコマンドを使用します。

    過去のコマンド構文またはプログラムコードのスキップ# tarantella config edit \
      --com.sco.jndi.toolkit.utils.LDAPUserCollection.properties-userShortAttributes-append attribute ...

    複数の attribute を指定できます。各 attribute は、空白文字で区切る必要があります。

  4. SGD サーバーを起動します。
  5. アレイ内の SGD サーバーごとにこの手順を繰り返します。

入れ子のグループ (サブグループ)

デフォルトでは、LDAP グループ検索は LDAP グループのすぐ下の階層だけを検索します。入れ子のグループ (サブグループ) が組織で使用されている場合は、より深い階層に検索範囲を広げることができます。深さの値を大きくすると、パフォーマンスが低下することがあります。次の手順を実行します。

  1. SGD ホストにスーパーユーザー (root) としてログインします。
  2. SGD サーバーを停止します。
  3. グループ検索の深さの値を大きくします。

    次のコマンドを使用します。

    過去のコマンド構文またはプログラムコードのスキップ# tarantella config edit \
      --com.sco.jndi.toolkit.utils.LDAPUserCollection.properties-maximumGroupDepth depth

    デフォルトの深さは「0」です。入れ子のグループの深さに一致するように、depth の値を増やします。

  4. SGD サーバーを起動します。
  5. アレイ内の SGD サーバーごとにこの手順を繰り返します。

LDAP キャッシュ

SGD は、LDAP ディレクトリから収集したデータをキャッシュします。SGD が変更を検出していない場合は、次のコマンドを使用して、キャッシュされたデータを手動で消去できます。

過去のコマンド構文またはプログラムコードのスキップtarantella cache --flush ldapgroups | ldapconn | ldapconn-lookups | all

このコマンドによって、コマンドを実行した SGD サーバーのキャッシュだけがフラッシュされます。

オプション 説明
ldapgroups DSI に使用されるすべての LDAP グループデータのキャッシュをフラッシュします。
ldapconn すべての IP アドレス、ドメイン、および属性データのキャッシュをフラッシュします。
ldapconn-lookups DSI に使用されるすべての LDAP 検索データのキャッシュをフラッシュします。
all すべての LDAP データをフラッシュします。

LDAP タイムアウト

LDAP ディレクトリサーバーの LDAP 検索に失敗した場合のために、LDAP タイムアウトを設定できます。LDAP タイムアウトは、データ要求などの LDAP 操作に対する LDAP ディレクトリサーバーからの応答を SGD が待機する時間を制御します。デフォルト値は 30 秒です。このタイムアウト値を変更するには、次のコマンドを実行します。

過去のコマンド構文またはプログラムコードのスキップ$ tarantella config edit --tarantella-config-ldap-timeout secs

SGD は LDAP ディレクトリサーバーとの接続を 2 回試みます。応答がない場合、SGD は別の LDAP ディレクトリサーバーを試みます。すべての LDAP ディレクトリサーバーがタイムアウトすると、SGD は DSI 割り当てを使用できなくなる可能性があります。

SGD Administration Console 設定:

SGD Administration Console には、ユーザーの識別に使用する属性など、LDAP データの表示に影響を与えるいくつかの設定があります。SGD Administration Console での LDAP の操作が想定したとおりに動作しない場合、設定を調整しなければいけない場合があります。詳細については、「SGD Administration Console 設定」を参照してください。

関連トピック