Red Hat Training

A Red Hat training course is available for Red Hat Directory Server

19.14.3. Active Directory をバックエンドとして PAM パススルー認証の使用

PAM パススルー認証では、Directory Server から PAM サービスに認証情報を転送します。1 つのオプションとして、Directory Server 専用の PAM モジュールを設定できます。また、インフラストラクチャーによっては、より再現性が高く便利な方法として、SSSD (System Security Services Daemon) を使用して PAM を設定する方法もあります。SSSD はさまざまなアイデンティティーストアを使用できるため、Active Directory などの認証情報を提供するのに多くの異なるサーバーやサービスを使用できます。
SSSD を介してパススルー認証を使用することはサービスのデイジーチェーンです。PAM PTA プラグインは通常通りに設定されます。使用する特定の PAM サービスファイルを指します。このサービスファイルは SSSD によって管理され、SSSD は複数のプロバイダーであっても必要なアイデンティティープロバイダーに接続するように設定されます。

図19.4 SSSD による PAM パススルー認証

SSSD による PAM パススルー認証
Active Directory で PAM パススルー認証を設定するには、以下を行います。
  1. Active Directory サーバーを ID プロバイダーの 1 つとして使用するように SSSD を設定します。
    この設定は、『Windows 統合ガイド』 の SSSD で Active Directory を ID プロバイダーとして使用 セクションで説明しています。
  2. PAM パススルー認証プラグインを有効にします。これはデフォルトで無効にされています。
    # ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x
    
    dn: cn=PAM Pass-Through Auth Plugin,cn=plugins,cn=config
    changetype: modify
    replace: nsslapd-pluginEnabled
    nsslapd-pluginEnabled: on
  3. PAM パススルー認証プラグイン設定エントリーを作成します。
    # ldapmodify -a -D "cn=Directory Manager" -W -p 389 -h server.example.com -x
    
    dn: cn=AD PAM PTA Config,cn=PAM Pass-Through Auth Plugin,cn=plugins,cn=config
    cn: AD PAM PTA Config
  4. pamService 属性を設定して、SSSD が管理する PAM 設定ファイルを参照します。デフォルトでは、これは /etc/pam.d/system-auth です。
    pamService: system-auth
    重要
    pam_fprintd.so モジュールは、PAM パススルー認証プラグイン設定の pamService 属性によって参照される設定ファイルにすることはできません。PAM の fprintd モジュールを使用すると、Directory Server は最大ファイル記述子制限に到達し、Directory Server プロセスが中止する可能性があります。
  5. ID マップメソッドおよび属性を設定します。Directory Server 環境に応じて、これを行う方法は複数あります。
    最も簡単な方法は、RDN マップメソッドを使用して、uid 属性(または正しい命名属性)を使用して Directory Server ユーザーを Active Directory ユーザー(Active Directory はアイデンティティープロバイダー)に戻します。
    pamIDMapMethod: RDN
    同様に、samAccountName 属性を使用して ENTRY マップメソッドで実行できます。Directory Server のユーザーアカウントが、Active Directory のユーザーアカウントの uid値と一致する samAccountName で作成されると、マッピングは成功します。
    pamIDMapMethod: ENTRY
    pamIDAttr: samAccountName
    Windows 同期が設定されている場合、ENTRY メソッドは ntUserDomainId 属性で使用できます。Directory Server および Active Directory ユーザーアカウントは、その属性値に基づいてすでに同期されているため、PAM マッピングは成功します。
    pamIDMapMethod: ENTRY
    pamIDAttr: ntUserDomainId
  6. サーバーを再起動して、新しいプラグイン設定を読み込みます。
    # systemctl restart dirsrv.target