過去のナビゲーションリンクのスキップSecure Global Desktop 4.40 管理者ガイド > ユーザーと認証 > LDAP 認証

LDAP 認証

LDAP 認証を使用すると、LDAP ディレクトリにエントリがあるユーザーは SGD にログインできます。

デフォルトでは、この認証機構は無効になっています。

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

LDAP 認証の動作

SGD のログイン画面で、ユーザーは共通名 (たとえば Indigo Jones)、ユーザー名 (たとえば indigo)、または電子メールアドレス (たとえば indigo@indigo-insurance.com) とパスワードのいずれかを入力します。

SGD は、LDAP ディレクトリを検索して、cn (共通名) 属性が、ユーザーによって入力されたユーザー名と一致する人物オブジェクトを探します。一致する人物オブジェクトがない場合、uid (ユーザー名) 属性を対象に、最後に mail (電子メールアドレス) 属性を対象に検索を繰り返します。一致する人物オブジェクトがない場合は、次の認証機能が試されます。

人物オブジェクトが見つかった場合、ユーザーが入力したパスワードを、LDAP 人物オブジェクトと照合します。認証が失敗した場合は、次の認証機構が試されます。

認証が成功した場合、SGD はローカルリポジトリを検索してユーザープロファイルを探します (次のセクションを参照)。ユーザープロファイルの「ログイン」属性が有効になっていない場合、ユーザーはログインできず、以降の認証機構は試行されません。ユーザープロファイルの「ログイン」属性が有効になっている場合、ユーザーはログインできます。

ユーザーの識別情報とユーザープロファイル

ユーザーの識別情報は、LDAP 識別情報です。SGD Administration Console では、ユーザーの識別情報は LDAP-ID (LDAP) として表示されます。コマンド行では、ユーザーの識別情報は .../_service/sco/tta/ldapcache/LDAP-ID として表示されます。

SGD は、ローカルリポジトリを検索することによってユーザープロファイルを確立します。LDAP と SGD の命名体系の差に対応することができます。SGD は、次のユーザープロファイルを、一致するものが見つかるまで検索します。

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

Active Directory 認証は、Directory Services Integration とともに使用できます。Active Directory ユーザーに割り当てられるアプリケーションは、ユーザープロファイルと LDAP 検索の組み合わせに基づいて決められます。

アプリケーションセッションとパスワードキャッシュエントリ

アプリケーションセッションとパスワードキャッシュエントリは、LDAP 人物オブジェクトに属します。

LDAP 認証の有効化

