Red Hat Training

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

7.3. SSSD の ID および認証プロバイダーの設定

7.3.1. SSSD の ID プロバイダーおよび認証プロバイダーの概要

SSSD ドメイン。ID プロバイダーおよび認証プロバイダー

ID および認証プロバイダー は、SSSD 設定ファイルで ドメイン として設定されます。1 つのドメインを以下のように使用することができます。
  • アイデンティティープロバイダー (ユーザー情報用)
  • 認証プロバイダー (認証要求用)
  • アクセス制御プロバイダー (承認要求用)
  • (対応するすべての操作が単一のサーバー内で実行する場合の) これらのプロバイダーの組み合わせ
SSSD に複数のドメインを設定できます。少なくとも 1 つのドメインを設定する必要があります。設定しないと、SSSD は起動しません。
/etc/sssd/sssd.conf ファイルの access_provider オプションは、ドメインに使用されるアクセス制御プロバイダーを設定します。デフォルトでは、オプションは を 許可 し、常にすべてのアクセスを許可します。詳細は sssd.conf(5) の man ページを参照してください。

プロキシープロバイダー

プロキシープロバイダーは、SSSD と、SSSD が使用できないリソースとの間の中間リレーとして機能します。プロキシープロバイダーを使用する場合、SSSD はプロキシーサービスに接続し、プロキシーは指定されたライブラリーを読み込みます。
プロキシープロバイダーを使用して、SSSD を以下を使用するように設定できます。
  • 指紋スキャナーなどの別の認証方法
  • NIS などのレガシーシステム
  • /etc/passwd およびリモート認証で定義されたローカルシステムアカウント

ID プロバイダーおよび認証プロバイダーの利用可能な組み合わせ

表7.1 ID プロバイダーおよび認証プロバイダーの利用可能な組み合わせ

ID プロバイダー 認証プロバイダー
Identity Management [a] Identity Management [a]
Active Directory [a] Active Directory [a]
LDAP LDAP
LDAP Kerberos
proxy proxy
proxy LDAP
proxy Kerberos
[a] LDAP プロバイダータイプの拡張
このガイドでは、すべてのプロバイダータイプについて説明しているわけではないことに注意してください。詳細情報は、以下の追加リソースを参照してください。

7.3.2. SSSD の LDAP ドメインの設定

前提条件

  • SSSD をインストールします。
    # yum install sssd

LDAP ドメインを検出するように SSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. LDAP ドメインの [domain] セクションを作成します。
    [domain/LDAP_domain_name]
  3. LDAP サーバーをアイデンティティープロバイダー、認証プロバイダー、またはその両方として使用するかどうかを指定します。
    1. LDAP サーバーをアイデンティティープロバイダーとして使用するには、id_provider オプションを ldap に設定します。
    2. LDAP サーバーを認証プロバイダーとして使用するには、auth_provider オプションを ldap に設定します。
    たとえば、両方に LDAP サーバーを使用するには、以下を実行します。
    [domain/LDAP_domain_name]
    id_provider = ldap
    auth_provider = ldap
  4. LDAP サーバーを指定します。以下のいずれかを選択します。
    1. サーバーを明示的に定義するには、ldap_uri オプションでサーバーの URI を指定します。
      [domain/LDAP_domain_name]
      id_provider = ldap
      auth_provider = ldap
      
      ldap_uri = ldap://ldap.example.com
      ldap_uri オプションは、サーバーの IP アドレスも受け入れます。ただし、サーバー名の代わりに IP アドレスを使用すると、TLS/SSL 接続が失敗する場合があります。Red Hat ナレッジベースのConfiguring an SSSD Provider to Use an IP Address in the Certificate Subject Nameを参照してください。
    2. DNS サービス検出を使用してサーバーを動的に検出するように SSSD を設定するには、「DNS サービスディスカバリーの設定」 を参照してください。
    必要に応じて、ldap_backup_uri オプションでバックアップサーバーを指定します。
  5. ldap_search_base オプションで LDAP サーバーの検索ベースを指定します。
    [domain/LDAP_domain_name]
    id_provider = ldap
    auth_provider = ldap
    
    ldap_uri = ldap://ldap.example.com
    ldap_search_base = dc=example,dc=com
  6. LDAP サーバーへのセキュアな接続を確立する方法を指定します。TLS 接続を使用することが推奨されます。これを行うには、ldap_id_use_start_tls オプションを有効にし、以下の CA 証明書関連のオプションを使用します。
    • ldap_tls_reqcert は、クライアントがサーバー証明書を要求するかどうか、および証明書で実行されるチェックを行うかどうかを指定します
    • ldap_tls_cacert 証明書を含むファイルを指定します。
    [domain/LDAP_domain_name]
    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
    注記
    SSSD は、認証に暗号化されたチャンネルを常に使用します。これにより、暗号化されていないネットワーク上でパスワードが送信されなくなります。ldap_id_use_start_tls = true を使用すると、ID ルックアップ( id ユーティリティーまたは getent ユーティリティーに基づくコマンドなど)も暗号化されます。
  7. [sssd] セクションの domains オプションに新しいドメインを追加します。このオプションは、SSSD がクエリーするドメインを一覧表示します。以下に例を示します。
    domains = LDAP_domain_name, domain2

