5.6. LDAP アクセスフィルターを適用するための SSSD 設定
/etc/sssd/sssd.conf で access_provider オプションが設定されている場合に、SSSD は指定されたアクセスプロバイダーを使用して、システムにアクセスできるユーザーを評価します。使用しているアクセスプロバイダーが LDAP プロバイダータイプの拡張である場合は、システムへのアクセス許可用にユーザーが一致する必要がある LDAP アクセス制御フィルターを指定することもできます。
たとえば、Active Directory (AD) サーバーをアクセスプロバイダーとして使用する場合は、Linux システムへのアクセスを制限できます。指定されたフィルターに該当しない他のユーザーはすべて、アクセスが拒否されます。
アクセスフィルターは LDAP ユーザーエントリーにのみ適用されます。そのため、ネスト化されたグループでこのタイプのアクセス制御を使用すると機能しない可能性があります。ネストされたグループにアクセス制御を適用するには、simple アクセスプロバイダールールの設定 を参照してください。
オフラインキャッシュを使用する場合、SSSD は、ユーザーが最後にオンラインログインの試行に成功したかどうかを確認します。直近のオンラインログイン中に正常にログインしたユーザーは、アクセスフィルターに一致しない場合でも、オフラインでログインできるようになります。
前提条件
-
rootアクセス
手順
-
/etc/sssd/sssd.confファイルを開きます。 [domain]セクションで、アクセス制御フィルターを指定します。-
LDAP の場合は、
ldap_access_filterオプションを使用します。 AD の場合は、
ad_access_filterオプションを使用します。さらに、ad_gpo_access_controlオプションをdisabledに設定して、GPO ベースのアクセス制御を無効にする必要があります。例5.4 特定の AD ユーザーへのアクセス許可
たとえば、
adminsユーザーグループに属し、属性セットがunixHomeDirectoryの AD ユーザーにのみアクセスを許可するには、以下を使用します。[domain/<ad_domain_name>] access provider = ad [... file truncated ...] ad_access_filter = (&(memberOf=cn=admins,ou=groups,dc=example,dc=com)(unixHomeDirectory=*)) ad_gpo_access_control = disabled
[domain/<ad_domain_name>] access provider = ad [... file truncated ...] ad_access_filter = (&(memberOf=cn=admins,ou=groups,dc=example,dc=com)(unixHomeDirectory=*)) ad_gpo_access_control = disabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
LDAP の場合は、
SSSD は、エントリーの authorizedService または host 属性により結果を確認することもできます。実際、ユーザーエントリーおよび設定に応じて、全オプションの MDASH LDAP フィルター、authorizedService および host の MDASH を評価できます。ldap_access_order パラメーターは、評価すべき順に、使用するアクセスコントロールの手法をすべて表示します。
[domain/example.com] access_provider = ldap ldap_access_filter = memberOf=cn=allowedusers,ou=Groups,dc=example,dc=com ldap_access_order = filter, host, authorized_service
[domain/example.com]
access_provider = ldap
ldap_access_filter = memberOf=cn=allowedusers,ou=Groups,dc=example,dc=com
ldap_access_order = filter, host, authorized_service