操作场景
当管理员需要为 DatabaseClaw 配置调用腾讯云数据库管控面 API 的权限时,可通过用户角色管理功能实现精细化的权限控制。典型使用场景包括:
首次开通 DatabaseClaw 后,确认默认全局只读角色已自动创建并生效。
基于业务需求,为特定实例创建可写权限角色并关联生效。
查看当前账号下所有 CAM 角色的状态、策略及关联实例情况。
背景信息
DatabaseClaw 通过腾讯云 访问管理(CAM) 统一管理 DatabaseClaw 调用云 API 的权限。用户角色是在客户 CAM 账号下创建的标准 CAM 角色,DatabaseClaw 管理端负责镜像展示这些角色,并维护角色与实例的关联关系。DatabaseClaw 以绑定的角色身份获取临时凭证调用腾讯云数据库管控面 API,实现权限与人的子账号完全解耦。
核心概念
概念 | 说明 |
用户角色 | 客户在 CAM 控制台创建或由 DatabaseClaw 代创建的 CAM 角色,DatabaseClaw 以该角色身份调用云 API,权限边界由角色关联的策略决定 |
默认全局只读角色 | 客户首次创建 DatabaseClaw 实例时自动代建的 DatabaseClaw_AI_GlobalReadOnly 角色,默认对账号下所有未单独绑定角色的实例生效。 |
角色模板 | DatabaseClaw 提供的预定义策略组合方案,包含只读角色模板和可写角色模板,简化角色创建流程。 |
关联实例 | 将 CAM 角色绑定到指定 DatabaseClaw 实例,在操作该实例时以绑定角色身份执行。 |
生效优先级
DatabaseClaw 调用云 API 时,按以下优先级确定使用的角色:
1. 指定实例关联的角色:若目标实例已被单独绑定某角色,优先使用该角色。
2. 全局生效角色:若实例未被单独绑定,使用账号下的全局生效角色(默认为
DatabaseClaw_AI_GlobalReadOnly)。角色模板策略清单
只读角色模板(14 条预置策略)
类别 | 策略名称 | 适用产品 |
关系型数据库(5 条) | QcloudCDBReadOnlyAccess | 云数据库 MySQL |
| QcloudCynosDBReadOnlyAccess | TDSQL-C MySQL |
| QcloudMariaDBReadOnlyAccess | TDSQL MariaDB |
| QcloudPostgreSqlReadOnlyAccess | 云数据库 PostgreSQL |
| QcloudSqlServerReadOnlyAccess | 云数据库 SQL Server |
KV / 缓存(2 条) | QcloudRedisReadOnlyAccess | Distributed Cache (兼容 Redis) |
| QcloudKeeWiDBReadOnlyAccess | KeeWiDB |
文档型 / 时序型(2 条) | QcloudMongoDBReadOnlyAccess | 云数据库 MongoDB |
| QcloudCTSDBReadOnlyAccess | CTSDB |
数据传输与诊断(4 条) | QcloudDTSReadOnlyAccess | 数据传输服务 DTS |
| QcloudDMCReadOnlyAccess | 数据库管理中心 DMC |
| QcloudDBbrainReadOnlyAccess | 数据库智能管家 DBbrain |
| QcloudMonitorReadOnlyAccess | 云监控 |
数据库 AI 服务(1 条) | QcloudDatabaseClawUserFullAccess | 数据库 AI 服务 |
可写角色模板(14 条只读 + 13 条 FullAccess + 1 条 Deny 兜底)
在只读模板全部 14 条策略基础上,额外关联以下策略:
写权限策略(13 条)
类别 | 策略名称 | 适用产品 |
关系型数据库(5 条) | QcloudCDBFullAccess | 云数据库 MySQL |
| QcloudCynosDBFullAccess | TDSQL-C MySQL |
| QcloudMariaDBFullAccess | TDSQL MariaDB |
| QcloudPostgreSqlFullAccess | 云数据库 PostgreSQL |
| QcloudSqlServerFullAccess | 云数据库 SQL Server |
KV / 缓存(2 条) | QcloudRedisFullAccess | Distributed Cache (兼容 Redis) |
| QcloudKeeWiDBFullAccess | KeeWiDB |
文档型 / 时序型(2 条) | QcloudMongoDBFullAccess | 云数据库 MongoDB |
| QcloudCTSDBFullAccess | CTSDB |
数据传输与诊断(3 条) | QcloudDTSFullAccess | 数据传输服务 DTS |
| QcloudDMCFullAccess | 数据库管理中心 DMC |
| QcloudDBbrainFullAccess | 数据库智能管家 DBbrain |
数据库 AI 服务(1 条) | QcloudTDAIFullAccess | 数据库 AI 服务 |
Deny 兜底策略(1 条)
策略名称 | 拒绝范围 |
DatabaseClaw_DenyDestructive_v2 | 永久拒绝销毁、扩缩容、库表删除、网络变更等高危动作 |
警告:
可写角色允许 DatabaseClaw 调用数据库写操作类 API(参数变更、账号管理、备份恢复等),通过强制叠加 Deny 策略
DatabaseClaw_DenyDestructive_v2 兜底拒绝高危动作。本角色建议绑定指定实例,不建议全局生效。实现机制
DatabaseClaw 用户角色管理基于以下机制实现权限的安全隔离:
1. 角色始终归属客户账号:所有用户角色均创建在客户自己的 CAM 账号下,客户随时可在 CAM 控制台查看、修改或收回权限。DatabaseClaw 仅在客户授权范围内代为创建和维护角色。
2. DatabaseClaw 身份与人的子账号解耦:DatabaseClaw 调用云 API 时使用独立的用户角色身份,不继承当前操作人(子账号)的 CAM 权限。即使操作人拥有扩缩容、网络变更等高危权限,DatabaseClaw 的操作边界仍受角色策略约束。
3. 默认全局只读兜底:客户首次创建实例时,系统自动代建默认全局只读角色
DatabaseClaw_AI_GlobalReadOnly,确保所有实例开通即拥有只读安全基线,无需客户主动配置。4. 角色绑定到实例级别:每个 DatabaseClaw 实例可独立绑定不同的用户角色。角色变更后实例需重启以加载新凭证(通常 30 秒内恢复)。
5. 可写权限强制叠加 Deny 兜底:可写角色在授予写操作权限的同时,强制关联
DatabaseClaw_DenyDestructive_v2 策略,从 CAM 策略层面永久拒绝销毁、扩缩容、库表删除、网络变更等高危动作,确保不可能执行不可逆操作。6. 全链路审计可追溯:每次 DatabaseClaw 调用云 API 时,请求携带实例 ID 和操作主体信息,可在 CAM 审计日志中追溯到具体实例和操作链路。
使用限制
限制项 | 限制说明 |
访问权限 | 仅主账号或被授予 QcloudDatabaseClawAdminFullAccess 策略的子账号可访问用户角色页面。 |
角色载体 | 用户角色页面仅展示 DatabaseClaw 可使用的 CAM 角色,其他类型的角色不在此页面展示。 |
全局角色数量 | 账号下最多 1 个全局生效角色处于启用状态。 |
实例角色绑定 | 同一实例只能绑定 1 个指定角色,绑定新角色时自动替换原绑定。 |
角色命名规范 | 角色名称以 DatabaseClaw_ 开头,支持英文、数字、下划线,长度不超过 60 个字符。 |
代创建前提 | 使用 DatabaseClaw 代创建角色功能时,当前操作人需具备 cam:CreateRole 和 cam:AttachRolePolicy 权限。 |
注意事项
角色变更后,受影响的实例需要重启才能使新角色生效。重启期间(通常 30 秒内)DatabaseClaw 对话暂时不可用。
可写角色模板中强制叠加 Deny 策略
DatabaseClaw_DenyDestructive_v2,永久拒绝销毁实例、扩缩容、网络变更、库表删除等高危动作。角色的编辑、删除、标签管理、策略调整等维护操作需在 CAM 控制台完成,DatabaseClaw 管理端不提供这些操作。
前提条件
当前账号已被授予
QcloudDatabaseClawAdminFullAccess CAM 策略。首次创建 DatabaseClaw 实例时已完成
DatabaseClaw_AIRoleProvisioner 角色的服务授权。操作步骤
创建用户角色
DatabaseClaw 提供两种创建用户角色的方式:通过 DatabaseClaw 代创建或前往 CAM 控制台手动创建。
方式一:DatabaseClaw 代创建(推荐)
1. 登录 数据库 AI 服务控制台。
2. 在左侧导航栏选择 DatabaseClaw > 后台管理。
3. 选择团队管理 > 用户角色页面。
4. 在用户角色页面,单击 DatabaseClaw 代创建。
5. 在弹出的选择角色模板对话框中,选择需要创建的角色模板类型:
只读角色模板:仅具备数据库只读权限,适用于诊断分析场景。
可写角色模板:在只读基础上具备写操作权限(参数变更、账号管理、备份恢复等),同时强制叠加 Deny 策略拒绝高危动作。
6. 单击下一步,进入角色信息确认页面。
7. 确认或修改以下角色信息。

