认证体系

优质
小牛编辑
141浏览
2023-12-01
介绍如何在云联壹云平台上对接企业用户、并根据企业结构划分资源等。

认证体系介绍

云联壹云 平台认证体系支持多租户管理,以域为一个租户,域下包括完整的用户、资源划分以及权限体系等。此外还支持多种辅助认证源,实现单点登录平台等。

常用概念介绍

  • 认证源:用户数据的来源并支持对接辅助认证的第三方认证源。
  • 域:基于多租户管理而划分的逻辑概念,域下包括完整的用户、资源划分以及权限体系等。域管理员可以完全自治的管理域内的资源等。
  • 项目:项目是资源的拥有者,即平台中的虚拟资源(如虚拟机、硬盘、网络)等都需要归属于项目。
  • 用户:用户是资源的使用者,但是用户与资源没有直接的所属关系。只有将用户加入项目后,用户才能使用项目中的资源。用户本身没有任何权限,当用户以某种角色加入项目时,将在项目中拥有对应角色的权限。如用户以admin角色加入default域的system项目,用户则具有管理后台权限。
  • 组:组是一类用户的集合,当以组加入项目时,组内用户在项目中将拥有一样的权限。
  • 角色:角色定义了用户的权限,角色本身没有任何权限,需要与权限进行关联。
  • 权限:权限定义了具体的对平台的操作管理权限,权限需要与角色进行关联。
  • 配额:配额用于限制域或项目中可使用资源数量,配额与平台上的实际资源无关。配额检查开关默认关闭,如用户需要配额功能,可在系统配置-全局配置中开启配额检查开关。

三级权限使用说明

云联壹云 平台安装完成后默认关闭三级权限,用户可根据企业组织架构选择是否开启三级权限。

  • 当企业组织架构如下面左侧图一样结构简单,仅有一个部门的时,企业用户在使用 云联壹云 平台时保持关闭三级权限。
  • 当企业组织架构如下面右侧图一样拥有多个部门,部门下有多个项目时,企业用户在使用 云联壹云 平台时需要开启三级权限。

云联壹云 平台开启和关闭三级权限对比如下图所示。

三级权限开启方法如下:

注意

三级权限开启后不支持关闭,请谨慎操作。

  • 推荐在 云联壹云 平台上的系统配置-全局设置中启用三级权限。

  • 通过climc命令在First Node节点上配置启用三级权限。

    # 开启三级权限
    $ climc service-config --config non_default_domain_projects=true common
    

配置流程

本章节介绍在 云联壹云 平台搭建企业认证体系。

  • 新建认证源:以sql源作为主认证源,sql源即使用平台本地用户,以及钉钉作为辅助认证源为例。
  • 新建域:当平台开启三级权限后,用户可根据需求创建域。
  • 新建角色并关联权限:当系统内置角色和权限不满足用户需求时,用户可以自定义权限和角色。
  • 新建项目:项目是资源的拥有者,用户可根据规划创建项目,分配资源等。
  • 新建用户:用户是资源的使用者,需要将企业用户导入平台后,才能使用平台中的资源。
  • 将用户加入项目:当项目、用户、角色、权限配置完成后,可根据需要将用户加入项目。
  • 用户关联钉钉认证源:将钉钉作为用户登录的辅助认证源。
  • 钉钉单点登录:用户通过钉钉扫码登录。

新建认证源

云联壹云 平台支持对接多种认证源,如LDAP、钉钉、飞书、企业微信、CAS、Github等等。推荐企业用户使用其中任意一种认证源作为主认证源,其他作为辅助认证源使用。

说明

  • 主认证源:即该认证源定义了用户的来源,sql和LDAP认证源默认为主认证源。其他认证源在添加时启用了“自动创建用户”即可作为主认证源使用。
  • 辅助认证源:即该认证源仅作为认证登录的方式使用,主认证源的用户需要先关联辅助认证源,关联成功后,即可使用该认证源登录平台。

sql源为系统内置认证源,无需添加。下面介绍如何添加钉钉作为辅助认证源。

说明

