11.2.12. ドメインの作成: Identity Management (IdM)

Identity Management (IdM または IPA) ID プロバイダーは、一般的な LDAP プロバイダーの拡張機能です。LDAP プロバイダーで利用可能な設定オプションはすべて、IdM プロバイダーでも利用可能で、SSSD を IdM ドメインのクライアントとして機能させ、 IdM の機能を拡張することのできるいくつかのパラメーターも利用可能です。
Identity Management は、ID や認証、アクセス制御ルール、パスワードなど、ドメインの *_provider パラメーターすべてのプロバイダーとして機能することができます。さらに Identity Management のドメイン内には、SELinux ポリシーや自動マウント情報、ホストベースのアクセス制御を管理する設定オプションがあります。IdM ドメイン内のこれら全機能は SSSD 関連付けが可能で、これらのセキュリティー関連のポリシーがシステムユーザー用に適用され、キャッシュされることを可能にしています。

例11.3 基本的な IdM プロバイダー

IdM プロバイダーは LDAP プロバイダーのように、ID や認証、アクセス制御などの異なるサービスに対応するよう設定することが可能です。
IdM サーバーには、非常に便利な (ただし必須ではない) 2 つの追加設定があります。
  • デフォルトの RFC 2307 スキーマではなく、特定の IdM スキーマの利用。
  • クライアントが最初に IdM ドメインに接続する際に、このクライアントの IP アドレスで Identity Management ドメインの DNS サーバーをアップデートするように SSSD を設定。
[sssd]
domains = local,example.com
...

[domain/example.com]
id_provider = ipa
ipa_server = ipaserver.example.com
ipa_hostname = ipa1.example.com
auth_provider = ipa
access_provider = ipa
chpass_provider = ipa

# set which schema to use
ldap_schema = ipa

# automatically update IdM DNS records
ipa_dyndns_update = true
Identity Management は、Linux ドメインにわたってユーザーのセキュリティーポリシーと ID を定義、維持します。これには、アクセス制御ポリシー、SELinux ポリシー、その他のルールが含まれます。IdM ドメインのこれらの要素のいくつかは、SSSD を IdM クライアントとして使用して SSSD と直接対話します。これらの機能は、sssd.conf の IdM ドメインエントリーで管理できます。
ほとんどの設定パラメーターは、スキーマ要素の設定 (IdM は固定スキーマを使用するのでほとんどの導入では関係なし) に関連し、変更の必要はありません。実際のところ、IdM の機能でクライアント側の設定を必要とするものは一つもありません。しかし、動作を微調整すると役立つ場合もあります。

例11.4 SELinux での IdM プロバイダー

IdM は、システムユーザーの SELinux ユーザーポリシーを定義できるので、SSSD 向けの SELinux プロバイダーとして機能することができます。これは、selinux_provider パラメーターで設定されます。プロバイダーは id_provider 値をデフォルトとしているので、明示的に SELinux ルールを サポートする と設定する必要はありません。しかし、SSSD 内 のIdM プロバイダーに対する SELinux サポートを明示的に 無効にする と便利な場合があります。
selinux_provider = ipa

例11.5 ホストベースのアクセス制御での IdM プロバイダー

IdM は、ユーザーが接続に使用しているホストやユーザーが接続しようとしているホストがどれかに基づいてサービスやシステム全体へのアクセスを制限することで、ホストベースのアクセス制御を定義できます。このルールは、アクセスプロバイダーの動作の一部として、SSSD による評価と強制が可能です。
ホストベースのアクセス制御に効果を持たせるには、少なくとも Identity Management サーバーがアクセスプロバイダーである必要があります。
SSSD がホストベースのアクセス制御ルールを評価する方法を設定するには、2 つのオプションがあります。
  • SSSD は、ユーザーが IdM リソースへの接続に使用しているマシン (ソースホスト) を評価できます。これはデフォルトでは無効なので、ルールの対象ホスト部分のみが評価されます。
  • SSSD は、指定された間隔でキャッシュにあるホストベースのアクセス制御ルールを更新できます。
例:
access_provider = ipa	
ipa_hbac_refresh = 120

# check for source machine rules; disabled by default
ipa_hbac_support_srchost = true

例11.6 Cross-Realm Kerberos Trusts での Identity Management

Identity Management (IdM または IPA) は、Active Directory DNS ドメインと Kerberos レルムの信頼できる関係で設定が可能です。これにより、Active Directory ユーザーは、Linux システム上のサービスとホストにアクセスできるようになります。
SSSD には、レルム間の信頼で使われる設定が 2 つあります。
  • Kerberos チケットに必要なデータを追加するサービス
  • サブドメインをサポートする設定
Kerberos チケットデータ
Microsoft は、privileged access certificates または MS-PAC と呼ばれる特別な認証構造を使用しています。PAC は、Windows ドメインの他の Windows クライアントやサーバーへのエンティティを特定する方法として、Kerberos チケットに埋め込まれています。
SSSDには、Kerberos チケットに新たなデータを生成する特別な PAC サービスがあります。Active Directory ドメインを使用している際には、Windows ユーザー用に PAC データを含める必要がある場合があります。その場合には、SSSD で pac サービスを有効にします。
[sssd]
services = nss, pam, pac
...
Windows サブドメイン
通常は、SSSD のドメインエントリーは単一 ID プロバイダーに直接対応します。しかし、IdM のレルム間の信頼があると、IdM ドメインは別のドメインを信頼でき、ドメインはお互いに透明性を持つことに成ります。SSSD はこの信頼できる関係に従うことが可能になり、IdM ドメインが設定されればいかなる Windows ドメインも SSSDのドメインセクションで設定することなく、SSSD が検索し、サポートすることになります。
これは、subdomains_provider パラメーターを IdM ドメインセクションに加えることで設定されます。これは実際には、オプションのパラメーターです。サブドメインが発見されれば、SSSD はデフォルトで ipa プロバイダータイプを使用します。しかしこのパラメーターは、値を none に設定することで、サブドメインフェッチを無効にする際にも使用できます。
[domain/IDM]
...	
subdomains_provider = ipa
get_domains_timeout = 300