3.2. アプリケーションの公開

組織内のアプリケーション、アプリケーションサーバー、およびユーザーを表現するオブジェクトを作成しても、それだけでユーザーが SGD を介してアプリケーションにアクセスできるわけではありません。アプリケーションを公開する必要があります。アプリケーションは、組織階層内のオブジェクト間の関係を作成することによって公開します。SGD では、これらの関係は割り当てと呼ばれます。アプリケーションを公開するには、次の手順を実行します。

割り当てには、次の種類があります。

アプリケーションサーバーへのアプリケーションの割り当ては、ローカル割り当てを使用して実行されます。

ユーザーへのアプリケーションの割り当ては、ローカル割り当て、LDAP 割り当て、またはその両方の組み合わせを使用して実行されます。

Administration Console には、割り当てを確認するためのいくつかの方法が用意されています。「割り当ての確認」を参照してください。

3.2.1. ローカル割り当て

ローカル割り当ては、ローカルリポジトリ内のオブジェクト間の関係です。

Administration Console の「アプリケーション」タブで、次のようにアプリケーションを割り当てます。

  • 「ホストしているアプリケーションサーバー」タブを使用して、アプリケーションサーバーにアプリケーションまたはアプリケーションのグループを割り当てます。

    「アプリケーションにアプリケーションサーバーを割り当てる方法」を参照してください。

    ヒント

    グループおよびアプリケーションサーバーオブジェクトの「ホストされているアプリケーション」タブからアプリケーションを割り当てることもできます。

  • 「割り当て済みのユーザープロファイル」タブを使用して、ユーザーにアプリケーションを割り当てます。

    「ユーザーにアプリケーションを割り当てる方法」を参照してください。

    ヒント

    ディレクトリおよびユーザープロファイルオブジェクトの「割り当て済みのアプリケーション」タブからアプリケーションを割り当てることもできます。

SGD は、ローカル割り当てをより管理しやすく、より効率的にするために継承を使用しています。OU およびユーザープロファイルオブジェクトは、組織階層内の親オブジェクトの割り当てや設定を継承できます。継承は、デフォルトで有効になっています。継承を使用するには、OU オブジェクト内にユーザープロファイルオブジェクトを作成し、それらの OU にアプリケーションを割り当てます。

Administration Console には、割り当てを確認するためのいくつかの方法が用意されています。「割り当ての確認」を参照してください。

3.2.1.1. アプリケーションにアプリケーションサーバーを割り当てる方法

  1. Administration Console で、「アプリケーション」タブに移動し、アプリケーションオブジェクトまたはグループオブジェクトを選択します。

    アプリケーションのグループを選択した場合は、そのグループ内のすべてのアプリケーションにアプリケーションサーバーを割り当てることができます。

    「一般」タブが表示されます。

  2. 「ホストしているアプリケーションサーバー」タブに移動します。

  3. 「編集可能な割り当て」テーブルの「追加」をクリックします。

    「アプリケーションサーバー割り当ての追加」ウィンドウが表示されます。

  4. アプリケーションサーバーまたはグループオブジェクトを検索します。

    「検索」フィールドまたはナビゲーションツリーを使用して、必要なオブジェクトを検索します。

  5. アプリケーションサーバーまたはグループオブジェクトの横にあるチェックボックスを選択し、「追加」をクリックします。

    複数のアプリケーションサーバーまたはアプリケーションサーバーのグループを選択した場合は、SGD によって、アプリケーションサーバー間の負荷分散が行われます。「負荷分散」を参照してください。

    アプリケーションサーバーのグループを選択した場合は、そのグループ内のすべてのアプリケーションサーバーが選択されます。

    「有効なアプリケーションサーバー」テーブルが、選択したアプリケーションサーバーで更新されます。

