Secrets Store 允许安全管理员通过实施基于角色的访问来进行更多控制。有关 Cloudflare 角色详情,请参阅 Fundamentals。
对机密(secret)的访问由两个独立的检查来控制,且这两个检查都必须通过:
- 授权 (Authorization) —— 调用者必须拥有执行该操作的权限。权限来自 用户角色(当通过仪表板对请求进行身份验证时)或 API 令牌权限(当使用 API 令牌发起请求时)。系统会针对这两者之一对特定请求进行评估,而不是同时评估两者。
- 机密范围 (Secret scope) —— 机密上的 范围列表 必须包含使用该机密的具体服务。
例如,部署一个绑定了机密的 Worker 需要具备能够绑定机密的角色或 API 令牌,且该机密的范围必须包含 workers。
有关默认角色定义,请参阅以下列表。
- 可以创建、编辑、复制、删除和查看机密的元数据。
- 可以向 Worker 添加 Secrets Store 绑定。
- 可以在机密与 AI 网关之间创建关联。
- 可以创建、编辑、复制、删除和查看机密的元数据。
- 可以查看机密元数据,但无法创建、编辑、复制或删除机密。
- 可以向 Worker 添加 Secrets Store 绑定。
- 可以在机密与 AI 网关之间创建关联。
- 可以查看机密元数据。
- 无法执行任何操作(创建、编辑、复制、删除机密),也无法将 Secrets Store 集成与其他 Cloudflare 产品配合使用。
API 令牌 拥有两个 Secrets Store 权限级别:**Read(读取)**和 Edit(编辑)。您需要的权限取决于令牌正在执行的操作,而不是您是否打算修改机密本身。
- Account Secrets Store Read: 允许调用者查看机密的元数据(例如,列出机密,或者获取机密的名称、ID、范围和注释)。此权限不授予对机密值的访问权限,也不允许将机密绑定到另一个资源。
- Account Secrets Store Edit: 允许调用者创建、编辑、复制或删除机密。将机密绑定到另一个 Cloudflare 资源也需要 Edit 权限,例如向 Worker 添加 Secrets Store 绑定,或将机密与 AI Gateway 关联。将机密附加到资源会被视为对机密的写入操作。
每个机密都有一个 **Scopes(范围)**列表,用于决定允许哪些 Cloudflare 服务使用它。范围是在创建机密时设置的,以后可以通过编辑机密进行更新。
当前支持的范围有:
workers—— 允许将机密绑定到 Worker。ai-gateway—— 允许将机密与 AI Gateway 关联。
如果某个服务不在范围列表中,则绑定或将机密与该服务关联的请求将被拒绝,即使调用者拥有正确的角色或 API 令牌权限。因此,部署具有 Secrets Store 绑定的 Worker 需要同时满足以下两点:
- 能够绑定机密的用户角色或 API 令牌(Super Administrator 或 Secrets Store Deployer 角色,或者具有 Account Secrets Store Edit API 令牌权限)。
- 该机密的范围列表中包含
workers。
您可以在使用仪表板、API(scopes 字段)或 Wrangler(--scopes 标志)创建机密时设置范围。