16.4. 为 TPS 创建和管理用户
TPS 用户有三个定义的 角色,可作为 TPS 的组运行:
- 代理 执行实际令牌管理操作的代理,如设置令牌状态和更改令牌策略
- 管理员,负责管理 TPS 子系统的用户,并对令牌有有限的控制
- 操作员,没有管理控制,但能够查看和列出通过 TPS 执行的令牌、证书和活动
无法为 TPS 添加其他组。
所有 TPS 子系统用户都针对包含其证书的 LDAP 目录数据库进行身份验证(因为访问 TPS 的 Web 服务需要基于证书的身份验证),身份验证进程会检查 TPS 组条目 -ou=TUS Agents
,ou=TUS Administrators
, 和 ou=TUS Operators
- 来查看用户所属的角色,使用 Apache 的 mod_tokendb
模块。
TPS 的用户通过 Web UI 或 CLI 添加和管理。Web UI 可从 https://server.example.com:8443/tps/ui/
访问。
要使用 Web UI 或 CLI,TPS 管理员必须使用用户证书进行身份验证。
16.4.1. 列出和搜索用户
16.4.1.1. 通过 Web UI
从 Web UI 列出用户:
- 点 Accounts 选项卡。
- 点 Users 菜单项。用户列表会出现在页面中。
-
要搜索某些用户,请在搜索字段中输入关键字,然后按
Enter
键。要再次列出所有用户,请删除关键字,然后按Enter
键。
16.4.1.2. 从命令行
要从 CLI 列出用户,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-user-find
要通过 CLI 查看用户详情,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-user-show username
16.4.2. 添加用户
16.4.2.1. 通过 Web UI
从 Web UI 添加用户:
- 点 Accounts 选项卡。
- 点 Users 菜单项。
- 点 Users 页面中的 Add 按钮。
- 填写用户 ID、全名和 TPS 配置文件。
- 点 Save 按钮。
16.4.2.1.1. 从命令行
要从 CLI 添加用户,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-user-add username --fullName full_name
16.4.3. 为用户设置配置集
TPS 配置文件与 CA 配置文件非常相似;它定义了用于处理不同类型的令牌的规则。该配置集根据令牌的某些特性(如 CUID)自动分配给令牌。用户只能看到分配给它们的配置集的令牌。
用户只能看到与为其配置的配置集相关的条目,包括令牌操作和令牌本身。管理员能够搜索和管理 TPS 中配置的所有令牌,管理员用户条目应设置为 All profiles
。为用户设置特定的配置集是控制对特定用户或令牌类型的 Operator 和代理访问的简单方法。
令牌配置集是应用到令牌的策略和配置集。令牌配置文件根据令牌本身中的某种属性(如 CCUID 范围)自动映射到令牌。令牌配置文件作为 CA 配置集目录中的其他证书配置文件创建,然后添加到 TPS 配置文件 CS.cfg
中,将 CA 的令牌配置集映射到令牌类型。第 6.7 节 “映射解析器配置” 中介绍了如何配置令牌映射。
从 Web UI 管理用户配置文件:
- 点 Accounts 选项卡。
- 点 Users 菜单项。
- 点击您要修改的用户的用户名。
- 点 Edit 链接。
-
在 TPS Profile 字段中,输入用逗号分开的配置集名称,或者输入
All Profiles
。 - 点 Save 按钮。
16.4.4. 管理用户角色
角色只是 TPS 中的组。每个角色可以查看 TPS 服务页面的不同标签页。组可以编辑,因此可以为用户添加和删除角色分配。
用户可以属于多个角色或组。例如,bootstrap 用户属于所有三个组。
16.4.4.1. 通过 Web UI
从 Web UI 管理组成员:
- 点 Accounts 选项卡。
- 点 Groups 菜单项。
- 单击您要更改的组名称,如 TPS Agents。
将用户添加到此组中:
- 点击 Add 按钮。
- 输入用户 ID。
- 点击 Add 按钮。
从这个组中删除用户:
- 选中用户旁边的复选框。
- 单击删除按钮。
- 点OK按钮。
16.4.4.2. 从命令行
要从 CLI 列出组,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-group-find
要从 CLI 列出组成员,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-group-member-find group_name
要通过 CLI 将用户添加到组中,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-group-member-add group_name user_name
要从 CLI 中删除用户,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-group-member-del group_name user_name
16.4.5. 管理用户证书
用户证书可以通过 CLI 管理:
要列出用户证书,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-user-cert-find user_name
向用户添加证书:
获取新用户的用户证书。请求和提交证书在 第 5 章 请求、注册和管理证书 中进行了说明。
重要TPS 管理员必须具有签名证书。推荐的配置集是手动用户签名和加密证书注册。
运行以下命令:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-user-cert-add user_name --serial cert_serial_number
要从用户中删除证书,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-user-cert-del user_name cert_id
16.4.6. 续订 TPS 代理和管理员证书
重新生成证书 会取其原始密钥及其原始配置集和请求,并使用新的有效期和过期日期重新创建相同的密钥。
TPS 具有在创建子系统时创建的 bootstrap 用户。当使用其中一个默认续订配置文件时,可以为此用户请求新证书。
可以使用原始证书的序列号直接在最终用户注册表单中续订管理用户的证书。
通过 CA 的最终用户表单续订用户证书,如 第 5.4.1.1.2 节 “基于证书的续订” 所述。这必须与首次发布的证书(或克隆)相同。
代理证书可以通过在最终实体页面中使用基于证书的续订表单续订代理证书,即 Self-renew 用户 SSL 客户端证书。此表单可识别和更新浏览器证书存储中存储的证书。
注意您还可以使用
certutil
续订证书,如 第 18.3.3 节 “使用certutil
续订证书” 所述。certutil
使用带有原始密钥的输入文件,而不是使用存储在浏览器中的证书来启动续订。- 将新证书添加到用户并删除旧的证书,如 第 16.4.5 节 “管理用户证书” 所述。
16.4.7. 删除用户
可以删除 最后一个 用户帐户,操作无法撤消。对于选择要删除的用户,请非常小心。
从 Web UI 中删除用户:
- 点 Accounts 选项卡。
- 点 Users 菜单项。
- 选中要删除的用户旁边的复选框。
- 单击删除按钮。
- 点OK按钮。
要从 CLI 删除用户,请运行:
pki -d client_db_dir -c client_db_password -n admin_cert_nickname tps-user-del user_name