過去のナビゲーションリンクのスキップSecure Global Desktop 4.40 管理者ガイド > ユーザーと認証 > LDAP ユーザーが SGD にログインできない場合

LDAP ユーザーが SGD にログインできない場合

LDAP 認証を使用していて、LDAP ユーザーが SGD にログインできないことに気付いた場合は、次のチェックリストを使用して問題の原因を特定してください。それでも問題を解決できない場合は、次のログフィルタを使用してください。

過去のコマンド構文またはプログラムコードのスキップserver/login/*:destination
server/ldap/*:destination

server/login/* フィルタを使用すると、LDAP ユーザーがログインしようとした場合の処理を確認できます。server/ldap/* フィルタを使用すると、LDAP ディレクトリへの接続に関するエラーを確認できます。

チェック項目
LDAP 認証は有効になっていますか。 LDAP 認証が有効になっていないと、SGD で LDAP ディレクトリサーバーを使用することはできません。
LDAP ディレクトリサーバーの URL は正しいですか。 LDAP 認証を使用するには、各 SGD サーバーが、指定の URL で LDAP ディレクトリサーバーに接続できる必要があります。

各 URL について次の点を確認します。

  • 各 URL が有効な LDAP ディレクトリサーバーを参照しているかどうか。
  • URL で LDAP ディレクトリサーバーの完全修飾名が使用されているかどうか。
  • LDAP ディレクトリサーバーが標準以外のポートで待機している場合、LDAP ディレクトリサーバーが待機しているポート番号が URL に含まれているかどうか。
  • アレイ内のすべての SGD サーバーが、指定した URL の LDAP ディレクトリサーバーに接続しているかどうか。SGD サーバーから LDAP ディレクトリサーバーに telnet 接続できるかどうか。
  • サーチルートを使用して LDAP ディレクトリの検索開始位置を制限した場合は、サーチルートが正しいかどうかを確認してください。
  • ログファイルは、LDAP ディレクトリサーバーへの接続がタイムアウトしていることを示しているか。LDAP タイムアウトの値を大きくしてみてください。

Sun™ ONE (以前の Netscape または iPlanet) Directory Server の場合は、ローカルリポジトリ内の名前を LDAP 名に正しくマップするための追加の設定が必要な場合もあります。たとえば、LDAP ディレクトリで c=country,o=org,ou=office という構造を使用しており、o=org,c=country 以下の検索だけを許可するよう設定されているとします。ローカルリポジトリの構造が o=org,ou=office である場合、SGD は o=org を使用して LDAP ディレクトリを検索し、失敗します。この問題は次のように解決します。

  1. SGD サーバーを停止します。
  2. 次のコマンドを実行します。
    過去のコマンド構文またはプログラムコードのスキップ$ tarantella config edit \
      --com.sco.tta.server.login.ens.LdapProfileCandidateAuthority.properties-ensMapping search_root
    ここで、search_root には c=country などを指定します。
  3. SGD Administration Console またはコマンド行を使用して、LDAP ディレクトリサーバーのサーチルートを変更します。たとえば、ldap://server_URL/o=org,c=country とします。
  4. SGD サーバーを起動します。
  5. アレイ内の SGD サーバーごとにこの手順を繰り返します。
LDAP ディレクトリサーバーのユーザー名とパスワードは正しいですか。 一部の LDAP ディレクトリサーバーでは匿名ログインがサポートされるため、ユーザー名やパスワードを入力する必要はありません。その他 (Microsoft Active Directory など) の場合は、LDAP ディレクトリの検索権限を有するユーザーのユーザー名とパスワードを入力する必要があります。
LDAP ディレクトリサーバーにセキュア接続を使用している場合は、セキュア接続が正しく設定されていますか。

次の項目を確認してください。

  • LDAP ディレクトリサーバーの URL が ldaps:// で始まっているかどうか。
  • SGD セキュリティーサービスが実行されているかどうか。
    tarantella status コマンドを使用して確認してください。
  • 各 LDAP ディレクトリサーバーのルート証明書が、各 SGD サーバーの cacerts キーストアにインポートされているか。
  • Microsoft Active Directory を使用している場合、各 Secure Global Desktop サーバーに有効なクライアント証明書が存在するかどうか。

詳細は、「LDAP ディレクトリサーバーへの接続の保護」を参照してください。

ユーザーを検出するための正しい情報が SGD により提供されていますか。 SGD では、LDAP ディレクトリからユーザーを検索するときに、次の属性が使用されます。
  • cn
  • uid
  • mail
  • userPrincipalName
  • sAMAccountName

これらの属性でユーザーを特定できない場合は、次のように属性を追加できます。

この手順を実行する場合は注意が必要です。手順を誤ると、すべてのユーザーがログインできなくなる可能性があります。

  1. スーパーユーザー (root) としてログインします。
  2. SGD サーバーを停止します。
  3. 次のコマンドを使用します。
    過去のコマンド構文またはプログラムコードのスキップ# tarantella config edit \
      --searchldapla.properties-searchAttributes-append attributes
    複数の属性を指定できます。各属性は、空白文字で区切る必要があります。デフォルトの属性は、cn, uid, mail, userPrincipalName, sAMAccountName です。
  4. SGD サーバーを起動します。
  5. アレイ内の SGD サーバーごとにこの手順を繰り返します。
最近の LDAP 設定の変更が反映されていますか。 LDAP データベースの設定を変更した場合、変更が反映されるまで待つことをお勧めします。

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

関連トピック