Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

13.2.11. ドメインの作成: LDAP

LDAP ドメインは、SSSD が LDAP ディレクトリーをアイデンティティープロバイダーとして使用すること(およびオプションで認証プロバイダーとして使用する)ことを意味します。SSSD は、主要なディレクトリーサービスを複数サポートします。
  • Red Hat Directory Server
  • OpenLDAP
  • Identity Management(IdM または IPA)
  • Microsoft Active Directory 2008 R2
注記
一般的な LDAP アイデンティティープロバイダーで利用可能なパラメーターはすべて、LDAP プロバイダーのサブセットである Identity Management および Active Directory アイデンティティープロバイダーでも利用できます。

LDAP ドメインを設定するためのパラメーター

LDAP ディレクトリーは、アイデンティティープロバイダーと認証プロバイダーの両方として機能します。この設定には、LDAP サーバーのユーザーディレクトリーを特定して接続するための十分な情報が必要ですが、これらの接続パラメーターの定義方法は柔軟性があります。
LDAP サーバーへの接続に使用するユーザーアカウントを指定する場合や、パスワード操作に異なる LDAP サーバーを使用する場合など、より詳細な制御を可能にする他のオプションも使用できます。最も一般的なオプションは、表13.8「LDAP ドメイン設定パラメーター」 に記載されています。
注記
サーバー側のパスワードポリシーは常に、クライアント側から有効になっているポリシーよりも優先されます。たとえば、ldap_pwd_policy=shadow オプションを設定する場合、ユーザーの shadow LPAD 属性で定義したポリシーは、OpenLDAP サーバーでパスワードポリシーが有効であるかどうかには影響しません。
ヒント
その他の多くのオプションは、LDAP ドメイン設定 sssd-ldap(5) の man ページに記載されています。

表13.8 LDAP ドメイン設定パラメーター

パラメーター 説明
ldap_uri SSSD が接続する LDAP サーバーの URI のコンマ区切りリストを指定します。一覧は優先順に指定されるため、一覧の最初のサーバーが最初に試行されます。追加のサーバーを一覧表示すると、フェイルオーバーの保護が提供されます。これは、DNS SRV レコードが指定されない場合は検出できます。
ldap_search_base
LDAP ユーザー操作の実行に使用するベース DN を指定します。
重要
正しく使用しないと、ldap_search_base により SSSD ルックアップが失敗する可能性があります。
AD プロバイダーでは、ldap_search_base を設定する必要はありません。AD プロバイダーは必要な情報をすべて自動的に検出します。Red Hatnbsp;Hat は、この状況でパラメーターを設定せず、代わりに AD プロバイダーが検出するものに依存することを推奨します。
ldap_tls_reqcert TLS セッションで SSL サーバー証明書を確認する方法を指定します。4 つのオプションがあります。
  • 証明書の要求を無効にし ない でください。
  • 証明書を要求 できるよう にしますが、証明書が指定されていないか、不正な証明書が指定されていない場合でも、通常通りに続行されます。
  • 証明書をリクエストして、証明書が指定されていない場合には通常続行されます。適切でない証明書を指定すると、セッションは終了します。
  • マンと ハード のオプションは同じです。これには、有効な証明書が必要です。またはセッションを終了する必要があります。
