第5章 ID プロバイダーおよび認証プロバイダーの追加設定

システムセキュリティーサービスデーモン (System Security Services Daemon: SSSD) は、リモートディレクトリーと認証メカニズムにアクセスするシステムサービスです。SSSD の主な設定ファイルは /etc/sssd/sssd.conf です。本章では、/etc/sssd/sssd.conf ファイルを次のように変更して、SSSD サービスおよびドメインを設定する方法を概説します。

  • オフライン認証を有効にするため、SSSD による完全なユーザー名の解釈と出力方法を調整します。
  • DNS サービスディスカバリー、シンプルアクセスプロバイダールール、および SSSD が LDAP アクセスフィルターを適用するように設定します。

5.1. SSSD が完全なユーザー名を解釈する方法の調整

SSSD は、完全なユーザー名の文字列を解析して、ユーザー名とドメインコンポーネントにします。デフォルトでは、SSSD は、Python 構文の以下の正規表現に基づいて、user_name@domain_name 形式の完全なユーザー名を解釈します。

(?P<name>[^@]+)@?(?P<domain>[^@]*$)
注記

Identity Management プロバイダーおよび Active Directory プロバイダーは、デフォルトのユーザー名の形式は user_name@domain_name または NetBIOS_name\user_name です。

SSSD による完全なユーザー名の解釈方法は、re_expression オプションを /etc/sssd/sssd.conf ファイルに追加し、カスタム正規表現を定義することで調整できます。

  • 正規表現をグローバルに定義するには、正規表現のグローバル例の定義 の例で示されているように sssd.conf ファイルの [sssd] セクションに正規表現を追加します。
  • 特定のドメインに正規表現を定義するには、特定のドメインで正規表現の定義 の例にあるように、sssd.conf ファイルの対応するドメインセクション ([domain/LDAP] など) に正規表現を追加します。

前提条件

  • root アクセス

手順

  1. /etc/sssd/sssd.conf ファイルを開きます。
  2. re_expression オプションを使用して、カスタムの正規表現を定義します。

    例5.1 正規表現のグローバルでの定義

    すべてのドメインに対してグローバルに正規表現を定義するには、sssd.conf ファイルの [sssd] セクションに re_expression を追加します。

    以下の glob 表現を使用して、domain\\username または domain@username の形式でユーザー名を定義できます。

    [sssd]
    [... file truncated ...]
    re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)

    例5.2 特定のドメインへの正規表現の定義

    特定のドメインに個別に正規表現を定義するには、sssd.conf ファイルの対応するドメインセクションに re_expression を追加します。

    以下の glob 表現を使用して、LDAP ドメインの domain\\username または domain@username の形式でユーザー名を定義できます。

    [domain/LDAP]
    [... file truncated ...]
    re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)

詳細は、sssd.conf(5) man ページの SPECIAL SECTIONS and DOMAIN SECTIONS 部分の re_expression を参照してください。