3.2.1.2. ユーザーにアプリケーションを割り当てる方法

  1. Administration Console で、「アプリケーション」タブに移動し、アプリケーションオブジェクト、OU オブジェクト、またはグループオブジェクトを選択します。

    アプリケーションのグループまたは OU を選択した場合は、ユーザーにそのグループまたは OU 内のすべてのアプリケーションを割り当てることができます。

    「一般」タブが表示されます。

  2. 「割り当て済みのユーザープロファイル」タブをクリックします。

  3. 「編集可能な割り当て」テーブルの「追加」をクリックします。

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

  4. ユーザープロファイルまたはディレクトリオブジェクトを検索します。

    「検索」フィールドまたはナビゲーションツリーを使用して、必要なオブジェクトを検索します。

    アプリケーションは、ユーザープロファイルまたはディレクトリオブジェクトに割り当てることができます。

    アプリケーションをディレクトリオブジェクトに割り当てた場合は、そのディレクトリオブジェクトに含まれるすべてのユーザープロファイルが自動的にそのアプリケーションを受け取ります。これは、継承と呼ばれます。アプリケーションをディレクトリオブジェクトに割り当てると、より効率的です。

  5. ユーザープロファイルまたはディレクトリオブジェクトの横にあるチェックボックスを選択し、「追加」をクリックします。

    「有効なユーザープロファイル」テーブルが、選択したユーザーで更新されます。

3.2.2. LDAP 割り当て

LDAP 割り当てでは、SGD の Directory Services Integration 機能を使用します。Directory Services Integration では、ローカルリポジトリの代わりに LDAP ディレクトリを使用してユーザー情報を管理します。つまり、ローカルリポジトリにユーザープロファイルオブジェクトを作成する必要はありません。

Directory Services Integration は、LDAP ディレクトリまたは Active Directory を検索することによってユーザーの識別情報が確立されているユーザーに対してのみ使用できます。つまり、ユーザーは次の認証メカニズムのいずれかによって認証される必要があります。

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

Administration Console で LDAP 割り当てを操作する場合は、操作するオブジェクトの名前属性を表示すると役立ちます。デフォルトでは、Administration Console に名前属性は表示されません。名前属性の表示は、Administration Console の「設定」で有効にします。

コピー&ペーストを使用する機能や、クライアントプロファイルを編集する機能など、LDAP ユーザーに対する SGD 固有の設定をより詳細に管理する場合は、「LDAP ミラー化」を参照してください。

Administration Console には、LDAP 割り当てを使用して、どのユーザーがアプリケーションを受け取るように設定されているかが表示されます。「割り当ての確認」を参照してください。

SGD は、取得したディレクトリデータをキャッシュします (詳細については、「ディレクトリサービスキャッシュの管理」を参照)。

LDAP 割り当ての操作に関するヒントについては、「LDAP 割り当てのトラブルシューティング」を参照してください。

3.2.2.1. LDAP ユーザーにアプリケーションを割り当てる方法

  1. SGD Administration Console で、「アプリケーション」タブに移動します。

  2. アプリケーションまたはグループオブジェクトを選択し、「割り当て済みのユーザープロファイル」タブに移動します。

    「検索」フィールドまたはナビゲーションツリーを使用して、必要なオブジェクトを検索します。

    グループオブジェクトを選択した場合は、LDAP ユーザーはそのグループ内のすべてのアプリケーションを受け取ります。

  3. 「編集可能な割り当て」テーブルの「追加」ボタンをクリックします。

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

  4. 「リポジトリ」のリストから、「ローカル + LDAP」を選択します。

  5. (オプション) 「表示」リストからサービスオブジェクトを選択します。

    デフォルトでは、サービスオブジェクトのリスト内の最初の有効なサービスオブジェクトが選択されます。「表示」リストに表示されるのは、有効になっているサービスオブジェクトのみです。「サービスオブジェクトの使用」を参照してください。

  6. オブジェクトに割り当てる LDAP ユーザーを検索します。

    「検索」フィールドまたはナビゲーションツリーを使用して、LDAP ディレクトリ内のユーザーを検索します。

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

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

    ヒント

    コマンド行では、--ldapusers オプションを使用して LDAP ユーザーを割り当てることができます。

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

3.2.2.2. LDAP グループのメンバーにアプリケーションを割り当てる方法

  1. Administration Console で、「アプリケーション」タブに移動します。

  2. アプリケーション、ドキュメント、またはグループオブジェクトを選択し、「割り当て済みのユーザープロファイル」タブに移動します。

    「検索」フィールドまたはナビゲーションツリーを使用して、必要なオブジェクトを検索します。

    グループオブジェクトを選択した場合は、LDAP グループのすべてのメンバーが、そのグループ内のすべてのアプリケーションを受け取ります。

  3. 「編集可能な割り当て」テーブルの「追加」ボタンをクリックします。

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

  4. 「リポジトリ」のリストから、「ローカル + LDAP」を選択します。

  5. (オプション) 「表示」リストからサービスオブジェクトを選択します。

    デフォルトでは、サービスオブジェクトのリスト内の最初の有効なサービスオブジェクトが選択されます。「表示」リストに表示されるのは、有効になっているサービスオブジェクトのみです。「サービスオブジェクトの使用」を参照してください。

  6. オブジェクトに割り当てる LDAP グループを検索します。

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

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

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

    ヒント

    コマンド行では、--ldapgroups オプションを使用して LDAP グループのメンバーを割り当てることができます。

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