其他认证源的详细介绍,请参考用户手册-新建认证源

创建钉钉单点登录应用

说明

更多内容请参考钉钉官网文档

  1. 以管理员登录钉订开放平台

  2. 在在“应用开发”页面的移动接入应用-登录页面中创建扫码登录应用授权。

  3. 配置回调域名为“https://<域名>/api/v1/auth/ssologin”。

    说明

    • 将平台设置为域名访问,在全局设置-控制台地址中设置访问域名。
    • 在 云联壹云 平台认证源页面可查看平台的回调地址。

  4. 创建完成后,可以获取对应的AppId和AppSecret。

新建钉钉认证源

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/认证源” 菜单项,进入认证源页面。

  2. 单击列表上方 “新建” 按钮,进入新建认证源页面。

  3. 配置以下参数

    • 认证源归属:设置认证源的归属范围,当认证源归属于系统时,即系统中所有用户都可以使用该认证源登录平台。当认证源归属于域时,只有该域中的用户可以使用该认证源登录平台。域管理后台下,认证源归属于域管理员所属域。
    • 名称:认证源的名称。
    • 认证协议:选择“OAuth2”。
    • 认证类型:选择“钉钉”。
    • AppId:应用的id标识。获取方式参考上一章节。
    • AppSecret:应用的密钥。获取方式参考上一章节。

新建域

当平台未开启三级权限时,仅default域下可以创建项目,划分资源。即使可以新建域,也无法在域下新建项目。 当平台开启三级权限后,用户可以根据多租户需求创建域,并划分资源。

说明

域来源:

  • 新建认证源时,设置用户目标域为空时,即会创建与认证源同名的域。
  • 根据需求新建。
  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/域” 菜单项,进入域页面。

  2. 单击列表上方 “新建” 按钮,进入新建域页面。

  3. 设置域的名称,单击 “确定” 按钮,完成操作。

说明

配额检查开关默认关闭,如需配额功能,可在“系统配置-全局配置-全局配置”中开启配额检查。

新建角色并关联权限

平台在创建完成后,系统内置了一系列角色和权限,如内置角色满足用户需求,用户可以跳过该章节,直接开始新建项目和用户。

内置角色介绍

云联壹云 平台目前内置角色如下:

角色权限是否共享权限范围权限说明
adminsysadmin全局共享系统用户只有以admin角色加入default的system项目时才有管理后台全部权限。
domainadmindomainadmin全局共享域管理后台全部权限
project_ownerprojectadmin全局共享项目项目范围内的全部权限
project_editorprojecteditor全局共享项目项目范围内任意资源的编辑操作权限
memberprojectviewer、projectdashboard全局共享项目项目范围内任意资源的只读权限
fasysmeteradmin、sysdashboard全局共享系统系统内计费计量的全部权限

注意

member角色的内置权限将变成只读权限,如用户需要操作权限,可以更改用户的角色或自定义角色的权限。

内置权限说明

权限定义了对平台上资源的操作权限,系统部署完成后内置了常用权限,称为系统权限。系统权限结合用户视图、操作权限针对资源生成9种权限等。

  • 用户视图分为管理后台、域管理后台、项目视图;
  • 操作权限分为管理权限、编辑权限、只读权限;
  • 因此资源权限具体为全局下资源的管理、编辑、只读权限;本域下资源的管理、编辑、只读权限;本项目下资源的管理、编辑、只读权限;

新建权限