関連情報

上記の手順は、LDAP プロバイダーの基本オプションを示しています。詳細は、以下を参照してください。
  • sssd.conf(5) の man ページ。ここでは、すべてのタイプのドメインで利用可能なグローバルオプションを説明します。
  • sssd-ldap(5) の man ページ。ここでは、LDAP に固有のオプションを説明します。

7.3.3. SSSD のファイルプロバイダーの設定

files プロバイダーは、/etc/passwd および /etc/groups ファイルの内容をミラーリングし、SSSD でこれらのファイルからのユーザーおよびグループを利用できるようにします。これにより、sss データベースを、/etc/nsswitch.conf ファイルのユーザーおよびグループの最初のソースとして設定できます。
passwd:     sss files
group:      sss files
この設定では、files プロバイダーが /etc/sssd/sssd.conf に設定されている場合、Red Hat Enterprise Linux は最初にユーザーおよびグループのすべてのクエリーを SSSD に送信します。SSSD が実行していない場合、または SSSD が要求されたエントリーが見つからない場合、システムはフォールバックしてローカルファイルでユーザーおよびグループを検索します。ほとんどのユーザーとグループを LDAP ディレクトリーなどの中央データベースに保存する場合、この設定により、ユーザーとグループの検索速度が向上します。

前提条件

  • SSSD をインストールします。
    # yum install sssd

ファイルドメインを検出するように SSSD を設定

  1. /etc/sssd/sssd.conf ファイルに以下のセクションを追加します。
    [domain/files]
    id_provider = files
  2. 必要に応じて、sss データベースを、/etc/sssd/sssd.conf ファイルでユーザーおよびグループの検索の最初のソースとして設定します。
    passwd:     sss files
    group:      sss files
  3. システムの起動時に sssd サービスが起動する方法でシステムを設定します。
    # systemctl enable sssd
  4. sssd サービスを再起動します。
    # systemctl restart sssd

関連情報

上記の手順では、files プロバイダーの基本オプションを示しています。詳細は、以下を参照してください。
  • sssd.conf(5) の man ページ。ここでは、すべてのタイプのドメインで利用可能なグローバルオプションを説明します。
  • sssd-files(5) の man ページ。これは、files プロバイダーに固有のオプションを説明します。

7.3.4. SSSD のプロキシープロバイダーの設定

前提条件

  • SSSD をインストールします。
    # yum install sssd