3.2.2.3. LDAP 検索を使用してアプリケーションを割り当てる方法

  1. Administration Console で、「アプリケーション」タブに移動します。

  2. アプリケーション、ドキュメント、またはグループオブジェクトを選択し、「割り当て済みのユーザープロファイル」タブに移動します。

  3. 「LDAP 検索」領域で、LDAP 検索を設定します。

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

    • 「簡易検索」オプションを選択し、LDAP クエリービルダーを使用して LDAP 検索を構成します。

    • 「詳細検索」オプションを選択し、「LDAP URL またはフィルタ」フィールドに LDAP 検索文字列を入力します。

    詳細については、「LDAP 検索の使用」を参照してください。

    設定した検索によって期待した結果が返されるかどうかを確認するには、「プレビュー」ボタンを使用します。

    ヒント

    コマンド行では、--ldapsearch オプションを使用して LDAP 検索を構成できます。

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

3.2.2.4. LDAP 検索の使用

LDAP 検索は、次のいずれかにすることができます。

  • RFC 2254 検索フィルタ (RFC 2254 を参照)

  • RFC 1959 LDAP URL (RFC 1959 を参照)

LDAP 検索の設定として、Administration Console には「簡易検索」と「詳細検索」が用意されています。

注記

Administration Console では、RFC2254 で指定されている特殊文字が自動的にエスケープされることはありません。Administration Console で特殊文字を使用するには、エスケープシーケンスを手動で入力する必要があります。たとえば、「John Doe (123456)」という共通名を持つユーザーを検索するには、検索フィールドに cn=John Doe\0x28123456\0x29 と入力します。

SGD では、RFC2254 で指定されている拡張可能な一致検索フィルタを使用できます。これにより、オブジェクトの DN を構成しているコンポーネントから情報を検索することができます。たとえば、managers という任意の OU (ou=managers) に含まれているユーザーにアプリケーションを割り当てる場合は、(&(ou:dn:=managers)) という検索フィルタを使用できます。Active Directory では、拡張可能な検索フィルタはサポートされません。

LDAP 検索を設定するときは、「プレビュー」ボタンを使用して、検索によって期待した結果が返されることを確認します。

3.2.2.4.1. 「簡易検索」の使用

「簡易検索」では、次の一般的に使用されている LDAP と Active Directory 属性を使用して LDAP 検索を構成できます。

属性名

説明

c

2 文字の ISO 3166 国コードを含む countryName 属性。

cn

オブジェクトの名前を含む commonName 属性。人物オブジェクトの場合、通常はその人のフルネームになります。

departmentNumber

部門のコードを含む属性。このコードには、数字または英数字を指定できます。

l

都市や国などの地域名を含む localityName 属性。

memberOf

Active Directory のユーザーを管理するために一般的に使用される属性。ユーザーが所属するグループのリストが含まれています。

sn

人物の姓を含む surname 属性。

「参照」ボタンをクリックすると、「Select Root for LDAP Search」ウィンドウが表示されます。このウィンドウでは、検索ルートとして使用する LDAP オブジェクトを選択できます。サービスオブジェクトを複数設定している場合は、「表示」リストを使用して、検索ルートに使用するサービスオブジェクトを選択します。「表示」リストに表示されるのは、有効になっているサービスオブジェクトのみです。検索ルートを指定した場合、検索は LDAP URL としてフォーマットされます。検索ルートを指定しなかった場合、検索は LDAP フィルタとしてフォーマットされます。このフィルタは、有効になっているすべてのサービスオブジェクトに適用されます。

「簡易検索」を保存すると、検索文字列が「詳細検索」フィールドに表示されます。

3.2.2.4.2. 「詳細検索」の使用