参数 | 说明 |
推荐角色名称 | 系统自动生成的角色名称,格式为 DatabaseClaw_AI_ReadOnly_<时间戳>或 DatabaseClaw_AI_ReadWrite_<时间戳>。支持自定义修改,需遵循以下约束: 必须以 DatabaseClaw_开头 仅支持英文、数字、下划线 长度不超过 60 个字符 |
推荐角色描述 | 系统自动生成的角色描述,支持自定义修改。 |
标签 | 可选配置。为角色绑定标签键值对,用于资源的分类管理与成本核算。 |
策略信息 | 展示该角色将关联的预置策略清单(如只读/读写权限)。 该内容为系统预置,不支持修改。 |
8. 阅读页面底部的安全说明,勾选确认复选框:我已了解:DatabaseClaw 代创建会在当前操作人 CAM 权限范围内创建角色并关联策略;后续编辑/删除仍在 CAM 完成。
9. 单击 DatabaseClaw 代创建,完成角色创建。
说明:
若当前操作人不具备
cam:CreateRole 或 cam:AttachRolePolicy 权限,代创建按钮将置灰,请改用方式二或联系主账号授权。也可单击前往 CAM 创建,跳转至 CAM 控制台手动创建角色。
方式二:前往 CAM 控制台创建
1. 登录 CAM 控制台。
2. 在左侧导航栏选择角色。
3. 在页面上方单击新建角色。
4. 在弹出的选择角色载体窗口,选择腾讯云产品服务作为角色载体,进入新建自定义角色页面。
5. 在输入角色载体信息步骤,通过搜索选择腾讯云数据库 AI 服务,可选择的使用案例选择腾讯云数据库 AI 服务,单击下一步。

