子账号是什么
子账号是从主账号下创建的独立身份,默认没有任何权限,需要绑定策略后才有操作能力。它的价值在于把人的身份与云账号解耦:离职只需禁用子账号,不必修改主账号;审计日志里能区分是谁在操作;程序用的密钥也随子账号一起回收。三家厂商对子账号的命名与登录体系各不相同,但设计思路一致。
三厂命名与登录
| 厂商 | 名称 | 登录方式 |
|---|---|---|
| 阿里云 | RAM 用户 | 控制台登录名加密码,或开启编程访问单独发放 AccessKey |
| 腾讯云 | CAM 子用户 | 子用户登录链接加子用户名,也可仅用于 API 访问 |
| 华为云 | IAM 用户 | IAM 用户登录入口,权限由绑定的策略决定 |
授权要点
| 默认权限 | 无任何权限,登录后界面为空是正常现象 |
|---|---|
| 授权路径 | 绑定到用户组再继承,优于逐个用户绑策略 |
| 凭证管理 | 控制台密码与编程访问密钥相互独立,可只开其一 |
| 回收顺序 | 禁用登录、禁用密钥、移出用户组、最后删除用户 |
| 审计 | 所有子账号操作都会记入操作审计,可追溯到具体身份 |
典型使用场景
- 按人员分配:运维、开发、财务各一个子账号,权限按职责划分
- 按系统分配:CI/CD 流水线用独立子账号,便于单独禁用与统计调用量
- 对外协作者:给外包或第三方开通临时子账号,项目结束立即回收
- 只读账号:给监控、报表与审计系统只读权限,避免误操作生产资源
创建与授权
创建与授权
aliyun ram CreateUser --UserName dev-zhang # 创建 RAM 用户
aliyun ram CreateGroup --GroupName dev-team # 创建用户组
aliyun ram AddUserToGroup --UserName dev-zhang --GroupName dev-team # 加入用户组,继承组策略
aliyun ram AttachPolicyToGroup --GroupName dev-team --PolicyName ReadOnlyAccess --PolicyType System
tccli cam AddUser --Name dev-zhang --Remark 开发账号 # 腾讯云创建子用户
tccli cam ListUsers # 核对子用户清单与最近登录创建后忘记绑定策略是新手最常见的“账号有问题”:子账号默认无权限,登录后看不到任何资源,这不是控制台故障。排查顺序是先看绑定的策略,再看是否有显式 Deny 覆盖。
直接给子账号授予管理员级别权限,等于绕开了隔离设计:出了误删事故也无法用权限范围来界定责任。管理员权限应收敛到极少数账号,并强制开启多因素认证。