7.4. ID プロバイダーおよび認証プロバイダーの追加設定
7.4.1. ユーザー名の形式の調整 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
7.4.1.1. 完全なユーザー名を解析するための正規表現の定義 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
							SSSD は、完全なユーザー名の文字列を解析して、ユーザー名とドメインコンポーネントにします。デフォルトでは、SSSD は Python 構文の以下の正規表現に基づいて、
user_name@domain_name 形式の完全なユーザー名を解釈します。
						(?P<name>[^@]+)@?(?P<domain>[^@]*$)
(?P<name>[^@]+)@?(?P<domain>[^@]*$)
注記
								Identity Management プロバイダーおよび Active Directory プロバイダーでは、デフォルトのユーザー名形式は 
user_name@domain_name または NetBIOS_name\user_name です。
							
							SSSD が完全なユーザー名を解釈する方法を調整するには、以下を実行します。
						
/etc/sssd/sssd.confファイルを開きます。re_expressionオプションを使用して、カスタムの正規表現を定義します。- すべてのドメインに対してグローバルに正規表現を定義するには、
sssd.confの[sssd]セクションにre_expressionを追加します。 - 特定のドメインに対して個別に正規表現を定義するには、
sssd.confの対応するドメインセクションにre_expressionを追加します。 
							たとえば、LDAP ドメインの正規表現を設定するには、以下を実行します。
						
[domain/LDAP] [... file truncated ...] re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
[domain/LDAP]
[... file truncated ...]
re_expression = (?P<domain>[^\\]*?)\\?(?P<name>[^\\]+$)
							詳細は、sssd.conf(5) man ページの 
SPECIAL SECTIONS および DOMAIN SECTIONS 部分の re_expression の説明を参照してください。
						7.4.1.2. SSSD 出力の完全ユーザー名の定義 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
/etc/sssd/sssd.conf ファイルで use_fully_qualified_names オプションが有効になっている場合、SSSD は、デフォルトで以下の拡張に基づいて @domain 形式で完全なユーザー名を出力します。
						%1$s@%2$s
%1$s@%2$s
注記
use_fully_qualified_names が設定されていない場合や、信頼されるドメインに対して明示的に false に設定されている場合には、ドメインコンポーネントなしでユーザー名のみが出力されます。
							
							SSSD が完全なユーザー名を出力する形式を調整するには、次のコマンドを実行します。
						
/etc/sssd/sssd.confファイルを開きます。full_name_formatオプションを使用して、完全なユーザー名形式の拡張を定義します。- すべてのドメインに対してグローバルに拡張を定義するには、
sssd.confの[sssd]セクションにfull_name_formatを追加します。 - 特定のドメインに拡張を個別に定義するには、
sssd.confの対応するドメインセクションにfull_name_formatを追加します。 
							詳細は、sssd.conf(5) man ページの 
SPECIAL SECTIONS および DOMAIN SECTIONS 部分の full_name_format の説明を参照してください。
						
							名前設定によっては、SSSD は名前のドメインコンポーネントを削除できるため、認証エラーが発生する可能性があります。このため、
full_name_format を標準以外の値に設定すると、警告により、これをより標準形式に変更するように求められます。
						7.4.2. オフライン認証の有効化 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
						SSSD は、デフォルトでは、ユーザーの認証情報をキャッシュしません。認証要求の処理時に、SSSD は常にアイデンティティープロバイダーに問い合わせします。プロバイダーが利用できない場合は、ユーザー認証に失敗します。
					
重要
							SSSD は、パスワードをプレーンテキストでキャッシュしません。パスワードのハッシュのみを保存します。
						
						アイデンティティープロバイダーが利用できない場合にユーザーが認証できるようにするには、認証情報キャッシュを有効にします。
					
/etc/sssd/sssd.confファイルを開きます。- ドメインセクションで、
cache_credentials = true設定を追加します。[domain/domain_name] cache_credentials = true
[domain/domain_name] cache_credentials = trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow  - 任意ですが、推奨されます。アイデンティティープロバイダーが利用できない場合に SSSD がオフライン認証の許可期間に制限を設定します。
- SSSD と連携するように PAM サービスを設定します。「サービスの設定: PAM」を参照してください。
 offline_credentials_expirationオプションを使用して時間制限を指定します。たとえば、最終ログインに成功してから 3 日間、オフライン認証を可能にするには、次のようにします。[pam] offline_credentials_expiration = 3
[pam] offline_credentials_expiration = 3Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
 
offline_credentials_expiration の詳細は、sssd.conf(5) の man ページを参照してください。
					7.4.3. DNS サービスディスカバリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
						アイデンティティーまたは認証サーバーが 
/etc/sssd/sssd.conf ファイルで明示的に定義されていない場合、SSSD は DNS サービス検出を使用してサーバーを動的に検出できます。 [1]をクリックします。
					
						たとえば、
sssd.conf に id_provider = ldap 設定が含まれているものの、ldap_uri オプションでホスト名または IP アドレスが指定されていない場合、SSSD は DNS サービス検出を使用してサーバーを動的に検出します。
					注記
							SSSD が検出するのは、プライマリーサーバーのみで、バックアップサーバーを動的には検出できません。
						
