运营管理
租户管理
租户管理主要为企业用户提供组织架构管理,以及基于项目的资源访问控制、工单管理、独立区域管理等功能。
租户管理以单独的功能模块形式提供,需提前购买租户管理模块许可证,且需在购买云平台许可证基础上使用,不可单独使用。
相关定义
- 人员与权限:租户管理体系以人员和权限为基础进行构建,根据实际需求搭建部门与角色,对用户赋予多样化的权限。
- 组织架构:租户管理中的基本单位,由自定义创建或通过第三方认证同步,分为未分组部门和自定义部门,支持自定义新团队和子部门。其中,新团队通常指一个公司或者子公司,其下可创建多级部门。组织架构树以层级折叠方式展示,可直观查看企业组织架构全貌。Note: 项目成员仅支持查看所在团队的组织架构树。
- 用户:表示自然人,是租户管理中的最基本单位。ZStack Cloud云平台用户包括本地用户和第三方用户:
- 本地用户:云平台中创建的用户,支持加入组织、加入项目、绑定角色等操作。
- 第三方用户:通过第三方认证同步到云平台的用户,支持加入组织、加入项目、绑定角色、变更为本地用户等操作。
Note:- 租户管理不同类型用户登录云平台入口不同:
- 本地用户从本地用户项目登录入口登录云平台。
- AD/LDAP用户从AD/LDAP项目登录入口登录云平台。
- OIDC/OAuth2/CAS用户从第三方应用免密登录云平台。
- admin/平台管理员支持查看所有用户列表。
- 若云平台已创建组织架构树,平台成员仅支持查看所属组织架构的用户列表;若云平台未创建任何组织架构树,平台成员支持查看所有用户。
- 成员组:有双重含义,既表示一组自然人的集合,也表示一组项目成员的集合,支持以成员组为单位进行权限控制。
- 角色:权限的集合,为用户和成员组赋予权限可获得调用相关API进行资源操作的能力。包括平台角色和项目角色两类。
- 平台角色:用户绑定平台角色后,将拥有对应区域的管理权限。平台角色的权限仅在用户自身管控的区域内生效。
- 项目角色:用户加入项目并绑定项目角色后,将拥有该项目的使用权限,管控项目内的数据。
Note:- 同一用户支持同时绑定两种角色类型。
- 同一用户支持绑定多个平台角色或项目角色。
- 在一个项目内,若用户绑定了多个项目角色,拥有的的权限为所有项目角色的全集。
- 第三方认证:云平台提供的统一认证登录服务,支持无缝接入统一认证登录系统,相应统一认证用户将直接登录云平台,便捷使用云资源。
- AD认证:
AD(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及Windows Datacenter Server的目录服务, 为日益多样化的企业办公应用提供了一套独立、标准的登录认证系统。
通过AD服务器可将AD用户/组织同步到ZStack Cloud云平台用户列表/组织架构,并支持使用指定的AD登录属性直接登录ZStack Cloud云平台。
- LDAP认证:
LDAP(Lightweight Directory Access Protocol)是轻量目录访问协议,可提供标准的目录服务, 为日益多样化的企业办公应用提供了一套独立、标准的登录认证系统。
通过LDAP服务器可将LDAP用户同步到ZStack Cloud云平台用户列表,并支持使用指定的LDAP登录属性直接登录ZStack Cloud云平台。
- OIDC认证:
OIDC(OpenID Connect)是一套基于OAuth2协议构建的身份认证协议,允许客户端验证用户身份并获取基本的用户配置信息。
通过OIDC服务器可将用户信息按照映射规则同步至云平台,并支持OIDC认证系统用户免密登录云平台。
- OAuth2认证:
OAuth2(Open Authorization 2.0)是一套授权协议标准,可认证并授权用户访问相关资源。云平台暂仅支持通过授权码模式进行授权。
通过OAuth2服务器可将用户信息按照映射规则同步至云平台,并支持OAuth2认证系统用户免密登录云平台。
- CAS认证:
CAS(Central Authentication Service)是一套单点登录协议,允许网站应用对用户进行鉴权。
通过CAS服务器可将用户信息按照映射规则同步至云平台,并支持CAS认证系统用户免密登录云平台。
- AD认证:
- 项目管理:以项目为导向进行资源规划,可为一个具体项目建立独立的资源池。通过对项目生命周期进行管理(包括确定时间、确定配额、确定权限等),以更细粒度更自动化的方式提高云资源利用率,同时加强项目成员间的协作性。
- 项目:项目即是租户,指在特定时间、资源、预算下指定相关人员完成特定目标的任务。租户管理中的租户主要指项目。支持以项目为导向进行资源规划,为一个具体项目建立独立的资源池。
- 创建项目需指定资源配额、回收策略,添加项目成员等。
- 云平台内的基本资源(计算规格、镜像、网络等),建议提前共享或创建。
- 工单审批:为了更高效地为每个项目提供基础资源支持,项目成员(项目负责人/项目管理员/普通项目成员)可对云平台资源提出工单申请,根据每个项目自定义工单审批流程,对工单进行审批,最终由admin/项目负责人/部门运营管理员/自定义审批人员进行审批,支持申请云主机、删除云主机、修改云主机配置、修改项目周期和修改项目配额五种工单类型。
- 流程管理:为了更高效对项目提供基础资源支持,工单审批引入流程管理,包括默认流程和自定义流程两种类型。
- 默认流程:项目成员提交工单--->admin审批工单。此流程适用于以下几种场景:
- 未设置工单流程的工单,将使用默认流程提交工单。
- 修改项目周期类型的工单,将使用默认流程提交工单。
- 修改项目配额类型的工单,将使用默认流程提交工单。
- 删除自定义工单流程,将使用默认流程自动重新提交工单。
- 自定义流程:项目成员提交工单--->自定义审批工单--->admin/项目负责人审批工单。此流程适用于以下几种场景:
- 申请云主机、删除云主机、修改云主机配置类型的工单,优先使用设置的自定义工单流程提交工单。
- 修改有效状态的工单流程,将使用修改后的自定义工单流程自动重新提交工单。
- 修改已失效状态的工单流程,需要使用修改后的自定义工单流程手动重新提交工单。
- 默认流程:项目成员提交工单--->admin审批工单。此流程适用于以下几种场景:
- 我的审批:仅admin/项目负责人/自定义审批人员拥有审批权限,可通过或驳回申请。若审批通过,资源会自动部署并下发至项目生效。Note: 平台管理员/普通平台成员没有工单审批权限,暂无我的审批菜单。
功能框架
- 平台管理:
为了更高效地管理云平台,平台成员(平台管理员/普通平台成员)可配合超级管理员共同维护云平台。ZStack Cloud提供平台管理员角色、监控大屏角色等系统角色方便用户使用,也可创建自定义角色满足各种使用场景,细粒度到API级别。
- 项目管理:
以项目为导向进行资源规划,可为一个具体项目建立独立的资源池。通过对项目生命周期进行管理(包括确定时间、确定配额、确定权限等),以更细粒度更自动化的方式提高云资源利用率,同时加强项目成员间的协作性。
- 工单管理:
为了更高效地为每个项目提供基础资源支持,项目成员(项目负责人/项目管理员/普通项目成员)可对云平台资源提出工单申请,根据每个项目自定义工单审批流程,对工单进行审批,最终由admin/项目负责人/部门运营管理员/自定义审批人员进行审批,支持申请云主机、删除云主机、修改云主机配置、修改项目周期和修改项目配额五种工单类型。
- 独立区域管理:
区域通常对应某地的一个真实数据中心。在对区域进行资源隔离的基础上,可对每个区域指定相应的区域管理员,实现各地机房的独立管理,同时admin可对所有区域进行巡查和管理。
- 第三方认证:
第三方认证是ZStack Cloud云平台提供的第三方登录认证服务,支持无缝接入第三方登录认证系统,相应账户系统可通过云平台登录页面直接登录,便捷使用云资源,目前支持添加AD/LDAP/OIDC/OAuth2/CAS服务器。
角色权限差异
- admin:超级管理员,拥有所有权限,通常由IT系统管理员拥有。
- 本地用户:云平台中创建的用户,支持加入组织、加入项目、绑定角色等操作。
- 第三方用户:通过第三方认证同步到云平台的用户,支持加入组织、加入项目、绑定角色、变更为本地用户等操作。
- 平台成员:绑定了平台角色的用户,包括平台管理员和普通平台成员。
- 平台管理员:绑定平台管理员角色的用户,带有区域属性的管理员,拥有全部的界面权限,管控所分配区域的数据中心。
- 部门负责人:admin可为部门设置负责人,该身份仅用作标识,但当部门负责人成为项目成员时,额外拥有查看部门账单的权限。
- 项目成员:加入项目的用户,作为项目的基本组成人员,包括项目负责人、项目管理员和普通项目成员。
- 项目负责人:拥有项目负责人角色的用户,负责管理项目内的用户,在项目中拥有最高权限。
- 项目管理员:拥有项目管理员角色的用户,协助项目负责人管理项目,同一项目可指定一个或多个项目成员作为项目管理员。
- 部门运营管理员:admin可为新团队设置部门运营管理员,该身份属于平台身份的一种,负责整个部门的运营管理,包括项目管理、工单审批、查看账单以及部门核心资源监控等。
- 根角色:根角色用于限制自定义角色的权限范围,自定义角色的权限继承自根角色,为根角色权限的子集。
- 配额:配额是对项目的资源总量进行控制的衡量标准。主要包括云主机数量、CPU数量、内存容量、最大数据云盘数目和所有云盘最大容量等。
- 项目回收策略:创建项目需指定项目回收策略,包括无限制、指定时间回收和指定费用回收三种。
- 无限制:创建项目后,项目内资源默认一直处于启用状态。
- 指定时间回收:
- 项目有效期限不足14天时,项目成员登录云平台后智能操作助手将弹出项目即将过期的提醒信息。
- 项目过期后,项目内资源按照指定的控制策略回收,回收策略有以下三种:禁止项目成员登录、禁止项目成员登录且停止项目资源、删除项目。
- 指定费用回收:项目费用达到限额时,项目内资源按照指定的控制策略回收,回收策略有以下三种:禁止项目成员登录、禁止项目成员登录且停止项目资源、删除项目。
- 登录时间限制:创建项目时,可设置项目内成员允许/禁止登录项目的时间段,限制策略包括按允许登录时间和按禁止登录时间两种。
- 允许登录时间:支持设置每天/每周某几天项目内成员可登录项目的时间。设置后,项目内成员仅可在允许登录时间段内登录项目。
- 禁止登录时间:支持设置每天/每周某几天项目内成员不可登录项目的时间。设置后,项目内成员在禁止登录时间段内无法登录项目。
- 安全组限制:管理员可为项目启用或禁用安全组限制功能。启用后,项目成员创建云主机时将强制绑定安全组。
- 启用安全组限制前,需确保项目拥有至少1个安全组配额。
- 启用安全组限制后,将为该项目创建一个默认安全组。
- 各账号登录云平台差异
- admin从主登录界面登录云平台
使用Chrome浏览器或FireFox浏览器打开主登录界面(http://management_node_ip:5000/#/login),admin输入相应用户名和密码登录云平台。
如图 1所示:图 1. 主登录页面 
- 租户管理中的用户(平台管理员/平台成员/项目负责人/项目管理员/普通项目成员/部门运营管理员)从项目登录入口登录云平台使用Chrome浏览器或FireFox浏览器打开项目登录界面(http://management_node_ip:5000/#/project),输入相应用户名和密码登录云平台。其中,包括两种入口:
- 本地用户:云平台创建的用户,通过本地入口登录。
- AD/LDAP用户:通过第三方认证同步到云平台的第三方用户,通过AD/LDAP用户入口登录。
登录成功后,选择需要管理的平台或项目,即可登录到对应的管理界面。
如图 2所示:图 2. 项目登录页面 
- admin从主登录界面登录云平台
- 不同视角功能菜单差异
功能菜单 admin/平台管理员/普通平台成员 项目负责人/项目管理员 部门运营管理员 普通项目成员 组织架构 ○ ○ ○ ○ 用户 ○ ○ ○ × 角色 ○ ○ ○ ○ 项目成员 × ○ × ○ 成员组 ○ ○ ○ ○ 第三方认证 ○ × × × 项目 ○ × ○ × 工单流程管理 ○ × × × 我的工单 × ○ × ○ 我的审批 ○ ○ ○ ○ - 平台/项目身份权限差异
- 平台身份:包括admin、平台管理员、部门运营管理员、普通平台成员。不同身份对应的权限存在如下差异:
名称 区别 admin 超级管理员,拥有所有权限。 平台管理员 平台管理员主要是带有区域属性的管理员,协助admin共同管理云平台。除以下权限外,平台管理员拥有和admin同样的权限: - 带有区域属性,仅支持管控所属区域内的资源,且不支持创建区域、删除区域相关权限。
- 不支持工单审批相关权限,我的审批菜单不可见。
- 不支持许可证管理相关权限,不支持上传许可证等操作。
部门运营管理员 部门运营管理员主要是带有部门属性的管理员,可由admin为新团队进行指定,负责整个部门的运营管理。部门运营管理员拥有如下权限: - 查看首页:仅支持查看所管理部门下的项目资源汇总。
- 查看云平台监控信息:支持查看所管理部门核心资源的监控信息。
- 查看组织架构信息:支持查看云平台的组织架构信息,不支持对组织架构进行操作。
- 查看用户:支持查看云平台的用户信息,不支持对用户进行操作。
- 查看成员组:支持查看云平台的成员组信息,不支持对成员组进行操作。
- 查看角色:支持查看云平台的系统项目角色、所有者为admin的项目类型角色,以及所有者为管理部门(及子部门)的项目角色。
- 查看项目及项目操作:对于所管理部门(及子部门)下的项目,支持查看、编辑、添加项目成员等操作。不支持为项目设置部门、更换计费价目、生成项目模板、设置登录时间限制。
- 工单审批:支持工单审批,但流程管理菜单不可见。
- 查看/导出账单:支持查看或导出所管理部门(及子部门)下的项目账单和部门账单。
普通平台成员 平台管理员以外的平台成员,除以下权限外,普通平台成员拥有和admin同样的权限: - 不支持工单审批相关权限,我的审批菜单不可见。
- 仅支持查看所属组织架构的用户。
- 未赋予的权限。
- 项目身份:包括项目负责人、项目管理员、项目成员,权限如下:
- 项目负责人可指定一个或多个项目成员作为项目管理员,协助管理项目。
- 除项目负责人可对项目管理员进行管控外,项目管理员拥有和项目负责人相同的全部权限。
- 平台身份:包括admin、平台管理员、部门运营管理员、普通平台成员。不同身份对应的权限存在如下差异:
租户管理使用流程
- admin创建组织架构树;
- admin创建用户并将用户加入对应的组织架构;
- admin指定部门负责人;
- admin全局共享基本资源;
- admin创建项目并指定项目负责人;
- 项目负责人创建自定义角色;
- 项目负责人为项目添加成员并绑定角色;
- 登录云平台。
组织架构
- 组织:
组织是租户管理中组织架构的基本单位,由自定义创建或通过统一认证同步,分为顶级部门和部门,顶级部门是组织的一级部门,其下可添加多级部门。
- 用户:
表示自然人,是租户管理中的最基本单位,拥有平台管理员、项目管理员、部门负责人等多种属性。
- 部门负责人:
组织架构中负责管理部门的用户,拥有查看部门账单权限。
- 部门运营管理员:
admin可为顶级部门设置部门运营管理员,负责整个部门的运营管理,包括项目管理、工单审批、查看账单以及部门核心资源监控等。
组织架构树
- 组织架构树以层级折叠方式展示,可直观查看企业组织架构全貌。
- 组织可分为顶级部门和部门,顶级部门是组织的一级部门,其下可添加多级部门。
- 组织架构树中,顶级部门/部门的部门负责人图标右下角有红色五角星标识。
- 通过第三方认证同步的组织,单独创建一棵组织架构树。
- 支持添加多个组织架构树;不同组织架构树中的用户相互不可见。
- admin/平台管理员支持查看所有组织架构树;平台成员仅支持查看所属组织架构树。
- admin可为顶级部门设置部门运营管理员,负责整个部门的运营管理,包括项目管理、工单审批、查看账单以及部门核心资源监控等。
- admin可为部门设置配额,部门配额将限制部门内项目的配额总量。
| 操作 | 描述 |
|---|---|
| 创建组织架构 | 创建一个新的组织架构。可通过创建子部门或新团队的方式进行创建。 |
| 添加子部门 | 在组织架构中添加新的子部门。 |
| 编辑组织架构 | 修改组织架构的名称和简介。 |
| 设置部门运营管理员 | 为一级部门设置部门运营管理员。 Note:
|
| 更换部门负责人 | 重新指定部门负责人。 |
| 移动部门 | 更改子部门的上级部门。 |
| 添加成员 | 添加新的成员到组织。 |
| 移除成员 | 将成员从组织移除。 Note: 若该成员为部门负责人,从部门移除将同时移除部门负责人身份。 |
| 加入项目 | 添加成员至指定项目中。 |
| 设置配额 | 支持为部门设置配额。设置后,部门配额将限制部门内项目的配额总量。 |
| 删除 | 删除当前组织架构。 Note: 删除部门将同时删除其下所有子部门,请谨慎操作。 |
注意事项
- admin/平台管理员支持查看所有组织架构树。
- 普通平台成员/项目负责人/项目管理员仅支持查看所属组织架构树。
- 普通项目成员不可查看组织架构树。
用户
用户表示自然人,是租户管理中的最基本单位,拥有平台管理员、项目管理员、部门负责人等多种属性。
- 方式一:根据来源分类
- 本地用户:
云平台中创建的用户,支持加入组织、加入项目、绑定角色等操作。
- 统一认证用户:
通过统一认证同步到云平台的用户,支持加入组织、加入项目、绑定角色、变更为本地用户等操作。
Note: 租户管理不同类型用户登录云平台入口不同:- 本地用户从本地用户项目登录入口登录云平台。
- AD/LDAP用户从AD/LDAP项目登录入口登录云平台。
- OIDC/OAuth2/CAS用户从统一认证应用免密登录云平台。
- 本地用户:
- 方式二:根据是否加入项目分类
- 平台成员:
未加入项目的用户,包括平台管理员和普通平台成员。
- 项目成员:
加入项目的用户,作为项目的基本组成人员,包括项目负责人、项目管理员和普通项目成员。
- 平台成员:
| 操作 | 描述 |
|---|---|
| 创建用户 | 基于员工基本信息创建用户。 |
| 编辑 | 修改名称和简介。 |
| 修改密码 | 修改用户登录密码。 |
| 加入部门 | 将用户加入到一个或多个部门。 |
| 加入成员组 | 将用户加入到一个或多个成员组。 |
| 修改平台角色 | 为用户绑定一个或多个平台角色。 |
| 加入项目 | 将用户加入到一个或多个项目。 |
| 设置管理区域 | 设置用户所管理的区域,设置后,用户将只可管控指定的区域。 |
| 删除 | 将用户删除 Note:
|
| 操作 | 描述 |
|---|---|
| 加入部门 | 将用户加入到一个或多个部门。 |
| 加入成员组 | 将用户加入到一个或多个成员组。 |
| 修改平台角色 | 为用户绑定一个或多个平台角色。 |
| 加入项目 | 将用户加入到一个或多个项目。 |
| 设置管理区域 | 设置用户所管理的区域,设置后,用户将只可管控指定的区域。 |
| 变更为本地用户 | 支持将已停用或已删除状态的 AD/LDAP 用户变更为云平台本地用户。该操作仅支持 AD/LDAP 用户,不支持 OIDC/OAuth2/CAS 用户。 Note:
|
| 删除 | 将用户删除 Note:
|
注意事项
- admin/平台管理员支持查看所有用户列表。
- 若云平台已创建组织架构树,平台成员仅支持查看所属组织架构的用户列表;若云平台未创建任何组织架构树,平台成员支持查看所有用户。
- 若云平台已创建组织架构树,项目负责人/项目管理员仅支持查看所在组织架构树的用户。
- 若云平台未创建任何组织架构树,项目负责人/项目管理员支持查看所有用户。
- 模板导入方式创建用户需要注意以下情况:
- 组织架构必须为已有组织,输入格式:以符号"/"分隔,例如Company/Dev;
- 若组织架构路径重复,附带顶级部门uuid,例如Company(f11444d42701483791370e9f8b9300b9)/Dev;
- 同时加入多个组织,以"&&"分隔,例如Company/Dev&&Company/QA。
- 项目必须为已有项目,加入单个项目时,直接输入项目名称,例如project-01;
- 同时加入多个项目,以"&&"分隔,例如project-01&&project-02。
成员组
在ZStack Cloud主菜单,点击,进入成员组界面。
| 操作 | 描述 |
|---|---|
| 创建成员组 | 创建成员组,对成员进行分组管理。 |
| 编辑 | 修改名称和简介。 |
| 添加用户 | 为成员组添加用户。 |
| 加入项目 | 将成员组加入指定项目。 |
| 删除 | 删除成员组,将解除相应成员间的组关系。 |
角色
- 系统角色:
系统角色是云平台预置的特殊角色,随版本升级更新权限内容,并自动勾选相关新增权限,不支持手动配置。
- 自定义角色:
自定义角色是自定义创建的角色,随版本升级自动更新权限内容,升级后的新增权限需要手动配置。
| 操作 | 描述 |
|---|---|
| 创建角色 | 创建一个新的角色。 |
| 编辑 | 修改名称和简介。 |
| 修改界面权限 | 修改角色的界面权限。 |
| 删除 | 删除角色。 Note: 删除角色后,相关用户将自动解绑此角色,请谨慎操作。 |
统一认证SSO
- AD认证:
AD(Active Directory)是面向Windows Standard Server、Windows Enterprise Server以及Windows Datacenter Server的目录服务, 为日益多样化的企业办公应用提供了一套独立、标准的登录认证系统。
通过AD服务器可将AD用户/组织同步到ZStack Cloud用户列表/组织架构,并支持使用指定的AD登录属性直接登录ZStack Cloud。
- LDAP认证:
LDAP(Lightweight Directory Access Protocol)是轻量目录访问协议,可提供标准的目录服务, 为日益多样化的企业办公应用提供了一套独立、标准的登录认证系统。
通过LDAP服务器可将LDAP用户同步到ZStack Cloud用户列表,并支持使用指定的LDAP登录属性直接登录ZStack Cloud。
- OIDC认证:
OIDC(OpenID Connect)是一套基于OAuth2协议构建的身份认证协议,允许客户端验证用户身份并获取基本的用户配置信息。
通过OIDC服务器可将用户信息按照映射规则同步至云平台,并支持OIDC认证系统用户免密登录云平台。
- OAuth2认证:
OAuth2(Open Authorization 2.0)是一套授权协议标准,可认证并授权用户访问相关资源。云平台暂仅支持通过授权码模式进行授权。
通过OAuth2服务器可将用户信息按照映射规则同步至云平台,并支持OAuth2认证系统用户免密登录云平台。
- CAS认证:
CAS(Central Authentication Service)是一套单点登录协议,允许网站应用对用户进行鉴权。
通过CAS服务器可将用户信息按照映射规则同步至云平台,并支持CAS认证系统用户免密登录云平台。
- SAML认证:
基于 SAML 2.0 协议构建的统一认证服务器,支持云平台作为服务提供商(SP)与身份提供商(IdP)对接。可认证并授权 IdP 中的用户免密登录云平台,并将用户属性将按照映射规则同步至云平台。
| 操作 | 描述 |
|---|---|
| 编辑 | 修改名称和简介。 |
| 同步 | 同步统一认证服务器将重新获取最新用户列表及组织架构。 Note: 同步后不存在的用户将变更为已删除状态并无法登录。 |
| 测试连接 | 检查统一认证服务器的连通性,若连接失败,可能存在以下原因:
|
| 删除 | 删除添加的统一认证服务器。 Note: 删除统一认证服务器将同时删除同步到云平台的统一认证用户/组织,源统一认证服务器中的用户/组织不受影响。 |
| 操作 | 描述 |
|---|---|
| 编辑名称简介 | 修改名称和简介。 |
| 删除 | 删除添加的统一认证服务器。 Note: 删除统一认证服务器将同时删除同步到云平台的统一认证用户,源统一认证服务器中的用户不受影响。 |
项目管理
租户管理为企业用户提供项目管理功能。
项目管理:以项目为导向进行资源规划,可为一个具体项目建立独立的资源池。通过对项目生命周期进行管理(包括确定时间、确定配额、确定权限等),以更细粒度更自动化的方式提高云资源利用率,同时加强项目成员间的协作性。
- 项目:项目即是租户,指在特定时间、资源、预算下指定相关人员完成特定目标的任务。租户管理中的租户主要指项目。支持以项目为导向进行资源规划,为一个具体项目建立独立的资源池。
- 创建项目需指定资源配额、回收策略,添加项目成员等。
- 云平台内的基本资源(计算规格、镜像、网络等),建议提前共享或创建。
- 项目成员:加入项目的用户,作为项目的基本组成人员,包括项目负责人、项目管理员和普通项目成员。
- 项目负责人:拥有项目负责人角色的用户,负责管理项目内的用户,在项目中拥有最高权限。
- 项目管理员:拥有项目管理员角色的用户,协助项目负责人管理项目,同一项目可指定一个或多个项目成员作为项目管理员。
- 配额:配额是对项目的资源总量进行控制的衡量标准。主要包括云主机数量、CPU数量、内存容量、最大数据云盘数目和所有云盘最大容量等。
- 项目回收策略:创建项目需指定项目回收策略,包括无限制、指定时间回收和指定费用回收三种。
- 无限制:创建项目后,项目内资源默认一直处于启用状态。
- 指定时间回收:
- 项目有效期限不足14天时,项目成员登录云平台后智能操作助手将弹出项目即将过期的提醒信息。
- 项目过期后,项目内资源按照指定的控制策略回收,回收策略有以下三种:禁止项目成员登录、禁止项目成员登录且停止项目资源、删除项目。
- 指定费用回收:项目费用达到限额时,项目内资源按照指定的控制策略回收,回收策略有以下三种:禁止项目成员登录、禁止项目成员登录且停止项目资源、删除项目。
- 登录时间限制:创建项目时,可设置项目内成员允许/禁止登录项目的时间段,限制策略包括按允许登录时间和按禁止登录时间两种。
- 允许登录时间:支持设置每天/每周某几天项目内成员可登录项目的时间。设置后,项目内成员仅可在允许登录时间段内登录项目。
- 禁止登录时间:支持设置每天/每周某几天项目内成员不可登录项目的时间。设置后,项目内成员在禁止登录时间段内无法登录项目。
- 安全组限制:管理员可为项目启用或禁用安全组限制功能。启用后,项目成员创建云主机时将强制绑定安全组。
- 启用安全组限制前,需确保项目拥有至少1个安全组配额。
- 启用安全组限制后,将为该项目创建一个默认安全组。
| 操作 | 描述 |
|---|---|
| 创建项目 | 创建新的项目。 |
| 编辑项目 | 修改项目的名称和简介。 |
| 启用项目 | 将已停用的项目启用。 |
| 停用项目 | 将启用的项目停用。 |
| 停止所有资源 | 停止项目资源将停止项目内所有云主机和路由器资源,但项目仍可正常登录,请谨慎操作。 |
| 恢复过期项目 | 将已过期的项目恢复后,项目正常登录,项目内相关资源正常运行。 |
| 添加用户 | 为项目添加用户。 |
| 设置部门 | 项目加载部门后,支持查看部门账单,移除部门会将项目账单将从部门账单中移除。 |
| 更换计费价目 | 为项目更换计费价目,并使用更换后的价目进行计费。 |
| 设置项目负责人 | 设置项目的负责人。 |
| 生成项目模板 | 将已有项目生成模板,在创建项目时,可直接使用模板定义的配额来配置项目。 |
| 删除 |
|
工单管理
租户管理为企业用户提供工单管理功能。
工单管理:
为了更高效地为每个项目提供基础资源支持,项目成员(项目负责人/项目管理员/普通项目成员)可对云平台资源提出工单申请,根据每个项目自定义工单审批流程,对工单进行审批,最终由admin或项目负责人审批,支持申请云主机、删除云主机、修改云主机配置、修改项目周期和修改项目配额五种工单类型。
| 操作 | 描述 |
|---|---|
| 创建工单流程 | 创建一个新的工单流程。 |
| 编辑工单流程 | 修改工单流程的名称和简介。 |
| 启用工单流程 | 启用工单流程,此时该工单流程可用。 |
| 停用工单流程 | 停用工单流程,此时该工单流程不可用。工单流程停用后,未走完的工单将不可操作,重新启用后恢复操作。 |
| 修改工单流程 | 支持增加或删除工单类型;支持添加或移除工单流程环节。 Note:
|
| 删除 | 工单流程删除后,使用此流程的项目将使用默认流程(提交->admin),所有正在使用此流程的工单将按默认流程重新提交。 |
工单审批:
- 待办事项:
该页面显示待处理的工单,可审批通过或驳回申请;
- 已办事项:
该页面显示已处理的工单,审批通过或驳回的工单均属于已处理工单;
- 已归档:
该页面显示已归档的工单,项目成员删除已处理的工单后,admin可在已归档页面查看该条工单信息。
- 通过:通过工单,系统将按配置自动创建资源给申请人Note: 部署资源过程中,支持admin对资源进行高级设置。
- 驳回:驳回工单,可标注驳回原因
计费管理
计费价目
计费价目:一张包含不同资源计费单价的集合表,资源单价基于资源规格、资源使用时间而设置。
ZStack Cloud提供准公有云计费方式体验,将各资源计费单价汇总为一份计费价目,绑定到项目/账户即可按量生成计费账单。目前支持计费的资源类型包括:处理器、内存、根云盘、数据云盘、GPU设备、公网IP(云主机IP)、公网IP(虚拟IP)。
计费价目注意事项
- 一条计费价目支持绑定到多个项目/账户;同一项目/账户只能且必须绑定一条计费价目。
- 系统提供一条默认计费价目,不支持删除。升级云平台场景,将根据原有计费设置自动创建默认计费价目并绑定所有项目/账户。
- 默认计费价目暂不支持删除。
- 正在被项目/账户使用的计费价目无法删除,请为所有相关项目//账户更换计费价目再执行此操作。
- 公网IP需设置QoS才可按计费单价进行计费。
- IPv6类型的虚拟IP暂不支持计费。
- 计费价目支持通过高级参数方式对根云盘/数据云盘按照磁盘性能计费,其配置条目依赖计算规格/云盘规格高级参数中的priceUserConfig信息,请确保配置严格一致,否则不能生成计费账单。
- 删除截止至今的价目历史,将删除价目记录;同时,相关账单立即生成一次且不再继续计费。
- 删除其他价目历史,仅删除价目记录,不影响计费和账单生成。
账单
账单:按计费价目在指定时间段统计的资源费用,计费精确至秒级。账单类型包括:项目账单、部门账单、账户账单。
- 汇总账单
- 资源账单
- 账单明细
汇总账单
在ZStack Cloud主菜单,点击,进入账单界面。

汇总账单显示指定时间段内项目/部门/账户的计费账单,方便用户快速了解近期消费情况。
- 项目:以列表方式实时显示指定时间段内不同项目的计费账单。Note:
- 项目账单依赖租户管理模块License,请提前获取并安装。
- 为项目绑定计费价目并以资源为单位设置计费单价,即可开始计费并生成项目账单。
- admin/平台成员/项目成员支持查看项目账单。
- 部门:以组合列表方式实时显示指定时间段内不同部门的计费账单。Note:
- 部门账单依赖租户管理模块License,请提前获取并安装。
- 项目加载到部门即可获取项目相关计费数据(包括历史费用)并按部门生成账单。
- 计费数据与项目直接相关,部门卸载项目后,相关计费数据(包括历史费用)将全部从部门账单移除。
- admin/平台成员/部门负责人支持查看部门账单。
- 账户:以列表方式实时显示指定时间段内不同账户的计费账单。Note:
- 为账户绑定计费价目并以资源为单位设置计费单价,即可开始计费并生成账户账单。
- admin/平台成员/账户支持查看账户账单。
ZStack Cloud对接管的vCenter支持多租户管理,普通账户支持分别展示KVM和vCenter的计费账单。
ZStack Cloud对接管的vCenter支持多租户管理,项目成员支持分别展示KVM和vCenter的计费账单。
资源账单
- 项目/账户详情页支持查看账单总览和账单明细。账单明细子页面支持以资源为粒度查看资源账单,如图 4所示:
图 4. 账单总览和账单明细 

Note:- 区别于实时计费,账单明细采用定时输出账单方式。默认每天零点生成一次账单,用户可自行设置账单生成时刻。设置方法:
进入,设置账单生成触发时刻即可,默认为零点。
- 普通账户/项目成员支持查看账单详情,与admin视角类似,可以查看本账户内处理器、内存、根云盘、数据云盘、GPU设备、公网IP(云主机IP)、公网IP(虚拟IP)的账单明细。
- 区别于实时计费,账单明细采用定时输出账单方式。默认每天零点生成一次账单,用户可自行设置账单生成时刻。设置方法:
- 部门详情页分为两个部分:
- 费用概览:支持查看直属项目计费和下级部门计费
- 直属项目账单明细:支持以项目列表方式查看直属项目账单
图 5. 部门账单详情页 
Note:- 直属项目计费:仅显示加载到此部门中所有项目的计费总额。
- 下级部门计费:所有下级部门中加载项目的计费总和。
账单明细
项目/账户支持指定资源查看账单明细,点击资源账单后面的查看每日明细即可查看。


- 区别于实时计费,账单明细采用定时输出账单方式。默认每天零点生成一次账单,用户可自行设置账单生成时刻,默认零点。可在全局设置中按需修改。
- 项目/账户更换计费价目,相关资源将立即生成一次账单。
- 删除计费价目中截止至今的历史价目,相关资源将立即生成一次账单。
- 普通账户/项目成员支持查看账单详情,与admin视角类似,可以查看本账户内云主机、根云盘、数据云盘、GPU设备、公网IP(云主机IP)、公网IP(虚拟IP)的账单明细。
计费规则
- 若在全局设置中关闭计费功能开关,系统将停止对资源进行计费,关闭后不再生成新的账单。
- 云主机已删除但未彻底删除,仅释放计算资源(处理器、内存)和IP资源,存储资源仍然占据。因此,处理器、内存、公网IP资源不再进行计费,但根云盘依然计费直至被彻底删除。
- 云主机处于已停止状态,仅释放计算资源,依然占用存储资源和IP资源。因此,处理器和内存资源不再计费,但根云盘和公网IP将继续进行计费。
- 弹性裸金属实例计费的本质为裸金属节点,若关机并释放裸金属节点,将对弹性裸金属实例停止计费。
- 云盘已删除但未彻底删除,仍占据存储资源(数据云盘)。因此,数据云盘将继续计费直至被彻底删除。
- 公网IP采用带宽计费方式,需对公网IP(虚拟IP)或公网IP(云主机IP)设置QoS才可按计费单价进行计费。
- 未实例化的云盘不进行计费,一旦被实例化即刻开始计费。即使没有加载到云主机,依然进行计费。
- 更改资源所有者操作:以更改时间为分割点,更改前的费用保留于旧账户/项目,更改后在新账户/项目进行计费。
访问控制
AccessKey管理
AccessKey管理:访问云平台API的身份凭证,具有该云平台完全的权限,包括:AccessKey ID(访问密钥 ID)和AccessKey Secret(秘密访问密钥)。
- 本地AccessKey:
ZStack Cloud授权第三方用户调用ZStack Cloud API来访问ZStack Cloud云资源的安全凭证,需严格保密。
- 第三方AccessKey:
第三方用户授权ZStack Cloud用户调用第三方API来访问第三方云资源的安全凭证,需严格保密。
- AccessKey是云平台对API请求进行安全验证的关键因子,请妥善保管。
- 若某一AccessKey出现泄漏风险,建议及时删除该AccessKey并生成新的AccessKey。
生成本地AccessKey
在ZStack Cloud主菜单,点击,进入AccessKey 管理界面。点击生成AccessKey,将生成一个AccessKey。
注意事项
- Admin/平台管理员可以创建多个AccessKey,子账户/租户(项目成员)可以创建两个AccessKey。
- Admin/平台管理员可以随时启用、停用或者删除自己创建的AccessKey以及子账户/租户(项目成员)创建的AccessKey。
- 子账户/租户(项目成员)可以随时启用、停用或者删除自己创建的AccessKey。
- AccessKey具有该创建者完全的权限。

第三方平台使用AccessKey调用ZStack Cloud API
- SDK方式:以创建云主机(CreateVmInstance)为例,使用AccessKey调用ZStack Cloud API时,需输入accessKeyId和accessKeySecret,示例如下:
- Java
SDK
CreateVmInstanceAction action = new CreateVmInstanceAction(); action.name = "vm1"; action.instanceOfferingUuid = "ae97ced44efc3314b8f7798972b4ba1a"; action.imageUuid = "da119f7906513eccabf271991c35a65e"; action.l3NetworkUuids = asList("cc0e4c5e77df3af68e59668e7f9e06c5"); action.dataDiskOfferingUuids = asList("19d22d051b063d379a2816daaf431838","905d94a6abb5398fa1995f6398e3f6fc"); action.clusterUuid = "a0468dc645223f67bd0f2ab95276bbae"; action.description = "this is a vm"; action.strategy = "InstantStart"; action.accessKeyId = "Fnxc7KIQAdGTvXfx8OjC"; action.accessKeySecret = "Do0AJUGVPrT9iJZlc1QOtk7kzEusYidyqJxSmKOb"; CreateVmInstanceAction.Result res = action.call(); - Python
SDK
action = CreateVmInstanceAction() action.name = "vm1" action.instanceOfferingUuid = "ae97ced44efc3314b8f7798972b4ba1a" action.imageUuid = "da119f7906513eccabf271991c35a65e" action.l3NetworkUuids = ["cc0e4c5e77df3af68e59668e7f9e06c5"] action.dataDiskOfferingUuids = ["19d22d051b063d379a2816daaf431838", "905d94a6abb5398fa1995f6398e3f6fc"] action.clusterUuid = "a0468dc645223f67bd0f2ab95276bbae" action.description = "this is a vm" action.strategy = "InstantStart" action.accessKeyId = "Fnxc7KIQAdGTvXfx8OjC" action.accessKeySecret = "Do0AJUGVPrT9iJZlc1QOtk7kzEusYidyqJxSmKOb" res = action.call()
- Java
SDK
- 直接调用ZStack Cloud RESTful API方式:
- 创建AccessKey:
CreateAccessKey accountUuid=dff4fb9bbff14e97a67ab894c7b8c528 userUuid=dff4fb9bbff14e97a67ab894c7b8c528 { "inventory": { "AccessKeyID": "N3Tf05yXZUmSjCf6mYIB", "AccessKeySecret": "XAlrsYvswmnEV3X1KWNs1WfZHD6aBIIphmI0rX9S", "accountUuid": "dff4fb9bbff14e97a67ab894c7b8c528", "createDate": "Sep 6, 2018 1:50:06 PM", "lastOpDate": "Sep 6, 2018 1:50:06 PM", "userUuid": "dff4fb9bbff14e97a67ab894c7b8c528", "uuid": "ae353717ca7b4182bb87fb5d010235e8" }, "success": true } - 生成date:
python get_time.py Thu, 06 Sep 2018 13:54:10 PRCimport datetime import time date = time.time() #EEE, dd MMM yyyy HH:mm:ss z str = datetime.datetime.fromtimestamp(date).strftime('%a, %d %b %Y %H:%M:%S PRC') print strNote: 时间格式必须为EEE, dd MMM yyyy HH:mm:ss zzz。 - 生成digest:
# python get_accesskey.py "vvSZpmj4cnB53qUDmm6E" "8heumeFTvIeZxkTGfEYvVi9qVVPd9ffQNDALSPPb" \ "GET" "Fri, 06 Aug 2021 17:58:34 PRC" "/v1/vm-instances" args: Namespace(acesskey_id='vvSZpmj4cnB53qUDmm6E', acesskey_secret='8heumeFTvIeZxkTGfEYvVi9qVVPd9ffQNDALSPPb', \ date='Fri, 06 Aug 2021 17:58:34 PRC', method='GET', uri='/v1/vm-instances') Signature: hPToRHeHdV49D4u20G8OlE0yJho= Authoration ZStack vvSZpmj4cnB53qUDmm6E:hPToRHeHdV49D4u20G8OlE0yJho=#/usr/bin/python import base64 import hmac import sha import argparse from hashlib import sha1 parser = argparse.ArgumentParser(description='calculate zstack access key digit.') parser.add_argument('acesskey_id') parser.add_argument('acesskey_secret') parser.add_argument('method') parser.add_argument('date') parser.add_argument('uri') args = parser.parse_args() print "args: %s" % args h = hmac.new(args.acesskey_secret, args.method + "\n" + args.date + "\n" + args.uri, sha1) Signature = base64.b64encode(h.digest()) print "Signature: %s" % Signature print "Authoration %s" % ("ZStack " + args.acesskey_id + ":" + Signature) - 发送请求
curl -H "Authorization:ZStack N3Tf05yXZUmSjCf6mYIB:S3vm7u7/+n+sIQe72lgia08I30U=" \ -H "Content-Type:application/x-www-form-urlencoded" \ -H "Date:Thu, 06 Sep 2018 13:54:10 PRC" \ -X GET http://172.20.11.134:8080/zstack/v1/vm-instances
- 创建AccessKey:
本地AccessKey支持以下操作:
| 操作 | 描述 |
|---|---|
| 生成本地AccessKey | 生成一个新的本地AccessKey。 |
| 启用本地AccessKey | 启用处于停用状态的本地AccessKey。 |
| 停用本地AccessKey | 停用选中的本地AccessKey。 |
| 删除本地AccessKey | 删除选中的本地AccessKey。 Note: 删除本地AccessKey,将不能调用API来访问本地云资源。 |
添加第三方AccessKey
在ZStack Cloud主菜单,点击,进入AccessKey 管理界面。点击添加AccessKey,弹出添加AccessKey界面。
- 名称:设置第三方AccessKey名称
- 简介:可选项,可留空不填
- AccessKey ID和AccessKey Secret:输入已在第三方申请好的AccessKey ID和AccessKey Secret

第三方Accesskey支持以下操作:
| 操作 | 描述 |
|---|---|
| 添加第三方AccessKey | 添加一个新的第三方AccessKey。 |
| 删除第三方AccessKey | 删除选中的第三方AccessKey。 Note: 删除AccessKey将清除该AccessKey相关的本地资源记录,且该AccessKey授权的API访问权限失效,第三方公有云资源不受影响。 |
注意事项
- admin/平台管理员可以随时删除自己添加的第三方AccessKey以及租户添加的第三方AccessKey。
- 子账户子账户/租户(项目成员)可以随时删除自己添加的第三方AccessKey。
IP黑白名单
IP黑白名单 (IP Blocklist/Allowlist):云平台登录IP的黑白名单,通过对访客身份的识别和过滤,进一步提升云平台登录安全。ZStack Cloud支持配置IP黑白名单,对登录云平台的IP进行过滤控制。
进入,设置云平台登录IP黑白名单即可,默认为False。
IP黑白名单工作原理
- 不添加IP黑白名单:默认允许来自任意IP的登录请求。
- 仅添加黑名单:不允许黑名单中的IP登录云平台,其余IP允许登录。
- 添加黑名单+白名单:白名单优先级高于黑名单。
- 允许白名单中的IP登录云平台。
- 如同一个IP同时被添加在黑白名单中,则以白名单为准,允许来自该IP的登录请求。
- 从不允许登录的IP地址访问云平台,系统将在登录时进行拦截。
- 如使用负载均衡转发登录请求到云平台,请在负载均衡设备上正确配置负载均衡X-Forwarded-For转发,如未配置,云平台将无法获取实际的客户端IP,无法准确放行/拦截来自该客户端的访问。
- 白名单不支持单独使用。使用前,请确保平台内已添加至少一条黑名单,否则白名单不生效。
添加IP黑名单/白名单
在IP黑白名单页面,可以选择添加IP黑名单或IP白名单,添加方式一致,以添加IP黑名单为例:
在ZStack Cloud主菜单,点击,进入IP黑白名单界面,点击添加IP黑名单,弹出添加IP黑名单界面。
- 名称:设置IP黑名单名称
- 简介:可选项,可留空不填
- IP地址:输入需要加入IP黑名单的IP地址Note:
- 支持输入固定IP地址、IP地址范围、IP/掩码格式,添加多个需要以英文逗号分隔开。
- 支持最多添加100条。

| 操作 | 描述 |
|---|---|
| 添加IP黑/IP白名单 | 添加一个新的IP黑/白名单。 Note: 添加IP黑/白名单,该名单将立即生效,名单中的IP地址将被拒绝/允许登录云平台,请谨慎操作。 |
| 编辑IP黑/白名单 | 编辑IP黑/IP白名单的名称、简介信息。 |
| 删除IP黑/白名单 | 删除选中的IP黑/白名单。 Note: 删除IP黑/白名单,该名单将失效,登录云平台IP无限制,请谨慎操作。 |
控制台代理
控制台代理(Console Proxy):可通过代理地址登录云主机控制台。UI界面上显示了当前控制台代理的信息,即打开云主机的控制台时使用的代理信息。
在ZStack Cloud主菜单,点击,进入控制台代理界面。

- 控制台代理地址只需要在管理节点修改。
- 默认代理显示的地址为管理节点的IP地址。
- 只有当状态为启用和已连接时,才可正常打开控制台访问云主机。
控制台代理支持以下操作:
| 操作 | 描述 |
|---|---|
| 重连控制台代理 | 重连控制台代理。 Note: 若云主机控制台打开失败,需进行重连操作。重连后状态显示为启用和已连接时,控制台可以正常打开。 |
| 设置控制台代理地址 | 设置控制台代理地址。 Note: 支持在UI界面上设置控制台代理地址。
|
应用市场
应用市场:通过内置的应用部署包或URL,快速部署应用服务并一键跳转使用,支持默认应用、拓展应用。
默认应用
- ZStack Cloud提供多款应用部署包:
- ZStack Zaku:提供简单易用的容器管理功能,部署后可在ZStack Cloud直接使用容器服务。
- ZStack ZMigrate迁移:为ZStack Cloud打造的混合云迁移服务,可以将公有云、私有云等各种来源的云主机高效平稳地迁移到ZStack Cloud。
- ZStack组件服务监控套件:针对ZStack Cloud组件服务的监控套件,支持可视化查看管理节点、计算节点的服务进程状态,例如:云平台UI服务、云平台监控采集服务、zsha2高可用服务、数据库服务、物理机虚拟化服务、物理机agent服务等。
- ZStack DTS数据库传输服务:用于在不同数据库间进行数据一键同步和迁移,支持各种OLTP事务数据库 (Oracle/MySQL/PG等)、OLAP分析数据库 (Greenplum/Hive等)、NoSQL>消息队列 (MongoDB/Kafka等)。
- 一站式运维平台 (SysOM):一站式操作系统运维平台,在统一平台上实现主机管理、系统监控、异常诊断、日志审计、问题分析等复杂操作和管理。
- Grafana:开源指标分析和可视化套件,支持可视化查看各种时间源的时间序列数据。
- 银河麒麟高级服务器操作系统V10SP3:提供内生本质安全、云原生支持、自助平台深入优化、高性能、易管理的新一代自主服务器操作系统。
- ZStack CMP:多云管理平台,支持统一管理分布在多数据中心的ZStack集群。
- ZStack AI模型平台:提供一站式AI模型管理服务,支持多种模型管理和一键部署,
- 除以上应用外,用户可自行制作应用包并内置到云平台,通过应用市场快速部署使用。详情可参考《应用市场开发使用教程》

管理应用
| 操作 | 描述 |
|---|---|
| 安装应用 | 基于部署包安装一个新应用。 Note:
|
| 查看参数 | 应用安装完成后,可进入已安装列表,查看应用详细配置。 |
| 查看云主机 | 应用安装完成后,可进入已安装列表,查看运行该应用的云主机信息。 |
| 卸载应用 | 将已安装的应用卸载。 Note:
|
| 操作 | 描述 |
|---|---|
| 添加应用 | 添加一个新的应用。 |
| 修改应用 | 可修改该应用的类型、名称、简介、URL、共享权限。 |
| 删除应用 | 将该应用删除。 |

