11.2.15. ドメインオプション: オフライン認証の有効化

ドメインサービスについての情報に加えて、ユーザー ID は常にキャッシュされます。しかし、ユーザー 認証情報 は、デフォルトではキャッシュされません。このため、SSSD は常に認証要求のためにバックエンド ID プロバイダーをチェックすることになります。ID プロバイダーがオフラインだったり利用できなかったりすると、これらの認証要求を処理することができず、ユーザー認証に失敗することになります。
SSSD キャッシュにユーザーアカウントの一部として (正常なログイン後に) 認証情報を保存する、オフライン認証情報キャッシング を有効にすることができます。つまり、もし ID プロバイダーが利用できなくても、ユーザーは保存された認証情報を使って認証ができることになります。オフライン認証情報キャッシングは本来、個別のドメインエントリーで設定されますが、PAM サービスセクションでセクション可能なオプション設定もいくつかあります。これは、認証情報キャッシングがリモートドメインに加えて、ローカルの PAM サービスとも対話するためです。
[domain/EXAMPLE]
cache_credentials = true
認証情報の有効期限を設定するオプションのパラメーターがあります。有効期限が便利なのは、古くなったアカウントや認証情報を持つユーザーがローカルサービスに無期限にアクセスすることを防ぐことができるからです。
認証情報の有効期限そのものは、PAM サービスで設定され、これがシステム向けに認証要求を処理します。
[sssd]
services = nss,pam
...

[pam]
offline_credentials_expiration = 3
...

[domain/EXAMPLE]
cache_credentials = true
...
offline_credentials_expiration は、正常なログイン後に、ユーザーの単一認証情報エントリーがキャッシュに保存される日数を設定します。これを 0 に設定すると、エントリーは無期限に保存されます。
認証情報キャッシュに特定して関連しているわけではありませんが、各ドメインには個別のユーザーとサービスキャッシュの有効期限に関する設定オプションがあります。
  • account_cache_expiration は、正常なログイン後に、ユーザーアカウントエントリー全体が SSSD キャッシュから削除される日数を設定します。これは、個別の認証情報キャッシュ有効期限と同じか、それより長く設定する必要があります。
  • entry_cache_timeout は、キャッシュに保存されている全エントリーについて、SSSD が ID プロバイダーから更新情報を要求するまでの有効期間 (秒単位) を設定します。また、グループやサービス、netgroup、sudo、autofs エントリーに関する個別のキャッシュタイムアウトのパラメーターもあり、sssd.conf man ページに一覧表示されます。デフォルト時間は、5400 秒 (90 分) です。
例:
[sssd]
services = nss,pam
...

[pam]
offline_credentials_expiration = 3
...

[domain/EXAMPLE]
cache_credentials = true
account_cache_expiration = 7
entry_cache_timeout = 14400
...