DNS サービス検出のための SSSD の設定
/etc/sssd/sssd.confファイルを開きます。- プライマリーサーバーの値を
_srv_に設定します。LDAP プロバイダーの場合、プライマリーサーバーはldap_uriオプションを使用して設定されます。[domain/domain_name] id_provider = ldap ldap_uri = _srv_
[domain/domain_name] id_provider = ldap ldap_uri = _srv_Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - パスワード変更プロバイダーでサービス検出を有効にするには、サービスタイプを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow  - オプション:サービス検出は、システムホスト名のドメイン部分をドメイン名として使用します。別の DNS ドメインを使用するには、
dns_discovery_domainオプションでドメイン名を指定します。 - オプション:デフォルトでは、サービス検出は LDAP サービスタイプをスキャンします。別のサービスタイプを使用するには、
ldap_dns_service_nameオプションでタイプを指定します。 - オプション:デフォルトでは、SSSD は IPv4 アドレスの検索を試行します。試行に失敗すると、SSSD は IPv6 アドレスの検索を試行します。この動作をカスタマイズするには、
lookup_family_orderオプションを使用します。詳細は sssd.conf(5) の man ページを参照してください。 - サービス検出を使用するすべてのサービスについて、DNS レコードを DNS サーバーに追加します。
_service._protocol._domain TTL priority weight port host_name
_service._protocol._domain TTL priority weight port host_nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow  
7.4.4. simple アクセスプロバイダーを使用したアクセス制御の定義 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
simple アクセスプロバイダーは、ユーザー名またはグループの一覧に基づいてアクセスを許可または拒否します。これにより、特定のマシンへのアクセスを制限できます。
					
						たとえば、企業のラップトップでは、
Simple アクセスプロバイダーを使用して、特定のユーザーまたは特定のグループのみへのアクセスを制限できます。他のユーザーまたはグループは、設定済みの認証プロバイダーに対して正常に認証されている場合でもログインできません。
					Simple Access Provider ルールの設定
/etc/sssd/sssd.confファイルを開きます。access_providerオプションをsimpleに設定します。[domain/domain_name] access_provider = simple
[domain/domain_name] access_provider = simpleCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ユーザーのアクセス制御ルールを定義します。以下のいずれかを選択します。
- ユーザーへのアクセスを許可するには、
simple_allow_usersオプションを使用します。 - ユーザーへのアクセスを拒否するには、
simple_deny_usersオプションを使用します。重要特定ユーザーにアクセスを許可する方が拒否するよりも安全であると考えられます。特定のユーザーへのアクセスを拒否する場合には、他のユーザーすべてにアクセスを自動的に許可します。 
 - グループのアクセス制御ルールを定義します。以下のいずれかを選択します。
- グループへのアクセスを許可するには、
simple_allow_groupsオプションを使用します。 - グループへのアクセスを拒否するには、
simple_deny_groupsオプションを使用します。重要特定グループにアクセスを許可する方が拒否するよりも安全であると考えられます。特定のグループへのアクセスを拒否する場合には、他のグループすべてに、アクセスを自動的に許可します。 
 
						次の例では、
group1 の user1、user2、および メンバーへのアクセスを許可し、他のすべてのユーザーへのアクセスを拒否します。
					[domain/domain_name] access_provider = simple simple_allow_users = user1, user2 simple_allow_groups = group1
[domain/domain_name]
access_provider = simple
simple_allow_users = user1, user2
simple_allow_groups = group1
						詳細は sssd-simple(5) の man ページを参照してください。
					
7.4.5. LDAP アクセスフィルターを使用したアクセス制御の定義 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
/etc/sssd/sssd.conf で access_provider オプションが設定されている場合、SSSD は指定されたアクセスプロバイダーを使用して、システムにアクセスできるユーザーを評価します。使用しているアクセスプロバイダーが LDAP プロバイダータイプの拡張の場合には、システムへのアクセス許可に必要な LDAP アクセス制御フィルターを指定することもできます。
					
						たとえば、Active Directory (AD) サーバーをアクセスプロバイダーとして使用する場合は、Linux システムへのアクセスを特定の AD ユーザーに制限できます。指定のフィルターに一致しない他のユーザーはすべてアクセスが拒否されます。
					
注記
							アクセスフィルターは LDAP ユーザーエントリーにのみ適用されます。そのため、ネスト化されたグループでこのタイプのアクセス制御を使用すると機能しない可能性があります。ネストされたグループにアクセス制御を適用するには、「
simple アクセスプロバイダーを使用したアクセス制御の定義」 を参照してください。
						重要
							オフラインキャッシュを使用する場合、SSSD は、ユーザーが最後にオンラインログインの試行に成功したかどうかを確認します。直近のオンラインログイン中に正常にログインしたユーザーは、アクセスフィルターに一致しない場合でも、オフラインでログインできるようになります。
						
LDAP アクセスフィルターを適用するための SSSD 設定
/etc/sssd/sssd.confファイルを開きます。[domain]セクションで、LDAP アクセス制御フィルターを指定します。- LDAP アクセスプロバイダーの場合は、
ldap_access_filterオプションを使用します。詳細は sssd-ldap(5) の man ページを参照してください。 - AD アクセスプロバイダーの場合は、
ad_access_filterオプションを使用します。詳細は sssd-ad(5) の man ページを参照してください。 
たとえば、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=*))
[domain/AD_domain_name] access provider = ad [... file truncated ...] ad_access_filter = (&(memberOf=cn=admins,ou=groups,dc=example,dc=com)(unixHomeDirectory=*))Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
						SSSD は、エントリーの 
authorizedService または host 属性で結果を確認することもできます。実際、ユーザーエントリーおよび設定に応じて、すべてのオプション(LDAP フィルター、authorizedService、および host )を評価できます。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
						認可されたサービスまたは許可されたホストの評価に使用するユーザーエントリーの属性をカスタマイズできます。追加のアクセス制御パラメーターは、
sssd-ldap (5) man ページに一覧表示されます。