LDAP 認証を有効にする前に、アレイ内のすべての SGD サーバーが、認証に使用される各 LDAP ディレクトリサーバーに接続できることを確認してください。

  1. SGD Administration Console で、Secure Global Desktop Authentication Configuration Wizard を表示します。

    「グローバル設定」の「Secure Global Desktop 認証」タブで、「Secure Global Desktop 認証を変更」ボタンをクリックします。

    ウィザードの手順の間を移動するには、「次へ」および「前へ」ボタンを使用します。

  2. 「サードパーティー/システム認証」 の手順で、「システム認証」チェックボックスが選択されていることを確認します。
  3. 「システム認証 - リポジトリ」の手順で、「LDAP/Active Directory」チェックボックスを選択します。
  4. 「LDAP リポジトリの詳細」の手順で、LDAP ディレクトリの詳細を設定します。
    1. 「リポジトリタイプ」で、「LDAP」オプションを選択します。Microsoft Active Directory サーバーを使用している場合でも、このオプションを選択してください。
    2. 「URL」フィールドに、1 つ以上の LDAP ディレクトリサーバーの URL を入力します (例: ldap://melbourne.indigo-insurance.com)。
      • 各 URL の入力後に、Return キーを押します。
      • 複数の URL が存在する場合、SGD は記載されている順に URL を使用します。リスト内の最初の LDAP ディレクトリサーバーを使用できない場合に、次の LDAP ディレクトリサーバーの使用が試みられます。
      • LDAP ディレクトリサーバーへのセキュア接続を使用するには、ldaps:// URL を使って LDAP ディレクトリサーバーのルート証明書をインストールします
      • LDAP ディレクトリサーバーへの接続に使用する標準ポートは、ポート 389 です。LDAP ディレクトリサーバーが別のポートを使用する場合は、そのポート番号を URL に含めて指定します (例: ldap://melbourne.indigo-insurance.com:5678)。
      • サーチルートを URL の最後に追加して (例: ldap://melbourne.indigo-insurance.com/dc=indigo-insurance,dc=com)、ユーザー識別情報の検索に使用する LDAP ディレクトリの部分を制限します。
    3. 「User Name」および「Password」フィールドに LDAP ユーザーの詳細情報を入力します。
      • ユーザー名は、ユーザーの識別名でなければなりません (たとえば、cn=sgd-user,cn=Users,dc=indigo-insurance,dc=com)。
      • 一部の LDAP ディレクトリサーバーでは匿名ログインがサポートされるため、ユーザー名やパスワードを入力する必要はありません。その他 (Microsoft Active Directory など) の場合は、LDAP ディレクトリの検索権限を有するユーザーのユーザー名とパスワードを入力する必要があります。
      • 入力できるユーザー名とパスワードは 1 組だけであるため、このユーザーが「URL」フィールドに記載されたすべての LDAP ディレクトリサーバーを検索できる必要があります。
      • SGD LDAP 認証用の特別な LDAP ユーザーを作成することもできます。
  5. 「選択項目の確認」の手順で、認証の設定を確認して、「終了」をクリックします。

LDAP 認証とパスワードの有効期限

LDAP 認証を使用している場合は、LDAP ディレクトリサーバー上でユーザーのパスワードの有効期限が切れていたら、SGD はユーザーに新規パスワードの入力を求めることができます。次の手順に従って、追加の設定が必要になることがあります。

Sun Java System Directory Server (以前の Sun ONE、Netscape ソフトウェア、または iPlanet Directory Server) Sun One Directory Server の場合:

Microsoft Active Directory の場合、パスワードの有効期限 (次回ログオン時にパスワードの変更をユーザーに強制することも含む) を処理できるのは、SGD サーバーと Active Directory サーバーとの間にセキュア接続が存在するときだけです。詳細は、「LDAP ディレクトリサーバーへの接続の保護」を参照してください。

SGD にログインできる LDAP ユーザーの制限

LDAP 認証が有効になっていると、LDAP ディレクトリ内にエントリを持つ任意のユーザーが SGD にログインできます。ただし、SGD にアクセスできる LDAP ユーザーを制限しなければならない場合もあります。

SGD にログインできる LDAP ユーザーを制限するには、検索フィルタを設定して、LDAP 人物オブジェクトに必要な属性値が設定されているユーザーだけが SGD にログインできるようにします。このようにするには、LDAP ディレクトリと SGD に追加の設定を行う必要があります。

LDAP ディレクトリの設定

SGD でフィルタを適用するには、LDAP ディレクトリサーバーで人物オブジェクトの属性値を検査できるようにする必要があります。このとき、LDAP ディレクトリにすでに存在する属性を使用する方法と、allowsgdlogin のように新しい属性を作成する方法があります。この属性は、LDAP ディレクトリ内のすべてのユーザーに設定されている必要があります。

LDAP 検索フィルタの設定

LDAP ユーザーオブジェクトの属性を設定したら、検索フィルタを設定します。この検索フィルタでは、LDAP 属性を検査して、条件を満たすユーザーだけがログインできるようにします。

検索フィルタを設定するには、次の手順を行います。

  1. スーパーユーザー (root) としてログインします。
  2. SGD サーバーを停止します。
  3. 次のコマンドを使用します。
    過去のコマンド構文またはプログラムコードのスキップ# tarantella config edit \
      --searchldapla.properties-searchFilter (&({0}={1})(attribute_test))

    次に例を示します。

    過去のコマンド構文またはプログラムコードのスキップ# tarantella config edit \
      --searchldapla.properties-searchFilter (&({0}={1})(allowsgdlogin=true))
  4. Secure Global Desktop サーバーを起動します。
  5. アレイ内の SGD サーバーごとにこの手順を繰り返します。

フィルタが有効になると、検索フィルタに一致するユーザーだけが SGD にログインできるようになります。

LDAP キャッシュ

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

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

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

オプション 説明
ldapgroups Directory Services Integration に使用されるすべての LDAP グループデータのキャッシュをフラッシュします。
ldapconn すべての IP アドレス、ドメイン、および属性データのキャッシュをフラッシュします。
ldapconn-lookups Directory Services Integration に使用されるすべての 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 ディレクトリサーバーのリストは、LDAP 認証のために設定された URL に基づいて決められます。すべての LDAP ディレクトリサーバーがタイムアウトすると、SGD はユーザーを認証したり、Directory Services Integration (DSI) を使用したりできなくなる可能性があります。

関連トピック