阿里云前缀列表权限设置完全指南
一、核心认知:两类前缀列表,权限不互通
阿里云中存在两个产品体系,各自拥有独立的前缀列表功能。虽然名称相同,但权限完全不通用:
| 对比维度 | VPC 前缀列表 | ECS 前缀列表 |
|---|---|---|
| 所属产品 | 专有网络 VPC | 云服务器 ECS |
| API 前缀 | vpc: | ecs: |
| 典型用途 | VPC 路由表的目的地址 | ECS 安全组的授权对象 |
| 系统策略 | AliyunVPCPrefixListAccess | ❌ 无(需自定义) |
⚠️ 重要结论:拥有
AliyunVPCPrefixListAccess权限,不能操作 ECS 前缀列表;反之亦然。
二、ECS 前缀列表所需权限清单
若需要在 ECS 安全组 中使用前缀列表(例如更新地址块),需具备以下 API 权限:
| 操作类型 | 所需 Action | 说明 |
|---|---|---|
| 查询列表 | ecs:DescribePrefixLists | 获取前缀列表基本信息 |
| 查询属性 | ecs:DescribePrefixListAttributes | 获取指定列表的属性(含 CIDR) |
| 查询条目 | ecs:DescribePrefixListEntries | 获取列表中的所有地址块 |
| 创建 | ecs:CreatePrefixList | 新建前缀列表 |
| 修改 | ecs:ModifyPrefixList | 增删地址块 |
| 删除 | ecs:DeletePrefixList | 删除前缀列表 |
三、权限策略配置示例
3.1 完整管理权限(运维人员)
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DescribePrefixLists",
"ecs:DescribePrefixListAttributes",
"ecs:DescribePrefixListEntries",
"ecs:CreatePrefixList",
"ecs:ModifyPrefixList",
"ecs:DeletePrefixList"
],
"Resource": "*"
}
]
}
3.2 只读权限(审计/只读用户)
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DescribePrefixLists",
"ecs:DescribePrefixListAttributes",
"ecs:DescribePrefixListEntries"
],
"Resource": "*"
}
]
}
3.3 精细化权限(仅操作指定列表)
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DescribePrefixListAttributes",
"ecs:ModifyPrefixList"
],
"Resource": "acs:ecs:{region}:{accountId}:prefixlist/{prefixListId}"
}
]
}
📌 使用时将
{region}、{accountId}、{prefixListId}替换为实际值。
四、Forbidden.RAM 错误原因解析
典型错误场景:
[ERROR] API Error: Forbidden.RAM
[WARN] Failed to get current CIDR, retry 1
根本原因:用户拥有的是 VPC 体系权限(AliyunVPCPrefixListAccess),但实际执行的是 ECS 体系操作(如调用 ecs:ModifyPrefixList)。
本质:两类前缀列表的权限体系完全独立,互不通用。
五、权限策略命名规范
推荐命名格式:<产品>-<资源>-<操作类型>
| 命名示例 | 说明 |
|---|---|
ECS-PrefixList-FullAccess | ECS前缀列表完整权限 |
ECS-PrefixList-ReadOnly | ECS前缀列表只读权限 |
VPC-PrefixList-Manage | VPC前缀列表管理权限 |
命名注意事项:
- 最大长度 128 字符
- 允许字符:字母、数字、句点(.)、下划线(_)、短横线(-)
- 大小写敏感
- ⚠️ 名称一旦创建不可修改
六、快速速查表
| 你的需求 | 需要的权限 |
|---|---|
| 操作 VPC 路由表中的前缀列表 | AliyunVPCPrefixListAccess(系统策略) |
| 操作 ECS 安全组中的前缀列表 | 自定义 ecs:*PrefixList* 策略 |
| 只查看前缀列表,不修改 | 只读版自定义策略 |
| 权限已添加但仍报错 | 等待几秒至几分钟生效,或检查 Resource 是否正确 |
七、总结
- VPC 前缀列表 ≠ ECS 前缀列表,两者权限完全独立
AliyunVPCPrefixListAccess只管 VPC,不管 ECS- 操作 ECS 安全组引用的前缀列表,需自定义包含
ecs:*PrefixList*的策略 - 阿里云未提供 ECS 前缀列表的系统策略,必须自行创建
- 权限配置后通常需等待几秒到几分钟才能完全生效