跳至正文
老丹的足迹 —— 代码写给机器,游记写给自己,感悟写给时间
老丹的足迹 老丹的足迹
老丹的足迹 老丹的足迹
  • 首页
  • 示例页面
  • 首页
  • 示例页面
老丹的足迹 老丹的足迹
老丹的足迹 老丹的足迹
  • 首页
  • 示例页面
  • 首页
  • 示例页面

阿里云前缀列表权限设置完全指南

一、核心认知:两类前缀列表,权限不互通

阿里云中存在两个产品体系,各自拥有独立的前缀列表功能。虽然名称相同,但权限完全不通用:

对比维度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-FullAccessECS前缀列表完整权限
ECS-PrefixList-ReadOnlyECS前缀列表只读权限
VPC-PrefixList-ManageVPC前缀列表管理权限

命名注意事项:

  • 最大长度 128 字符
  • 允许字符:字母、数字、句点(.)、下划线(_)、短横线(-)
  • 大小写敏感
  • ⚠️ 名称一旦创建不可修改

六、快速速查表

你的需求需要的权限
操作 VPC 路由表中的前缀列表AliyunVPCPrefixListAccess(系统策略)
操作 ECS 安全组中的前缀列表自定义 ecs:*PrefixList* 策略
只查看前缀列表,不修改只读版自定义策略
权限已添加但仍报错等待几秒至几分钟生效,或检查 Resource 是否正确

七、总结

  1. VPC 前缀列表 ≠ ECS 前缀列表,两者权限完全独立
  2. AliyunVPCPrefixListAccess 只管 VPC,不管 ECS
  3. 操作 ECS 安全组引用的前缀列表,需自定义包含 ecs:*PrefixList* 的策略
  4. 阿里云未提供 ECS 前缀列表的系统策略,必须自行创建
  5. 权限配置后通常需等待几秒到几分钟才能完全生效
作者

老丹

关注我
其他文章
上一个

阿里云前缀列表 API 实战:如何精准更新指定的 CIDR 地址块

关于博主

    老丹是一名C/C++后台开发工程师,信奉“无抽象不设计,无性能不生产”。

  • 技术栈:Modern C++、Linux环境编程、多线程/并发、网络编程等。
  • 信条:能用constexpr解决的问题绝不拖到运行时,能靠RAII避免的泄漏绝不写析构。
  • 正在填坑:从解封装到渲染的C++全链路实现,正在驯服FFmpeg与H.264/H.265。
  • 输出原则:这里的每一段代码都经过-Wall -Wextra -Werror -O2的洗礼。

搜索

近期文章

  • 阿里云前缀列表权限设置完全指南 2026年6月9日
  • 阿里云前缀列表 API 实战:如何精准更新指定的 CIDR 地址块 2026年6月9日
  • 阿里云DNS API调用详解:从零实现一个DDNS客户端 2026年6月9日
  • curl库完全指南:从命令行到libcurl开发 2026年6月8日
  • FastCGI 协议详解:从 CGI 的瓶颈到高性能 Web 应用 2026年6月7日

文章分类

  • C/C++开发 (9)
  • Linux服务配置 (3)
  • 计算机理论 (4)
联系我们:📍 地址:中国·广东省深圳市   |   ✉️ 邮箱:support@tanglinux.com   |   💬 QQ:870866607
版权所有:老丹的足迹粤ICP备2026061170号-1       公安备案图标 粤公网安备44030002013274号