第26章 ポリシー: PAM サービスのドメイン制限
一部の環境では、異なる PAM アプリケーションが、異なる SSSD ドメインセットにアクセスする必要があります。
pam_ldap
などのレガシー PAM モジュールは、個別の設定ファイルを PAM モジュールのパラメーターとして使用できました。本章では、SSSD に類似した機能を説明します。
ユースケースの 1 つは、外部ユーザーが FTP サーバーへの認証を行える環境です。このサーバーは、権限のない別のユーザーとして実行されます。このユーザーは、内部の企業アカウントとは別に、選択した SSSD ドメインに対してのみ認証できます。この機能を使うと、管理者は FTP ユーザーが FTP PAM 設定ファイルに指定されている特定のドメインのみに認証できるようにすることができます。
以下のオプションは、PAM モジュールおよび SSSD で、選択したドメインへのアクセスを安全な方法で制限できます。
- pam_trusted_users (for
sssd.conf
) - このオプションは、SSSD デーモンが信頼する数値の UID またはユーザー名の一覧を受け入れます。デフォルト値は特殊なキーワード
all
ですべてのユーザーが信頼されることを意味します。これは、すべてのユーザーが任意のドメインにアクセスできる現在の動作と並行して行います。 - pam_public_domains (for
sssd.conf
) - このオプションは、信頼できないユーザーであってもアクセス可能な SSSD ドメインのコンマ区切りリストを受け入れます。
all
およびnone
の 2 つの特別なキーワードも使用できます。管理者が信頼できないドメインと信頼されていないドメイン間で区別を開始する場合、信頼できないクライアントがアクセスできるドメインを手動で指定するのに必要な値はnone
です。 - ドメイン (個々の PAM モジュール設定用)
- このオプションは、PAM サービスが認証できるように制限されるドメインの一覧を受け入れます。この設定は
/etc/sssd/sssd.conf
ファイル内のdomains=
オプションと対話します。これは、SSSD がクエリーの順序でドメインの一覧を指定します。PAM モジュール設定はこの一覧に追加できませんが、短いリストを指定して制限できます。
例26.1 PAM モジュール設定のサンプル
設定ファイルの一般的な
/etc/pam.d/
設定行の形式は以下のとおりです。
module-type control-flag module-path arguments
この例では、テストモジュールの設定例を示しています。ドメインアクセスを制限する引数は、各行の末尾に追加されます。テストモジュールは
openldap
ドメインのみに制限され、pam_env
モジュールはすべてのユーザーに環境変数を設定/未設定にすることができます。
$ cat /etc/pam.d/sss_test auth required pam_sss.so domains=openldap account required pam_sss.so domains=openldap session required pam_sss.so domains=openldap password required pam_sss.so domains=openldap
関連するスニペットは、PAM 設定の他に、
/etc/sssd/sssd.conf
のようになります。
[sssd] domains = ipa, openldap # the list can be restricted by specific PAM module configuration [pam] pam_public_domains = ipa # all users are allowed to access the ipa domain pam_trusted_users = root, sss_test # root and sss_test are allowed to run PAM