当内置权限不满足用户需求时,用户可以新建自定义权限。

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/权限” 菜单项,进入权限页面。

  2. 单击列表上方 “新建” 按钮,进入新建权限页面。

  3. 设置以下参数。

    • 域:选择权限所属的域。
    • 名称:自定义权限的名称。
    • 备注:对自定义权限进行备注。
    • 权限配置方式:支持可视化视图和YAML编辑视图。
      • 可视化视图:配置以下参数。
        • 管理权限:管理权限包括管理后台、域管理后台、无管理后台。管理权限对应列表中的权限范围系统、域、项目。并支持自定义不同视图下的节点权限。
          • 管理后台:即用户以拥有管理后台权限的角色加入项目后,可以切换到管理后台视图,并设置自定义管理后台视图下用户拥有的权限,包括计算、镜像、容器、认证、通知、日志、其他、计费计量、告警、流程等模块权限,并支持展开设置具体功能权限包括列表、详情、更新、创建、删除、执行操作等具体操作权限。
          • 域管理后台:即用户以拥有域管理后台权限的角色加入项目后,可以切换到域管理后台视图,并支持自定义域挂历后台视图系用户拥有的权限。包括计算、镜像、容器、认证、通知、日志、计费计量、告警等模块权限,并支持展开设置具体功能权限包括列表、详情、更新、创建、删除、执行操作等具体操作权限。
          • 无管理后台:即绑定该权限的用户只拥有项目视图,并设置自定义项目视图下用户拥有的权限。包括计算、镜像、容器、通知、日志、计费计量、告警等模块权限,并支持展开设置具体功能权限包括列表、详情、更新、创建、删除、执行操作等具体操作权限。由于用户以任意角色加入项目都将拥有member权限,当用户以拥有自定义项目视图权限的角色加入项目时,用户的权限为自定义权限和member权限的并集。
      • YAML编辑视图:
        • 权限内容:格式如下。
      auth: true
      policy:
          compute:servers:create:    '*': allowdelete:     '*': denyget:     '*': allowvnc: allowlist:    '*': allowperform:    '*': allowupdate:    '*': allow
      scope: project
      
  4. 单击 “确定” 按钮,完成操作。

新建角色并关联权限

当内置角色不满足需求时,可新建角色并关联对应的权限。

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/角色” 菜单项,进入角色页面。

  2. 单击列表上方 “新建” 按钮,弹出新建角色对话框。

  3. 设置角色名称,角色所属的域,单击 “下一步” 按钮,进入关联权限对话框。

  4. 配置以下参数:

    • 权限:选择角色关联的权限,在弹出的请选择权限的对话框中选择权限,支持多选。
    • IP白名单:设置IP白名单IP地址以及地址段,只有处于IP白名单内的用户登录才会拥有对应角色和权限,若为空,则允许所有IP访问。格式为192.168.1.1或192.168.1.0/24,多个IP地址以英文”;“分割。
    • 项目:设置权限在指定项目生效,若不指定项目,则权限全局生效;若指定项目,则权限只在指定项目生效,在其他项目无效;

  5. 单击 “确定” 按钮,完成操作。

新建项目

项目是虚拟资源的拥有者,即平台中的虚拟资源(如虚拟机、硬盘、网络)等都需要归属于项目。

说明

项目来源:

  • 添加公有云或私有云账号启用“自动创建项目”时,将会把云上项目同步 云联壹云 平台。
  • 根据需求新建。
  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/项目” 菜单项,进入项目页面。

  2. 单击列表上方 “新建” 按钮,进入新建项目页面。

  3. 设置项目的名称、项目所属的域,单击 “确定” 按钮。

    说明

    配额检查开关默认关闭,如需配额功能,可在“系统配置-全局配置-全局配置”中开启配额检查。

  4. 如平台上已存在符合需求的用户和角色,可以直接将用户加入项目。配置以下参数:

    • 用户:选择加入项目的用户,支持批量选择多个用户。选择项目所在域中的用户,若项目属于default域,用户可选系统中所有域中的用户。
    • 角色:设置用户加入项目时的角色,不同角色具有不同权限。选择项目所在域中的角色或其他域中共享状态的角色,且角色已绑定权限。

  5. 如暂时没有满足需求的用户和角色,直接单击 “跳过” 按钮,在后续创建好用户和角色后,再将用户加入到项目中。

新建用户

该功能用于将企业用户同步到 云联壹云 平台。新建用户只支持新建sql源的本地用户。且支持单个和批量创建用户。

说明

用户来源:

  • 新建认证源时启用自动创建用户。
  • 新建LDAP认证源将会把LDAP服务器的用户同步到 云联壹云 平台。
  • 根据需求新建sql源的本地用户。