デフォルトは hard です。
ldap_tls_cacert SSSD が認識するすべての CA の CA 証明書が含まれるファイルに完全パスおよびファイル名を指定します。SSSD は、これらの CA が発行する証明書を受け入れます。
明示的に指定されていない場合は、OpenLDAP システムのデフォルトを使用します。
ldap_referrals SSSD が LDAP 参照を使用するかどうかを設定します。つまり、クエリーを LDAP データベースから別の LDAP データベースに転送します。SSSD は、データベースレベルおよびサブツリー参照をサポートします。同じ LDAP サーバー内の参照元では、SSSD はクエリーされるエントリーの DN を調整します。異なる LDAP サーバーを参照する参照の場合、SSSD は DN で完全に一致します。この値を true に設定すると参照元が有効になります。これがデフォルトです。
参照元の追跡試行に費やされた時間が原因で、全体のパフォーマンスに悪影響を及ぼす可能性があります。リファーラルチェックを無効にすると、パフォーマンスが大幅に向上します。
ldap_schema ユーザーエントリーの検索時に使用するスキーマのバージョンを設定します。これには、rfc2307rfc2307bisad、または ipa を指定できます。デフォルトは rfc2307 です。
RFC 2307 では、グループオブジェクトは多値属性 memberuid を使用します。これは、そのグループに属するユーザーの名前を一覧表示します。RFC 2307bis では、グループオブジェクトは、ユーザーまたはグループエントリーの完全な識別名(DN)を含む member 属性を使用します。RFC 2307bis は、member 属性を使用してネスト化されたグループを許可します。これらの異なるスキーマはグループメンバーシップに異なる定義を使用するため、SSSD で誤った LDAP スキーマを使用すると、適切なパーミッションが設定されていてもネットワークリソースの表示と管理に悪影響を及ぼす可能性があります。
たとえば、RFC 2307bis の場合、ネスト化されたグループまたはプライマリー/セカンダリーグループを使用する場合にすべてのグループが返されます。
$ id
uid=500(myserver) gid=500(myserver) groups=500(myserver),510(myothergroup)
SSSD が RFC 2307 スキーマを使用している場合は、プライマリーグループのみが返されます。
この設定は、SSSD がグループメンバーを決定する方法にのみ影響します。実際のユーザーデータは変更されません。
ldap_search_timeout LDAP 検索がキャンセルされ、キャッシュされた結果が返されるまでの実行時間を秒単位で設定します。
LDAP 検索がタイムアウトすると、SSSD は自動的にオフラインモードに切り替わります。
ldap_network_timeout 接続試行に失敗した後に SSSD が LDAP サーバーのポーリングを試みる時間を秒単位で設定します。デフォルトは 6 秒です。
ldap_opt_timeout サーバーから応答が受信されない場合に、同期 LDAP 操作を中止するまでの待機時間を秒単位で設定します。このオプションは、SASL バインドの場合の KDC との通信時にタイムアウトを制御します。デフォルトは 5 秒です。

LDAP ドメインの例

LDAP 設定は、特定の環境や SSSD の動作に応じて柔軟性が非常に高くなります。以下は LDAP ドメインの一般的な例ですが、SSSD 設定はこれらの例に限定されません。
注記
ドメインエントリーの作成に加えて、sssd.conf ファイルのクエリーを行う SSSD のドメイン一覧に新しいドメインを追加します。以下に例を示します。
domains = LOCAL,LDAP1,AD,PROXYNIS

例13.2 基本的な LDAP ドメイン設定

LDAP ドメインには 3 つの項目が必要です。
  • LDAP サーバー
  • 検索ベース
  • セキュアな接続を確立する方法
最後の項目は LDAP 環境によって異なります。SSSD は機密情報を処理するため、安全な接続が必要です。この接続は専用の TLS/SSL 接続にすることも、Start TLS を使用できます。
専用の TLS/SSL 接続を使用すると LDAPS 接続を使用してサーバーに接続するため、ldap_uri オプションの一部として設定されます。
# An LDAP domain
[domain/LDAP]
cache_credentials = true

id_provider = ldap
auth_provider = ldap

ldap_uri = ldaps://ldap.example.com:636
ldap_search_base = dc=example,dc=com
TLS を使用するには、セキュアでないポートでセキュアな接続を確立するために証明書情報を入力する方法が必要です。これは、ldap_id_use_start_tls オプションを使用して Start TLS を使用し、ldap_tls_cacert オプションを使用して SSL サーバー証明書を発行した CA 証明書を特定します。
# An LDAP domain
[domain/LDAP]
cache_credentials = true

id_provider = ldap
auth_provider = ldap

ldap_uri = ldap://ldap.example.com
ldap_search_base = dc=example,dc=com
ldap_id_use_start_tls = true
ldap_tls_reqcert = demand
ldap_tls_cacert = /etc/pki/tls/certs/ca-bundle.crt