需通过cam角色扮演机制实现跨账号授权:一、源账号创建可被扮演角色并限定最小权限;二、目标账号配置信任策略与资源权限;三、workbuddy配置sts临时凭证调用链;四、验证api调用有效性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望在WorkBuddy中安全调用多个腾讯云账号下的资源,但又不希望暴露主账号密钥或手动管理多套凭证,则需通过CAM角色扮演机制实现跨账号授权。以下是具体实施路径:
一、在源账号中创建可被扮演的CAM角色
该步骤用于在发起调用的账号(即WorkBuddy所绑定的主账号)中创建一个具备跨账号访问能力的角色,并明确允许目标账号代入该角色。角色策略需严格限定权限范围,仅授予实际所需的最小权限。
1、登录腾讯云CAM控制台,进入「角色」页面,点击「新建角色」。
2、在「选择角色载体」中选择「腾讯云账户」,表示该角色将被其他腾讯云账号扮演。
3、在「账号ID」栏输入目标账号的UIN(例如:91000000224),勾选「允许当前角色访问控制台」,点击「下一步」。
4、在策略配置页,搜索并附加预设策略 QcloudAdvisorFullAccess 与 CloudResourceReadOnlyAccess;如需更细粒度控制,可创建自定义策略并绑定。
5、填写角色名称(如WorkBuddyCrossAccountRole)与描述,完成审阅后点击「完成」。
二、为目标账号配置角色信任策略与权限绑定
该步骤确保目标账号(被访问资源所在账号)明确信任源账号所创建的角色,并为其分配对应资源的操作权限。信任策略是STS AssumeRole调用成功的前提条件。
1、在目标账号的CAM控制台中,进入「角色」→「新建角色」→「腾讯云账户」。
2、在「账号ID」栏填写源账号UIN(即上一步中创建角色的账号UIN),点击「下一步」。
3、在策略配置页,附加与待访问资源匹配的策略,例如 QcloudCVMFullAccess(若需操作CVM)或自定义策略。
4、设置角色名称(如TargetAccountResourceRole),完成创建。
腾讯云跨账号资源迁移工具,支持将账号A的VPC、CLB、NAT、CVM、安全组等资源迁移至账号B,通过CCN云联网实现跨账号网络互通,提供自动扫描、配置生成、Terraform部署功能。
5、进入该角色详情页,点击「信任策略」→「编辑」,确认策略文档中包含源账号UIN及sts:AssumeRole动作声明。
三、在WorkBuddy中配置STS临时凭证调用链
该步骤使WorkBuddy可通过源账号角色向STS服务请求临时Token,并以目标账号身份执行API调用。整个过程不持久化长期密钥,符合最小权限与安全审计要求。
1、获取源账号中已创建角色的RoleArn:进入CAM角色列表,点击角色名称,在「基本信息」区域复制RoleArn字段值(格式为qcs::cam::uin/123456789:roleName/WorkBuddyCrossAccountRole)。
2、在WorkBuddy的CloudQ Skill配置界面,定位至「高级认证」选项卡。
3、启用「STS角色扮演模式」,填入以下三项必填参数:
- RoleArn:上一步复制的源角色ARN;
- RoleSessionName:会话唯一标识(建议使用workbuddy-session-{timestamp}格式);
- Policy(可选):JSON格式最小权限策略,进一步限制本次会话可执行的操作。
4、保存配置后,WorkBuddy将在每次调用前自动向STS发起AssumeRole请求,获取含TemporarySecurityCredentials的响应。
5、使用返回的SecretId、SecretKey与Token构造签名请求,调用目标账号下受授权保护的云API(如DescribeInstances)。
四、验证跨账号资源访问有效性
该步骤通过实际API调用结果验证角色链是否打通、权限是否生效,避免因策略遗漏或信任关系未建立导致静默失败。
1、在WorkBuddy对话框中输入指令:
帮我列出目标账号下的所有CVM实例。
2、观察CloudQ Skill日志输出:若返回实例列表且包含目标账号UIN前缀的资源ID,则表明角色扮演成功。
3、若提示AccessDenied或InvalidEndpoint,需检查:
- 源角色的信任策略是否允许目标账号UIN调用sts:AssumeRole;
- 目标角色所绑定的权限策略是否覆盖所调用的API及其资源粒度;
- WorkBuddy配置中RoleArn是否完整无误,特别注意UIN与角色名拼写。