新建本地用户

该功能用于新建sql源的本地用户。

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/用户” 菜单项,进入用户页面。

  2. 单击列表上方 “新建” 按钮,进入新建用户页面。

  3. 配置以下信息。

    • 名称:用户的名称。
    • 密码:用户的密码。
    • 域:选择用户所属的域。
    • 登录控制台:设置用户是否有登录云管平台的权限。
    • 启用MFA:Multi-Factor Authentication,基于TOTP技术的多因素认证,用户需要通过两种的认证方式才能登录 云联壹云 平台。即除了使用用户名、密码外还需要使用MFA安全码验证登录。请确保全局配置中已启用了双因子认证,否则无法在用户处启用MFA。

  4. 单击 “确定” 按钮,进入将用户加入项目(可选)页面。

  5. 如平台上已存在符合需求的项目和角色,可以直接将用户加入项目。配置以下参数:

    • 项目(可选):选择用户需要加入的域和项目。其中如果用户属于default域,则仅可以加入default域下的项目,如果用户不属于default域,则可以加入用户所在域和default域下的项目。
    • 角色(可选):设置用户加入项目时的角色,不同角色具有不同权限。

  6. 如暂时没有满足需求的项目和角色,直接单击 “跳过” 按钮,在后续创建好项目和角色后,再将用户加入到项目中。

导入本地用户

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/用户” 菜单项,进入用户页面。

  2. 单击列表上方 “导入用户” 按钮,弹出导入用户对话框。

  3. 单击“下载模板”超链接,并在下载的user_template.xlsx文件中补充用户信息,所有用户信息都需要补充在一个sheet页。

  4. 补充完成后,将模板文件拖拽到对话框的虚线区域,单击 “确定” 按钮,批量导入用户。

将用户加入项目

云联壹云 平台支持两种将用户加入项目的方式。

  • 用户页面中,为用户添加项目;该操作可以为用户添加多个项目。
  • 项目页面中,为项目添加用户;该操作可以为项目批量添加相同角色权限的用户。

管理员可以根据实际需要选择用户加入项目的方式。

用户添加项目

启用三级权限情况下,非default域下的用户可以加入default域和用户所在域。

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/用户” 菜单项,进入用户页面。

  2. 在用户页面,单击用户右侧操作列 “更多” 按钮,选择下拉菜单 “管理项目” 菜单项,进入详情-已加入项目页面。

  3. 单击列表上方 “加入项目” 按钮,弹出加入项目对话框。

  4. 选择域、项目、角色,单击 “确定” 按钮,将用户以指定角色加入项目。

项目添加用户

  1. 在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “认证与安全/认证体系/项目” 菜单项,进入项目页面。

  2. 单击项目右侧操作列 “更多” 按钮,选择下拉菜单 “管理用户/组” 菜单项,进入已加入用户/组页面。

  3. 单击列表上方 “添加” 按钮,弹出添加对话框。

  4. 配置以下参数。

    • 类型:选择用户或组。
    • 用户/组:选择项目所在域中的用户或组,若项目属于default域,用户可选系统中所有域中的用户。
    • 角色:选择项目所在域中的角色或其他域中共享状态的角色,且角色已绑定权限。
  5. 单击 “确定” 按钮,完成操作。

用户登录

用户关联钉钉账号

当将用户加入项目后,用户可以通过用户名和密码登录到 云联壹云 平台,如用户想通过钉钉登录平台,需要先将用户关联钉钉认证源。

  1. 在云管平台登录页面,通过用户名和密码登录平台。

  2. 单击右上角图标,选择下拉菜单 “用户信息” 菜单项,进入用户信息页面。

  3. 在第三方账号关联中,单击 “关联” 按钮,在打开的页面中,使用用户个人钉钉客户端扫描二维码并授权登录,即可将本地用户与钉钉账号。

钉钉单点登录

  1. 在云管平台登录页面,单击第三方登录图标,跳转到钉钉二维码登录页面。

  2. 使用用户个人钉钉客户端扫描二维码并授权登录,即可登录 云联壹云 平台。