「詳細検索」フィールドを使用すると、ユーザー独自の LDAP 検索フィルタまたは URL を入力したり、別のツールから検索にペーストしたりできます。

LDAP URL を入力する場合は、ldap:///search の形式を使用します。URL に指定したホスト、ポート、および戻り値の属性は無視されます。

「簡易検索」を使用すると、基本的な検索を構成してそれを保存できます。これによって簡易検索が「詳細検索」フィールドに読み込まれます。そして「詳細検索」オプションを選択し、検索を微調整します。

注記

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

3.2.3. 割り当ての確認

Administration Console を使用すると、次のように割り当てを確認できます。

  • アプリケーション、ドキュメント、グループ、および OU オブジェクトの「割り当て済みのユーザープロファイル」タブ - 「有効なユーザープロファイル」テーブルに、アプリケーションが割り当てられているユーザーが表示されます。

  • ユーザープロファイル、OU、および組織オブジェクトの「割り当て済みのアプリケーション」タブ - 「有効なアプリケーション」テーブルに、ユーザーに割り当てられているアプリケーションが表示されます。

  • アプリケーションおよびグループオブジェクトの「ホストしているアプリケーションサーバー」タブ - 「有効なアプリケーションサーバー」テーブルに、アプリケーションを実行できるアプリケーションサーバーが表示されます。

  • アプリケーションサーバーおよびグループオブジェクトの「ホストされているアプリケーション」タブ - 「有効なアプリケーション」テーブルに、アプリケーションサーバー上で実行できるアプリケーションが表示されます。

  • グループオブジェクトの「メンバー」タブ - 「有効なメンバー」テーブルに、グループのメンバーが表示されます。

デフォルトでは、LDAP 割り当ては表示されません。LDAP 割り当てを表示するには、有効な割り当てテーブルにある「LDAP のロード」リンクをクリックします。

有効な割り当てテーブルを使用すると、割り当ての発生元 (割り当てが、継承、グループメンバーシップ、LDAP 検索のどの結果であるか) をトレースできます。

3.2.4. LDAP グループ検索の調整

次のトピックでは、LDAP 割り当てで必要なユーザーを返すように LDAP グループ検索を調整する方法を示します。

3.2.4.1. より深い階層にグループ検索の範囲を広げる

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

より深い階層に検索範囲を広げるには、次のコマンドを使用します。

$ tarantella config edit \
--tarantella-config-ldap-nested-group-depth depth

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

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

SGD は、LDAP ユーザーオブジェクトと LDAP グループオブジェクトの属性を検索することによって、グループメンバーシップを確立します。LDAP グループオブジェクトの前に、LDAP ユーザーオブジェクトが確認されます。

ユーザーグループメンバーシップ属性は、LDAP ユーザーオブジェクトの属性で、ユーザーが属するグループを一覧表示します。デフォルトでは、SGD はグループを、LDAP ユーザーオブジェクトの isMemberOfnsrolednmemberOf 属性で検索します。ユーザーグループメンバーシップ属性を設定するには、次のコマンドを使用します。

$ tarantella config edit \
--tarantella-config-ldap-object-member-attributes attribute ...

複数の attribute を指定できます。各 attribute は空白文字で区切る必要があります。デフォルト属性の isMemberOfnsrolednmemberOf は必ずリストに含めるようにしてください。

グループユーザーメンバーシップ属性は、LDAP グループオブジェクトの属性で、グループに属するユーザーを一覧表示します。デフォルトでは、SGD はユーザーを、LDAP グループオブジェクトの uniquemember および member 属性で検索します。グループユーザーメンバーシップ属性を設定するには、次のコマンドを使用します。

$ tarantella config edit \
--tarantella-config-ldap-group-member-attributes attribute ...

複数の attribute を指定できます。各 attribute は空白文字で区切る必要があります。デフォルト属性の uniquemember および member は必ずリストに含めるようにしてください。

3.2.4.3. 短縮属性

グループメンバーシップ属性にユーザーの DN が含まれていない場合、グループ検索は失敗します。

ユーザーの識別に使用できる短縮属性を検索するように SGD を構成することができます。短縮属性が有効に機能するには、一意の値が含まれている必要があります。短縮属性は、LDAP ユーザーオブジェクトまたは LDAP グループオブジェクトに設定できます。

LDAP ユーザーオブジェクトの短縮属性を検索するように SGD を構成するには、次のコマンドを使用します。

