背景
云开发平台目前没有提供子账号对于主菜单的权限管控机制,因此在一些需要子账号限制相关菜单访问的场景,可以将主菜单调用的微搭云 API 进行 CAM 策略控制,达到子账号对不同菜单的管控目的。


实现思路
通过配置 子账号授权 WeDa 预设策略配置指引,实现子账号对微搭相关资源的操作权限,在子账号获取相关权限后,再将相应的子账号添加 CAM 预设限制策略,达到对不同菜单即不同微搭云 API 的访问限制。相关菜单调用微搭 API 接口如下:
菜单名称 | 平台 | 接口名称 |
模板中心/模板管理 | tcb | DescribeSolutionList |
云数据库 | lowcode | DescribeBasicDataSourceList |
云函数 | scf | ListFunctions |
云储存 | tcb | DescribeBaasPackageList |
身份认证 | lowcode | GetProviders |
可视化开发 | lowcode | DescribeApps |
素材库 | lowcode | DescribeMaterialInfoList |
工作流 | lowcode | DescribeAutomationFlowList |
审批流 | lowcode | GetFlowGroupList |
小程序认证 | lowcode | DescribeWedaWxBind |
说明:
目前菜单不支持隐藏,CAM 策略对微搭云 API 的限制为权限管控,菜单调用的相关接口,可在开发者调试模式下查看:


实现步骤
1. 以子账号限制访问工作流、素材库为指引示例,在主账号下前往 CAM 中心,单击需要设置的子账号。


2. 在子账号详情里,单击关联策略。


3. 在关联策略列表中,新建自定义策略。


4. 选择按策略生成器创建策略。


5. 策略配置如下,其中服务(Service)和操作(Action)为接口对应的平台以及名称,单击下一步。


说明:
拒绝策略和允许策略同时存在的时候,优先生效拒绝策略。
6. 编辑策略基本信息,包括策略名称、描述,将该策略关联到需要设置的子账号,单击完成。


7. 返回用户列表,查看子账号策略是否绑定成功。


8. 用子账号登录微搭控制台。


9. 前往云开发平台,这里以访问素材库为例,可以看到登录的子账号查看素材库提示没有资源权限。

