第 9 章 管理用户和角色
用户为使用系统的个人定义了一组详细信息。用户可以与机构和环境关联,以便在创建新实体时,会自动使用默认设置。用户也可以附加 一个或多个角色,授予他们查看和管理机构和环境的权限。有关使用用户的更多信息,请参阅 第 9.1 节 “管理用户”。
您可以通过将多个用户组织到用户组来一次性管理多个用户的权限。用户组本身可以进一步分组,以创建权限层次结构。有关创建用户组的详情,请参考 第 9.4 节 “创建和管理用户组”。
角色定义一组权限和访问级别。每个角色都包含多个 权限过滤器,用于指定角色允许的操作。操作按照 资源类型 进行了分组。创建了角色后,用户和组就可以与该角色关联。这样,您可以为大型用户组分配相同的权限集。Satellite 提供了一组预定义的角色,还允许创建自定义角色和权限过滤器,如 第 9.5 节 “创建和管理角色” 所述。
9.1. 管理用户
作为管理员,您可以创建、修改和删除 Satellite 用户。您还可以通过为其分配 不同的角色 来为用户或一组用户配置访问权限。
9.1.1. 创建用户
使用这个流程创建用户。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 点 Create User.
- 输入新用户的帐户详情。
- 单击 Submit 以创建用户。
可以指定的用户帐户详情包括:
在 User 选项卡中,从 Authorized by 列表中选择一个身份验证源:
- INTERNAL :用于管理卫星服务器内的用户。
- EXTERNAL: 使用外部身份验证管理用户。如需更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器 中的 配置 外部身份验证。
在 Organizations 选项卡上,为用户选择一个组织。指定在从 Default on login 列表中登录后为用户选择的默认机构 Satellite。
重要如果没有将用户分配给某个机构,则其访问权限会被限制。
CLI 过程
创建用户:
# hammer user create \ --auth-source-id My_Authentication_Source \ --login My_User_Name \ --mail My_User_Mail \ --organization-ids My_Organization_ID_1,My_Organization_ID_2 \ --password My_User_Password
--auth-source-id 1
设置意味着用户在内部进行身份验证,您可以指定外部身份验证源作为替代方案。添加--admin
选项,为用户授予管理员特权。不需要指定机构 ID。您可以使用
hammer user update
命令修改用户详情。
其他资源
-
有关使用 Hammer 创建用户帐户的更多信息,请输入
hammer user create --help
。
9.1.2. 为用户分配角色
使用这个流程为用户分配角色。要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
单击要分配给一个或多个角色的用户的 username。
注意如果没有列出用户帐户,请检查您当前正在查看正确的机构。要列出 Satellite 中的所有用户,请单击 Default Organization,然后单击 Any Organization。
- 单击位置选项卡,并在未分配任何位置时选择位置。
- 单击 Organizations 选项卡,再检查是否已分配有组织。
- 单击 Roles 选项卡,以显示可用角色的列表。
从 Roles 列表中选择要分配的角色。
要授予所有可用权限,请选中 Admin 复选框。
- 点 Submit。
要查看分配给用户的角色,请单击 Roles 选项卡;分配的角色列在 Selected items 下。若要移除分配的角色,可在 Selected items 中单击角色名称。
CLI 过程
要为用户分配角色,请输入以下命令:
# hammer user add-role --id user_id --role role_name
9.1.3. 模拟不同的用户帐户
管理员可以以其他用户身份临时登录 Satellite Web UI,模拟其他经过身份验证的用户用于测试和故障排除目的。在模拟其他用户时,管理员可以精确访问被模拟的用户可以在系统中访问的内容,包括同一菜单。
创建审计以记录管理员在模拟其他用户时执行的操作。但是,在模拟其他用户时,管理员执行的所有操作都会记录为被模拟的用户所执行的操作。
先决条件
- 确保您以具有 Satellite 的管理员特权的用户身份登录到 Satellite Web UI。
流程
- 在 Satellite Web UI 中,进入到 Administer > Users。
- 在您要模拟的用户右侧,从 Actions 列中的列表中,选择 Impersonate。
当您要停止模拟会话时,在主菜单右上角点模拟图标。
9.1.4. 创建仅限 API 的用户
您可以创建只能与 Satellite API 交互的用户。
先决条件
- 您已创建了用户,并为其分配角色。请注意,此用户必须在内部授权。如需更多信息,请参阅 ] 和 xref:Assigning_Roles_to_a_User_admin[。
流程
- 以 admin 用户身份登录您的 Satellite。
- 导航到 Administer > Users 并选择用户。
在 User 选项卡中,设置密码。不要保存或与其它密码通信。您可以在控制台中创建伪随机字符串:
# openssl rand -hex 32
- 为用户创建个人访问令牌。如需更多信息,请参阅 第 9.3.1 节 “创建一个个人访问令牌”。