プロキシードメインを検出するように SSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. プロキシープロバイダーの [domain] セクションを作成します。
    [domain/proxy_name]
  3. 認証プロバイダーを指定するには、以下を実行します。
    1. auth_provider オプションを プロキシー に設定します。
    2. proxy_pam_target オプションを使用して、認証プロキシーとして PAM サービスを指定します。
    以下に例を示します。
    [domain/proxy_name]
    auth_provider = proxy
    proxy_pam_target = sssdpamproxy
    重要
    プロキシー PAM スタックに pam_sss.so が再帰的に含まれて いない ことを確認します。
  4. アイデンティティープロバイダーを指定するには、以下を実行します。
    1. id_provider オプションを プロキシー に設定します。
    2. NSS ライブラリーを ID プロキシーとして指定するには、proxy_lib_name オプションを使用します。
    以下に例を示します。
    [domain/proxy_name]
    id_provider = proxy
    proxy_lib_name = nis
  5. [sssd] セクションの domains オプションに新しいドメインを追加します。このオプションは、SSSD がクエリーするドメインを一覧表示します。以下に例を示します。
    domains = proxy_name, domain2

関連情報

上記の手順では、プロキシープロバイダーの基本オプションを説明します。詳細は sssd.conf(5) の man ページを参照してください。これは、すべてのタイプのドメインや他のプロキシー関連のオプションで利用可能なグローバルオプションを説明します。

7.3.5. Kerberos 認証プロバイダーの設定

前提条件

  • SSSD をインストールします。
    # yum install sssd

Kerberos ドメインを検出するように SSSD を設定

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. SSSD ドメインの [domain] セクションを作成します。
    [domain/Kerberos_domain_name]
  3. アイデンティティープロバイダーを指定します。たとえば、LDAP アイデンティティープロバイダーの設定に関する詳細は、「SSSD の LDAP ドメインの設定」 を参照してください。
    Kerberos プリンシパル名が指定のアイデンティティープロバイダーで利用できない場合、SSSD は username@REALM 形式を使用してプリンシパルを構築します。
  4. Kerberos 認証プロバイダーの詳細を指定します。
    1. auth_provider オプションを krb5 に設定します。
      [domain/Kerberos_domain_name]
      id_provider = ldap
      auth_provider = krb5
    2. Kerberos サーバーを指定します。
      1. サーバーを明示的に定義するには、krb5_server オプションを使用します。このオプションは、サーバーのホスト名または IP アドレスを受け入れます。
        [domain/Kerberos_domain_name]
        id_provider = ldap
        auth_provider = krb5
        
        krb5_server = kdc.example.com
      2. DNS サービス検出を使用してサーバーを動的に検出するように SSSD を設定するには、「DNS サービスディスカバリーの設定」 を参照してください。
      必要に応じて、krb5_backup_ server オプションでバックアップサーバーを指定します。
    3. krb5_server または krb5_ backup_server で指定された KDC で Change Password サービスが実行されていない場合は、krb5_ passwd オプションを使用して、サービスが実行しているサーバーを指定します。
      [domain/Kerberos_domain_name]
      id_provider = ldap
      auth_provider = krb5
      
      krb5_server = kdc.example.com
      krb5_backup_server = kerberos.example.com
      krb5_passwd = kerberos.admin.example.com
      krb5_passwd を使用しないと、SSSD は krb5_server または krb5 _backup_server で指定された KDC を使用します。
    4. krb5_realm オプションを使用して、Kerberos レルムの名前を指定します。
      [domain/Kerberos_domain_name]
      id_provider = ldap
      auth_provider = krb5
      
      krb5_server = kerberos.example.com
      krb5_backup_server = kerberos2.example.com
      krb5_passwd = kerberos.admin.example.com
      krb5_realm = EXAMPLE.COM
  5. [sssd] セクションの domains オプションに新しいドメインを追加します。このオプションは、SSSD がクエリーするドメインを一覧表示します。以下に例を示します。
    domains = Kerberos_domain_name, domain2

関連情報

上記の手順では、Kerberos プロバイダーの基本オプションを説明します。詳細は、以下を参照してください。
  • sssd.conf(5) の man ページ。ここでは、すべてのタイプのドメインで利用可能なグローバルオプションを説明します。
  • sssd-krb5(5) の man ページ。ここでは、Kerberos 固有のオプションを説明します。