PERMISSION_DENIED
遇到错误?使用 AI 工具协助排查
错误原因
该错误表示当前操作因权限不足而被拒绝,通常在以下两种情况下出现:
- 权限配置不正确:当前用户或客户端没有执行该操作的权限,需要检查对应模块的安全规则配置
- 未登录访问限制:在未登录状态下调用云开发资源,但环境未开启未登录访问权限
解决方案
调用云函数报错
当调用云函数时出现 PERMISSION_DENIED 错误,请按照以下步骤检查权限配置:
云开发控制台检查
- 前往 云开发平台/云函数
- 点击「权限控制」按钮进入配置页面
- 检查目标云函数的安全规则配置,确保
invoke规则满足以下条件之一:- 设置为
true(允许所有人调用) - 设置为
"auth != null"(仅允许已登录用户调用) - 设置其他符合业务需求的表达式
- 设置为
💡 提示:云函数安全规则详细说明请参考 云函数安全规则 文档。
微信开发者工具检查
如果您正在开发小程序,可以通过以下路径检查权限:
- 打开微信开发者工具
- 进入「云开发控制台」
- 点击「云函数」→「云函数权限」
- 检查并配置对应函数的权限设置

未登录场景调用资源报错
未登录模式指的是用户未进行身份认证(没有openid)的情况下访问云开发资源,主要包括以下场景:
- 单页模式:小程序或小游戏通过分享到朋友圈后被打开
- Web 未登录模式:Web 应用中未执行登录操作的访问
开启未登录访问权限
默认情况下,云开发资源 不允许未登录访问。如果您的业务需要支持未登录访问,需要进行以下配置:
步骤 1:开启环境级未登录访问
- 打开微信开发者工具
- 进入「云开发控制台」→「设置」→「权限设置」
- 开启「允许未登录访问」选项

步骤 2:配置资源安全规则
⚠️ 注意:开启环境级未登录访问后,还需要为各个资源(云函数、数据库、文件存储)分别配置安全规则才能真正生效。
未登录模式下,客户端权限控制 必须使用安全规则,具体要求:
- 云函数:在权限设置中选择「安全规则」并配置相应的访问规则
- 数据库:在权限设置中选择「安全规则」并配置数据访问规则
- 文件存储:在权限设置中选择「安全规则」并配置文件访问规则
安全规则配置说明
在安全规则中,未登录用户的 auth 字段为 null,您可以使用此特征来识别和控制未登录用户的访问:
{
"*": {
"invoke": "auth == null" // 仅允许未登录用户访问
}
}
或者同时允许登录和未登录用户:
{
"*": {
"invoke": true // 允许所有用户访问
}
}
💡 提示:出于安全考虑,建议根据实际业务需求设置最小权限原则,避免过度开放资源访问权限。