首页/云/云与容器速查/实例 RAM 角色(免 AK 访问云服务)
计算与存储56 条

实例 RAM 角色(免 AK 访问云服务)

给实例绑定 RAM 角色后,实例内程序通过元数据获取 STS 临时凭证访问对象存储等服务,无需在机器上存放永久 AK。

云与容器速查云更新于 2026-10-13

实例 RAM 角色是什么

实例 RAM 角色(腾讯云叫 CAM 角色、华为云叫委托)是给云服务器绑定一个身份,实例内的程序通过元数据端点获取 STS 临时凭证来调用云服务 API,不必在机器上存放永久 AccessKey。凭证由云平台自动轮换、有明确有效期,权限调整后立即生效,也避免了密钥落盘后被复制扩散的风险。云上程序访问云服务,能绑角色就不要发 AK。

基本信息

基本原理角色绑定实例 → 元数据端点下发临时凭证 → SDK / CLI 自动读取
主要优势无永久密钥落盘;权限调整即时生效;凭证自动轮换
使用步骤创建角色并授权(如对象存储读写策略)→ 绑定实例 → 程序直接调用云服务
兼容性官方 SDK 与 CLI 会按凭证链自动读取,通常无需改代码
权限要求需要创建角色、配置策略与绑定实例的 IAM 权限

典型使用场景

  • 应用读写对象存储:日志归档、附件上传、数据库备份文件落地
  • 实例内定时脚本把指标或日志推送到云监控、日志服务
  • 备份作业跨区域复制数据,权限由角色统一控制而非散落密钥
  • 数据同步服务消费消息队列,临时凭证过期自动续期不影响任务
  • 迁移历史项目时替换掉代码与配置里的永久 AK,收敛密钥管理面

获取临时凭证(阿里云实例内)

获取临时凭证(阿里云实例内)
curl http://100.100.100.200/latest/meta-data/ram/security-credentials/my-role   # 取该角色的临时凭证
# 返回包含 AccessKeyId、AccessKeySecret、SecurityToken 与到期时间
ossutil ls oss://my-bucket/   # 未显式配置 AK 时,自动使用实例角色的临时凭证
# 若报权限错误,先确认角色策略范围,再确认实例是否成功绑定该角色

凭证方式对比

方式密钥形态风险与适用
实例角色(推荐)自动轮换的临时凭证无永久密钥落盘,适合云上程序与自动化任务
子账号 AK永久密钥,权限可限定需定期轮换与保管,容易在配置和镜像中散落
主账号 AK永久密钥,权限极大仅限特殊场景,一旦泄露后果最严重
写在环境变量或配置文件永久密钥易被日志、镜像层与代码仓库带出
云上程序访问云服务的标准姿势:能绑角色就不要发 AK;CI/CD 同理用 OIDC 或角色换取临时凭证,避免把密钥存在流水线变量里。
角色权限按最小必要授予:给实例角色挂管理员策略,等于把 AK 泄露后的破坏力原样搬进了这台实例,加固等于白做。

易错点

  • 角色权限给得过宽(直接挂管理员策略),等于把 AK 泄露的风险搬进实例
  • 程序把临时凭证缓存到文件长期不刷新,凭证过期后云服务调用大面积失败
  • 实例更换或迁移后忘记重新绑定角色,程序读不到凭证直接启动报错
  • 环境变量里同时留有长期 AK 与实例角色,SDK 优先用 AK,角色权限调整后行为与预期不符

数据来源与参考

  • 阿里云文档:实例 RAM 角色
  • 腾讯云文档:CAM 角色
  • 华为云文档:委托

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