6. 在配置角色策略步骤,勾选您想要给当前角色添加的策略为角色配置策略,单击下一步。
说明:

7. 在配置角色标签步骤(可选),输入角色的标签键和标签值,单击下一步。
8. 在审阅步骤,输入您的角色名称,审阅您即将创建角色的相关信息无误后,单击完成后即完成自定义角色创建。
注意:
支持自定义,需遵循以下约束:
• 必须以 DatabaseClaw_开头,若不满足该命名约束,用户角色页面将不展示该新建角色。
• 仅支持英文、数字、下划线
• 长度不超过 60 个字符

9. 创建完成后,返回 DatabaseClaw 用户角色页,单击刷新按钮查看新建角色。

关联实例
为角色配置生效的 DatabaseClaw 实例范围,在操作对应实例时以该角色身份执行。
1. 登录 数据库 AI 服务控制台。
2. 在左侧导航栏选择 DatabaseClaw > 后台管理。
3. 选择团队管理 > 用户角色页面。
4. 在用户角色页面,找到目标角色行,单击关联实例。
5. 在关联实例弹窗中,查看角色基础信息。
参数 | 说明 |
角色名称 | 当前操作用户所关联的 CAM 角色名称。 |
角色 ID | 该角色在 CAM 系统中的唯一标识(RoleId)。 |
角色载体 | 角色的信任实体信息,用于定义哪些账号或服务可以扮演该角色。 |
CAM 操作 | 单击打开 CAM 角色详情将跳转至 CAM 控制台,查看该角色的权限策略、关联用户及信任策略等完整信息。 |
6. 在关联实例区域,通过地域筛选和搜索框定位目标实例。
实例列表字段说明:
参数 | 说明 |
实例 ID / 名称 | DatabaseClaw 实例的唯一资源标识(InstanceId)及自定义名称。 |
状态 | 实例当前的运行状态,包括运行中、重启中、隔离中等枚举值。 |
当前 AI 角色 | 该实例当前绑定的 CAM 角色名称。 若未单独绑定或处于默认状态,则显示为 -。 |
7. 勾选需要关联的实例,单击保存关联实例。

说明:
若选中的实例已绑定其他角色,保存后将自动替换为当前角色。
角色变更保存后,受影响的实例需要重启以使新角色生效。系统将弹出二次确认提示,确认后实例将自动重启(通常 30 秒内恢复)。
保存后,DatabaseClaw 会更新对应 Pod 的 ServiceAccount 注解,触发 Pod rolling restart。期间实例状态变为重启中,恢复后回到运行中。重启过程中正在进行的 AI 对话会暂时中断,恢复后可继续提问。

