69.4. 为存储在 IdM 中的用户配置证书映射
如果用户的证书身份验证被配置为存储在 IdM 中,要在 IdM 中启用证书映射,系统管理员必须完成以下任务:
- 设置证书映射规则,以便具有与映射规则及其证书映射数据条目中指定的条件匹配的证书的 IdM 用户可以向 IdM 进行身份验证。
- 将证书映射数据输入到 IdM 用户条目中,以便用户可以使用多个证书进行身份验证,只要它们都包含证书映射数据条目中指定的值。
先决条件
- 用户在 IdM 中有一个帐户。
- 管理员拥有要添加到用户条目的整个证书或证书映射数据。
69.4.1. 在 IdM Web UI 中添加一个证书映射规则
- 以管理员身份登录 IdM Web UI。
- 
							导航到 AuthenticationCertificate Identity Mapping RulesCertificate Identity Mapping Rules。
- 单击 - Add。- 图 69.1. 在 IdM Web UI 中添加一个新的证书映射规则 
- 输入规则名称。
- 输入映射规则。例如,要让 IdM 搜索提供给它们的任何证书中的 - Issuer和- Subject条目,并根据所显示证书的两个条目中提供的信息做出验证决定:- (ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})- (ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 输入匹配的规则。例如,只允许 - EXAMPLE.ORG机构- 智能卡 CA发布的证书来验证用户到 IdM:- <ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG - <ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 图 69.2. 在 IdM Web UI 中输入证书映射规则的详情 
- 
							单击对话框底部的 Add,以添加该规则并关闭该框。
- 系统安全服务守护进程(SSSD)定期重新读取证书映射规则。要强制立即载入新创建的规则,重启 SSSD: - systemctl restart sssd - # systemctl restart sssd- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
现在,您设置了证书映射规则,可将在智能卡证书中找到的映射规则中指定的数据类型与 IdM 用户条目中的证书映射数据进行比较。找到匹配项后,它将对匹配的用户进行身份验证。
69.4.2. 在 IdM CLI 中添加证书映射规则
- 获得管理员凭证: - kinit admin - # kinit admin- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 输入映射规则以及映射规则所基于的匹配规则。例如,要让 IdM 搜索所呈现的任何证书中的 - 发行者和- Subject条目,并基于所显示证书的两个条目中找到的信息进行身份验证,仅识别由- EXAMPLE.ORG机构的- 智能卡 CA发布的证书:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 系统安全服务守护进程(SSSD)定期重新读取证书映射规则。要强制立即载入新创建的规则,重启 SSSD: - systemctl restart sssd - # systemctl restart sssd- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
现在,您设置了证书映射规则,可将在智能卡证书中找到的映射规则中指定的数据类型与 IdM 用户条目中的证书映射数据进行比较。找到匹配项后,它将对匹配的用户进行身份验证。
69.4.3. 在 IdM Web UI 中添加证书映射数据到用户条目
- 以管理员身份登录 IdM Web UI。
- 
							导航到 UsersActive usersidm_user。
- 
							查找 证书映射数据选项并单击Add。
- 选择以下选项之一: - 如果您有 - idm_user的证书:- 在命令行中,使用 - cat实用程序或文本编辑器显示证书:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 复制证书。
- 在 IdM Web UI 中,单击 - Certificate旁边的- Add,并将证书粘贴到打开的窗口中。- 图 69.3. 添加用户证书映射数据:证书 - 
													如果您没有 idm_user证书,但知道证书的Issuer和Subject,请检查Issuer and subject单选按钮,并在两个框中分别输入值。
 - 图 69.4. 添加用户证书映射数据:签发者和主题 
- 
													如果您没有 
 
 
- 
							点 Add。
验证
						如果您可以访问 .pem 格式的整个证书,请验证是否用户和证书已链接:
					
- 使用 - sss_cache程序在 SSSD 缓存中使- idm_user记录无效,并强制重新载入- idm_user信息:- sss_cache -u idm_user - # sss_cache -u idm_user- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用包含 IdM 用户证书的文件名称运行 - ipa certmap-match命令:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出确认您现在已将证书映射数据添加到 - idm_user,并且存在对应的映射规则。这意味着,您可以使用与定义的证书映射数据匹配的任何证书,以- idm_user进行身份验证。
69.4.4. 在 IdM CLI 中添加证书映射数据到用户条目
- 获取管理员凭证: - kinit admin - # kinit admin- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 选择以下选项之一: - 
									如果您有 idm_user的证书,请使用ipa user-add-cert命令将证书添加到用户帐户中:
 - CERT=$(openssl x509 -in idm_user_cert.pem -outform der|base64 -w0) ipa user-add-certmapdata idm_user --certificate $CERT - # CERT=$(openssl x509 -in idm_user_cert.pem -outform der|base64 -w0) # ipa user-add-certmapdata idm_user --certificate $CERT- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果您没有 - idm_user的证书,但知道用户证书的- Issuer和- Subject:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 
									如果您有 
验证
						如果您可以访问 .pem 格式的整个证书,请验证是否用户和证书已链接:
					
- 使用 - sss_cache程序在 SSSD 缓存中使- idm_user记录无效,并强制重新载入- idm_user信息:- sss_cache -u idm_user - # sss_cache -u idm_user- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用包含 IdM 用户证书的文件名称运行 - ipa certmap-match命令:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出确认您现在已将证书映射数据添加到 - idm_user,并且存在对应的映射规则。这意味着,您可以使用与定义的证书映射数据匹配的任何证书,以- idm_user进行身份验证。
 
     
     
    