$ tarantella config edit \
--tarantella-config-ldap-object-short-attributes attribute ...

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

LDAP グループオブジェクトの短縮属性を検索するように SGD を構成するには、次のコマンドを使用します。

# tarantella config edit \
--tarantella-config-ldap-group-short-attributes attribute ...

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

3.2.4.4. Active Directory グループ検索の時間の短縮

Active Directory ユーザーのグループ検索の時間を短縮するために、Active Directory ユーザーオブジェクトの tokenGroups プロパティーを使用して検索するように SGD を構成できます。tokenGroups を使用すると、グループメンバーシップが複雑に入れ子になっていて、メンバーシップ属性が存在しない Active Directory 環境において、Webtop の生成時間を削減できます。

tokenGroups プロパティーを使用するように SGD を構成するには、次のコマンドを使用します。

# tarantella config edit \
--tarantella-config-ad-support-token-groups 1

「グループメンバーシップ属性」で説明するように、LDAP グループユーザーメンバーシップ属性の使用に加えて、tokenGroups を使用した検索が実行されます。グループ検索の時間をさらに短縮するために、グループユーザーメンバーシップ属性を使用した検索を無効にすることができます。次のコマンドを使用します。

$ tarantella config edit \
--tarantella-config-ldap-group-member-attributes ""

このコマンドによって、tokenGroups を使用しないグループ検索がすべて無効になることに注意してください。

3.2.5. ディレクトリサービスキャッシュの管理

SGD は、取得したディレクトリサービスデータをキャッシュします。

SGD が変更を検出していない場合は、tarantella cache コマンドを使用してキャッシュを手動で、フラッシュ、更新、または取り込むことができます。

グループデータのキャッシュを更新するには、次のコマンドを使用します。

$ tarantella cache --refresh ldapgroups

このコマンドを実行すると、SGD は LDAP グループのキャッシュを検索し、各 LDAP グループのメンバーシップのディレクトリをクエリーし、ユーザーのリストをキャッシュに追加します。

グループデータをキャッシュに追加するには、次のコマンドを使用します。

$ tarantella cache --populate ldapgroups

このコマンドを実行すると、SGD は LDAP グループの割り当てを使用したオブジェクトについてローカルリポジトリを検索し、その LDAP グループをキャッシュに追加します。その後、SGD は各 LDAP グループのメンバーシップについてディレクトリをクエリーし、そのユーザーのリストをキャッシュに追加します。

キャッシュからグループデータを削除するには、次のコマンドを使用します。

$ tarantella cache --flush ldapgroups

キャッシュから LDAP 検索データを削除するには、次のコマンドを使用します。

$ tarantella cache --flush ldapconn-lookups

すべての LDAP 接続をリセットするには、次のコマンドを使用します。

$ tarantella cache --flush ldapconn

キャッシュからすべての LDAP データを削除するには、次のコマンドを使用します。

$ tarantella cache --flush all

デフォルトでは、SGD はグループデータをキャッシュに 4300 秒間 (12 時間) 保持します。LDAP データの変更頻度に応じて、SGD がグループデータを保持する期間を変更することをお勧めします。これを実行するには、次のコマンドを使用します。

# tarantella config edit \
--tarantella-config-ldap-ldapgroups-timeout secs

3.2.6. LDAP 割り当てのトラブルシューティング

LDAP グループ検索によって期待した結果が返されない場合は、「LDAP グループ検索の調整」を参照してください。

SGD は、LDAP ディレクトリから収集したデータをキャッシュします。SGD が変更を検出していない場合は、キャッシュされたデータを手動で消去できます。「ディレクトリサービスキャッシュの管理」を参照してください。

LDAP ディレクトリの LDAP 検索に失敗した場合のために、LDAP タイムアウトを設定できます。「LDAP 操作のタイムアウト」を参照してください。

LDAP 割り当てに関する問題の診断に役立てるために、次のログフィルタを設定してください。

server/webtop/*:ldapwebtop%%PID%%.log
server/webtop/*:ldapwebtop%%PID%%.jsl
server/directoryservices/*:ldapwebtop%%PID%%.log
server/directoryservices/*:ldapwebtop%%PID%%.jsl

ログフィルタの設定および使用の詳細については、「ログフィルタを使用した SGD サーバーのトラブルシューティング」を参照してください。

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