角色本体在 CAM 中维护,此处仅配置该 CAM 角色对哪些 DatabaseClaw 实例生效。
查看用户角色列表
1. 登录 数据库 AI 服务控制台。
2. 在左侧导航栏选择 DatabaseClaw > 后台管理。
3. 选择 团队管理 > 用户角色页面。
4. 查看当前账号下 DatabaseClaw 可使用的 CAM 角色列表。

列表字段说明如下:
参数 | 说明 |
角色名称 | CAM 角色名称,与 CAM 控制台中的角色名称完全一致。 |
角色 ID | CAM 角色的唯一标识符(RoleId)。 |
角色载体 | 角色的信任实体信息(Principal)。 |
角色描述 | CAM 角色的描述信息,用于说明角色的用途。 |
标签信息 | 该角色所绑定的标签键值对,用于资源分类与成本管理。 |
会话最大持续时间 | 通过此角色获取的临时密钥(STS)的最长有效时间,默认为 2 小时。 |
关联实例 | 当前已绑定该角色的 DatabaseClaw 实例数量。 单击数值可查看具体关联的实例地域及实例 ID。 |
操作 | 支持对该角色执行的操作: • CAM 详情:跳转至 CAM 控制台查看完整角色信息。 |
5. 若需搜索特定角色,在页面右上方的搜索框中输入角色名称进行筛选。
查看 CAM 角色详情
1. 登录 数据库 AI 服务控制台。
2. 在左侧导航栏选择 DatabaseClaw > 后台管理。
3. 选择 团队管理 > 用户角色页面。
4. 在用户角色页面,找到目标角色行,单击操作列的 CAM 详情,跳转至 CAM 控制台查看该角色的完整信息,包括权限策略、角色载体、会话设置等。
管理 CAM 角色
DatabaseClaw 用户角色支持在 CAM 控制台创建或由 DatabaseClaw 代创建。无论角色来源如何,其全生命周期管理(查看、修改、删除等)均需在 CAM 控制台统一操作。
后续步骤
角色创建并关联实例后,DatabaseClaw 在对应实例的对话中将以该角色身份调用云 API,无需额外配置。
如需调整角色策略(增减权限),请前往 CAM 控制台 编辑对应角色的策略列表。
如需管理团队成员的访问权限,请参见 管理用户。
对应的 API 接口
API 名称 | 说明 |
DescribeClawRoles | 查询用户角色列表,返回角色名称、ID、载体、关联实例数等信息 |
CreateClawRole | 基于角色模板代创建 CAM 角色并关联预置策略 |
AssignClawRoleToInstances | 将指定角色关联到目标 DatabaseClaw 实例(支持批量) |
常见问题
Q1:默认全局只读角色是什么时候创建的?
默认全局只读角色
DatabaseClaw_AI_GlobalReadOnly 在客户首次创建 DatabaseClaw 实例时由系统自动代建。创建成功后,该角色自动对账号下所有未单独绑定角色的实例生效,DatabaseClaw 以只读权限调用云 API。Q2:DatabaseClaw 代创建角色和在 CAM 手动创建有什么区别?
对比维度 | DatabaseClaw 代创建 | CAM 手动创建 |
操作位置 | DatabaseClaw 管理端 | CAM 控制台 |
策略关联 | 按模板自动关联全部预置策略 | 需手动逐条关联策略 |
前提条件 | 操作人需具备 cam:CreateRole 和 cam:AttachRolePolicy 权限 | 操作人需具备 CAM 角色创建权限 |
适用场景 | 快速创建标准化角色 | 需要自定义策略组合时 |
两种方式创建的角色在 CAM 中完全等价,后续编辑、删除、策略调整均在 CAM 控制台完成。
Q3:只读角色和可写角色如何选择?
场景 | 推荐角色类型 | 说明 |
生产环境实例 | 只读角色 | DatabaseClaw 仅可执行诊断分析操作,不可进行任何写变更。 |
测试/开发环境实例 | 可写角色 | DatabaseClaw 可执行参数变更、账号管理、备份恢复等写操作,高危动作仍被 Deny 策略拒绝。 |
全局默认 | 只读角色 | 未单独绑定角色的实例默认以只读权限运行。 |
Q4:关联实例后为什么需要重启?
DatabaseClaw 采用 TKE OIDC 机制将 CAM 角色绑定到实例 Pod。角色变更后需要更新 Pod 的 ServiceAccount 绑定,因此受影响的实例需要重启以加载新角色的临时凭证。重启过程通常在 30 秒内完成。
Q5:可写角色的 Deny 策略能否移除?
可写角色代创建时,Deny 策略
DatabaseClaw_DenyDestructive_v2 会强制绑定,不可在代创建流程中跳过。客户如确有需要,可在 CAM 控制台手动解绑该策略。