角色与委托术语
角色与委托解决同一个问题:让一个可信身份临时扮演另一个身份,再换取临时凭证访问云资源。阿里云与腾讯云都叫角色,华为云区分 IAM 委托与用户体系。它的核心价值是替代长期有效的密钥——应用不再需要把 AK 写进配置文件。
基本信息
| 跨账号与服务身份 | 阿里云 RAM 角色、腾讯云 CAM 角色、华为云 IAM 委托 |
|---|---|
| 临时凭证获取 | 阿里云与腾讯云通过 STS AssumeRole;华为云通过 IAM 接口获取临时访问密钥 |
| 信任实体 | 云账号与云服务 |
| 有效期 | 临时凭证有有效期,需在到期前刷新 |
| 典型实践 | 给实例绑定角色,免密访问对象存储 |
| 安全要点 | 权限最小化,资源范围写具体,避免宽泛授权 |
概念对照
| 概念 | 阿里云 | 腾讯云 | 华为云 |
|---|---|---|---|
| 跨账号 / 服务身份 | RAM 角色 | CAM 角色 | IAM 委托 |
| 提供临时凭证 | STS AssumeRole | STS AssumeRole | 临时访问密钥(IAM 接口获取) |
| 信任实体 | 账号、云服务 | 账号、云服务 | 账号、云服务 |
| 典型场景 | 跨账号只读、ECS 免密访问 OSS | 跨账号访问、CVM 免密访问 COS | 跨账号、ECS 免密访问 OBS |
| 审计 | 操作审计记录扮演事件 | 云审计记录 | 云审计记录 |
典型使用场景
- 跨账号只读访问,例如运维账号读取生产环境资源
- 实例免密访问对象存储与数据库
- CI/CD 系统以角色身份部署到云上,不再存放长期密钥
- 第三方服务(如备份厂商)通过角色访问你的资源
- 替换配置文件里写死的长期 AK
落地步骤
落地步骤
# 1 建角色:定义信任实体(账号或云服务)与权限策略
# 2 收权限:资源范围写具体,避免 RoleFullAccess 这类宽泛授权
# 3 绑实例:把角色绑定到实例,应用走凭证链自动获取临时密钥
# 4 会刷新:优先用 SDK 自动刷新;自研代码要显式处理到期
# 5 看审计:在操作审计里确认扮演与使用记录符合预期
# 6 做回收:不再需要时及时解绑并删除角色免密访问对象存储是三家共同的推荐实践:给实例绑定角色或委托,应用用元数据或 SDK 凭证链取到临时密钥,不再落地 AK。
临时凭证不是永久授权:有效期过后会失效。自研代码若把凭证缓存在内存里而不刷新,会在运行一段时间后集中报错,看起来像权限问题,实际是过期。