策略管理
提示
v3 版本的请求已与 HTTP API 对齐,HTTP API 在调用云函数、云托管、云存储时会有严格的权限管理,因此在使用 v3 版本 SDK 之前,请务必确认权限的策略管理是否符合预期。
下面以 云函数 为例详细介绍如何进行 策略 配置。
进入权限控制页面
- 从 云开发平台/身份认证/权限控制 菜单,点击
权限控制,即可进入页面

- 在
权限控制页面,点击对应角色的配置权限菜单,即可在策略列表中看到相关的开放 API 策略,如果没有对应的开放 API 策略,可以点击添加自定义策略进行创建。

策略配置
点击某个角色的 添加自定义策略 操作,进行角色关联配置,在弹窗中选择网关资源类型,点击下一步,

可在列表中的选择对应 开放 API 的进行策略配置。策略标识映射关系如下:
- StoragesHttpApiAllow => 云存储
- FunctionsHttpApiAllow => 云函数
- CloudrunHttpApiAllow => 云托管
提示
确定关联角色后,将在 3分钟后 生效。

策略验证
假设设置了 云函数 FunctionsHttpApiAllow 的关联角色包含默认访客,即匿名用户可以调用云函数,则执行以下操作时将成功返回云函数调用结果。
// 初始化
const app = cloudbase.init({
env: "your-env-id", // 替换为您的环境ID
});
// 匿名用户登录,为默认访客角色
await app.auth.signInAnonymously();
// 调用名为 test 的云函数
await app.callFunction({ name: "test" });
// 返回 200 OK

假设设置了 云函数 FunctionsHttpApiAllow 的关联角色不包含默认访客,即匿名用户无权限调用云函数,则执行以下操作时将会被拦截。
// 初始化
const app = cloudbase.init({
env: "your-env-id", // 替换为您的环境ID
});
// 匿名用户登录,为默认访客角色
await app.auth.signInAnonymously();
// 调用名为 test 的云函数
await app.callFunction({ name: "test" });
// 返回 403 Forbidden
