认证体系
认证体系介绍
云联壹云 平台认证体系支持多租户管理,以域为一个租户,域下包括完整的用户、资源划分以及权限体系等。此外还支持多种辅助认证源,实现单点登录平台等。
常用概念介绍
- 认证源:用户数据的来源并支持对接辅助认证的第三方认证源。
- 域:基于多租户管理而划分的逻辑概念,域下包括完整的用户、资源划分以及权限体系等。域管理员可以完全自治的管理域内的资源等。
- 项目:项目是资源的拥有者,即平台中的虚拟资源(如虚拟机、硬盘、网络)等都需要归属于项目。
- 用户:用户是资源的使用者,但是用户与资源没有直接的所属关系。只有将用户加入项目后,用户才能使用项目中的资源。用户本身没有任何权限,当用户以某种角色加入项目时,将在项目中拥有对应角色的权限。如用户以admin角色加入default域的system项目,用户则具有管理后台权限。
- 组:组是一类用户的集合,当以组加入项目时,组内用户在项目中将拥有一样的权限。
- 角色:角色定义了用户的权限,角色本身没有任何权限,需要与权限进行关联。
- 权限:权限定义了具体的对平台的操作管理权限,权限需要与角色进行关联。
- 配额:配额用于限制域或项目中可使用资源数量,配额与平台上的实际资源无关。配额检查开关默认关闭,如用户需要配额功能,可在系统配置-全局配置中开启配额检查开关。
三级权限使用说明
云联壹云 平台安装完成后默认关闭三级权限,用户可根据企业组织架构选择是否开启三级权限。
- 当企业组织架构如下面左侧图一样结构简单,仅有一个部门的时,企业用户在使用 云联壹云 平台时保持关闭三级权限。
- 当企业组织架构如下面右侧图一样拥有多个部门,部门下有多个项目时,企业用户在使用 云联壹云 平台时需要开启三级权限。
云联壹云 平台开启和关闭三级权限对比如下图所示。
三级权限开启方法如下:
注意
三级权限开启后不支持关闭,请谨慎操作。
推荐在 云联壹云 平台上的系统配置-全局设置中启用三级权限。
通过climc命令在First Node节点上配置启用三级权限。
# 开启三级权限 $ climc service-config --config non_default_domain_projects=true common
配置流程
本章节介绍在 云联壹云 平台搭建企业认证体系。
- 新建认证源:以sql源作为主认证源,sql源即使用平台本地用户,以及钉钉作为辅助认证源为例。
- 新建域:当平台开启三级权限后,用户可根据需求创建域。
- 新建角色并关联权限:当系统内置角色和权限不满足用户需求时,用户可以自定义权限和角色。
- 新建项目:项目是资源的拥有者,用户可根据规划创建项目,分配资源等。
- 新建用户:用户是资源的使用者,需要将企业用户导入平台后,才能使用平台中的资源。
- 将用户加入项目:当项目、用户、角色、权限配置完成后,可根据需要将用户加入项目。
- 用户关联钉钉认证源:将钉钉作为用户登录的辅助认证源。
- 钉钉单点登录:用户通过钉钉扫码登录。
新建认证源
云联壹云 平台支持对接多种认证源,如LDAP、钉钉、飞书、企业微信、CAS、Github等等。推荐企业用户使用其中任意一种认证源作为主认证源,其他作为辅助认证源使用。
说明
- 主认证源:即该认证源定义了用户的来源,sql和LDAP认证源默认为主认证源。其他认证源在添加时启用了“自动创建用户”即可作为主认证源使用。
- 辅助认证源:即该认证源仅作为认证登录的方式使用,主认证源的用户需要先关联辅助认证源,关联成功后,即可使用该认证源登录平台。
sql源为系统内置认证源,无需添加。下面介绍如何添加钉钉作为辅助认证源。
说明
其他认证源的详细介绍,请参考用户手册-新建认证源
创建钉钉单点登录应用
说明
更多内容请参考钉钉官网文档
以管理员登录钉订开放平台。
在在“应用开发”页面的移动接入应用-登录页面中创建扫码登录应用授权。
配置回调域名为“https://<域名>/api/v1/auth/ssologin”。
说明
- 将平台设置为域名访问,在全局设置-控制台地址中设置访问域名。
- 在 云联壹云 平台认证源页面可查看平台的回调地址。
创建完成后,可以获取对应的AppId和AppSecret。
新建钉钉认证源
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/认证源” 菜单项,进入认证源页面。
单击列表上方 “新建” 按钮,进入新建认证源页面。
配置以下参数
- 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
- 名称:认证源的名称。
- 认证协议:选择“OAuth2”。
- 认证类型:选择“钉钉”。
- AppId:应用的id标识。获取方式参考上一章节。
- AppSecret:应用的密钥。获取方式参考上一章节。
新建域
当平台未开启三级权限时,仅default域下可以创建项目,划分资源。即使可以新建域,也无法在域下新建项目。 当平台开启三级权限后,用户可以根据多租户需求创建域,并划分资源。
说明
域来源:
- 新建认证源时,设置用户目标域为空时,即会创建与认证源同名的域。
- 根据需求新建。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/域” 菜单项,进入域页面。
单击列表上方 “新建” 按钮,进入新建域页面。
设置域的名称,单击 “确定” 按钮,完成操作。
说明
配额检查开关默认关闭,如需配额功能,可在“系统配置-全局配置-全局配置”中开启配额检查。
新建角色并关联权限
平台在创建完成后,系统内置了一系列角色和权限,如内置角色满足用户需求,用户可以跳过该章节,直接开始新建项目和用户。
内置角色介绍
云联壹云 平台目前内置角色如下:
角色 | 权限 | 是否共享 | 权限范围 | 权限说明 |
---|---|---|---|---|
admin | sysadmin | 全局共享 | 系统 | 用户只有以admin角色加入default的system项目时才有管理后台全部权限。 |
domainadmin | domainadmin | 全局共享 | 域 | 域管理后台全部权限 |
project_owner | projectadmin | 全局共享 | 项目 | 项目范围内的全部权限 |
project_editor | projecteditor | 全局共享 | 项目 | 项目范围内任意资源的编辑操作权限 |
member | projectviewer、projectdashboard | 全局共享 | 项目 | 项目范围内任意资源的只读权限 |
fa | sysmeteradmin、sysdashboard | 全局共享 | 系统 | 系统内计费计量的全部权限 |
注意
member角色的内置权限将变成只读权限,如用户需要操作权限,可以更改用户的角色或自定义角色的权限。
内置权限说明
权限定义了对平台上资源的操作权限,系统部署完成后内置了常用权限,称为系统权限。系统权限结合用户视图、操作权限针对资源生成9种权限等。
- 用户视图分为管理后台、域管理后台、项目视图;
- 操作权限分为管理权限、编辑权限、只读权限;
- 因此资源权限具体为全局下资源的管理、编辑、只读权限;本域下资源的管理、编辑、只读权限;本项目下资源的管理、编辑、只读权限;
新建权限
当内置权限不满足用户需求时,用户可以新建自定义权限。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/权限” 菜单项,进入权限页面。
单击列表上方 “新建” 按钮,进入新建权限页面。
设置以下参数。
- 域:选择权限所属的域。
- 名称:自定义权限的名称。
- 备注:对自定义权限进行备注。
- 权限配置方式:支持可视化视图和YAML编辑视图。
- 可视化视图:配置以下参数。
- 管理权限:管理权限包括管理后台、域管理后台、无管理后台。管理权限对应列表中的权限范围系统、域、项目。并支持自定义不同视图下的节点权限。
- 管理后台:即用户以拥有管理后台权限的角色加入项目后,可以切换到管理后台视图,并设置自定义管理后台视图下用户拥有的权限,包括计算、镜像、容器、认证、通知、日志、其他、计费计量、告警、流程等模块权限,并支持展开设置具体功能权限包括列表、详情、更新、创建、删除、执行操作等具体操作权限。
- 域管理后台:即用户以拥有域管理后台权限的角色加入项目后,可以切换到域管理后台视图,并支持自定义域挂历后台视图系用户拥有的权限。包括计算、镜像、容器、认证、通知、日志、计费计量、告警等模块权限,并支持展开设置具体功能权限包括列表、详情、更新、创建、删除、执行操作等具体操作权限。
- 无管理后台:即绑定该权限的用户只拥有项目视图,并设置自定义项目视图下用户拥有的权限。包括计算、镜像、容器、通知、日志、计费计量、告警等模块权限,并支持展开设置具体功能权限包括列表、详情、更新、创建、删除、执行操作等具体操作权限。由于用户以任意角色加入项目都将拥有member权限,当用户以拥有自定义项目视图权限的角色加入项目时,用户的权限为自定义权限和member权限的并集。
- 管理权限:管理权限包括管理后台、域管理后台、无管理后台。管理权限对应列表中的权限范围系统、域、项目。并支持自定义不同视图下的节点权限。
- YAML编辑视图:
- 权限内容:格式如下。
auth: true policy: compute:servers:create: '*': allowdelete: '*': denyget: '*': allowvnc: allowlist: '*': allowperform: '*': allowupdate: '*': allow scope: project
- 可视化视图:配置以下参数。
单击 “确定” 按钮,完成操作。
新建角色并关联权限
当内置角色不满足需求时,可新建角色并关联对应的权限。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/角色” 菜单项,进入角色页面。
单击列表上方 “新建” 按钮,弹出新建角色对话框。
设置角色名称,角色所属的域,单击 “下一步” 按钮,进入关联权限对话框。
配置以下参数:
- 权限:选择角色关联的权限,在弹出的请选择权限的对话框中选择权限,支持多选。
- IP白名单:设置IP白名单IP地址以及地址段,只有处于IP白名单内的用户登录才会拥有对应角色和权限,若为空,则允许所有IP访问。格式为192.168.1.1或192.168.1.0/24,多个IP地址以英文”;“分割。
- 项目:设置权限在指定项目生效,若不指定项目,则权限全局生效;若指定项目,则权限只在指定项目生效,在其他项目无效;
单击 “确定” 按钮,完成操作。
新建项目
项目是虚拟资源的拥有者,即平台中的虚拟资源(如虚拟机、硬盘、网络)等都需要归属于项目。
说明
项目来源:
- 添加公有云或私有云账号启用“自动创建项目”时,将会把云上项目同步 云联壹云 平台。
- 根据需求新建。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/项目” 菜单项,进入项目页面。
单击列表上方 “新建” 按钮,进入新建项目页面。
设置项目的名称、项目所属的域,单击 “确定” 按钮。
说明
配额检查开关默认关闭,如需配额功能,可在“系统配置-全局配置-全局配置”中开启配额检查。
如平台上已存在符合需求的用户和角色,可以直接将用户加入项目。配置以下参数:
- 用户:选择加入项目的用户,支持批量选择多个用户。选择项目所在域中的用户,若项目属于default域,用户可选系统中所有域中的用户。
- 角色:设置用户加入项目时的角色,不同角色具有不同权限。选择项目所在域中的角色或其他域中共享状态的角色,且角色已绑定权限。
如暂时没有满足需求的用户和角色,直接单击 “跳过” 按钮,在后续创建好用户和角色后,再将用户加入到项目中。
新建用户
该功能用于将企业用户同步到 云联壹云 平台。新建用户只支持新建sql源的本地用户。且支持单个和批量创建用户。
说明
用户来源:
- 新建认证源时启用自动创建用户。
- 新建LDAP认证源将会把LDAP服务器的用户同步到 云联壹云 平台。
- 根据需求新建sql源的本地用户。
新建本地用户
该功能用于新建sql源的本地用户。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/用户” 菜单项,进入用户页面。
单击列表上方 “新建” 按钮,进入新建用户页面。
配置以下信息。
- 名称:用户的名称。
- 密码:用户的密码。
- 域:选择用户所属的域。
- 登录控制台:设置用户是否有登录云管平台的权限。
- 启用MFA:Multi-Factor Authentication,基于TOTP技术的多因素认证,用户需要通过两种的认证方式才能登录 云联壹云 平台。即除了使用用户名、密码外还需要使用MFA安全码验证登录。请确保全局配置中已启用了双因子认证,否则无法在用户处启用MFA。
单击 “确定” 按钮,进入将用户加入项目(可选)页面。
如平台上已存在符合需求的项目和角色,可以直接将用户加入项目。配置以下参数:
- 项目(可选):选择用户需要加入的域和项目。其中如果用户属于default域,则仅可以加入default域下的项目,如果用户不属于default域,则可以加入用户所在域和default域下的项目。
- 角色(可选):设置用户加入项目时的角色,不同角色具有不同权限。
如暂时没有满足需求的项目和角色,直接单击 “跳过” 按钮,在后续创建好项目和角色后,再将用户加入到项目中。
导入本地用户
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/用户” 菜单项,进入用户页面。
单击列表上方 “导入用户” 按钮,弹出导入用户对话框。
单击“下载模板”超链接,并在下载的user_template.xlsx文件中补充用户信息,所有用户信息都需要补充在一个sheet页。
补充完成后,将模板文件拖拽到对话框的虚线区域,单击 “确定” 按钮,批量导入用户。
将用户加入项目
云联壹云 平台支持两种将用户加入项目的方式。
- 用户页面中,为用户添加项目;该操作可以为用户添加多个项目。
- 项目页面中,为项目添加用户;该操作可以为项目批量添加相同角色权限的用户。
管理员可以根据实际需要选择用户加入项目的方式。
用户添加项目
启用三级权限情况下,非default域下的用户可以加入default域和用户所在域。
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/用户” 菜单项,进入用户页面。
在用户页面,单击用户右侧操作列 “更多” 按钮,选择下拉菜单 “管理项目” 菜单项,进入详情-已加入项目页面。
单击列表上方 “加入项目” 按钮,弹出加入项目对话框。
选择域、项目、角色,单击 “确定” 按钮,将用户以指定角色加入项目。
项目添加用户
在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/项目” 菜单项,进入项目页面。
单击项目右侧操作列 “更多” 按钮,选择下拉菜单 “管理用户/组” 菜单项,进入已加入用户/组页面。
单击列表上方 “添加” 按钮,弹出添加对话框。
配置以下参数。
- 类型:选择用户或组。
- 用户/组:选择项目所在域中的用户或组,若项目属于default域,用户可选系统中所有域中的用户。
- 角色:选择项目所在域中的角色或其他域中共享状态的角色,且角色已绑定权限。
单击 “确定” 按钮,完成操作。
用户登录
用户关联钉钉账号
当将用户加入项目后,用户可以通过用户名和密码登录到 云联壹云 平台,如用户想通过钉钉登录平台,需要先将用户关联钉钉认证源。
在云管平台登录页面,通过用户名和密码登录平台。
单击右上角图标,选择下拉菜单 “用户信息” 菜单项,进入用户信息页面。
在第三方账号关联中,单击 “关联” 按钮,在打开的页面中,使用用户个人钉钉客户端扫描二维码并授权登录,即可将本地用户与钉钉账号。
钉钉单点登录
在云管平台登录页面,单击第三方登录图标,跳转到钉钉二维码登录页面。
使用用户个人钉钉客户端扫描二维码并授权登录,即可登录 云联壹云 平台。