69.4. 为存储在 IdM 中的用户配置证书映射
如果用户的证书身份验证被配置为存储在 IdM 中,要在 IdM 中启用证书映射,系统管理员必须完成以下任务:
- 设置证书映射规则,以便具有与映射规则及其证书映射数据条目中指定的条件匹配的证书的 IdM 用户可以向 IdM 进行身份验证。
- 将证书映射数据输入到 IdM 用户条目中,以便用户可以使用多个证书进行身份验证,只要它们都包含证书映射数据条目中指定的值。
先决条件
- 用户在 IdM 中有一个帐户。
- 管理员拥有要添加到用户条目的整个证书或证书映射数据。
69.4.1. 在 IdM Web UI 中添加一个证书映射规则 复制链接链接已复制到粘贴板!
- 以管理员身份登录 IdM Web UI。
-
导航到
Authentication
Certificate Identity Mapping Rules
Certificate 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。
-
导航到
Users
Active users
idm_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
进行身份验证。