You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在boto3的get_policy_versions中使用通配符及策略ARN构造咨询

关于AWS策略ARN构造的详细说明

嘿,我来帮你理清AWS策略ARN的构造规则,刚好对这块比较熟悉~

首先,先明确AWS IAM策略ARN的核心格式,用代码块标注出来更清晰:

arn:aws:iam::ACCOUNT_ID:policy[PATH/PolicyName]

这里的PATH是可选部分,有没有路径直接决定了ARN的结构。

带路径的策略ARN构造

当你创建策略时指定了路径(相当于给策略分类的“文件夹”),构造ARN时必须完整包含这个路径:

  • 路径可以是单级的,比如dev/
  • 也可以是多级的,比如prod/services/data/
  • 路径和策略名称之间用斜杠分隔,且路径的结尾不需要额外加斜杠(除非路径本身就是根路径,但根路径一般不用显式写)

举个实际例子:
假设你的AWS账号ID是123456789012,策略路径是engineering/backend/,策略名称是rds-admin-policy,那么对应的ARN就是:

arn:aws:iam::123456789012:policy/engineering/backend/rds-admin-policy

不带路径的策略ARN构造

如果创建策略时没有指定路径(也就是使用默认的空路径),那么ARN里就直接在policy后面跟上策略名称即可,不需要加多余的斜杠:

比如同样账号ID,策略名称是s3-read-only,对应的ARN就是:

arn:aws:iam::123456789012:policy/s3-read-only

几个需要注意的细节

  • 大小写敏感:策略的路径和名称都是大小写敏感的,所以构造ARN时必须和策略的实际配置完全匹配,比如Dev/和dev/是两个不同的路径
  • 路径字符规则:IAM路径允许使用字母、数字、斜杠(/)、连字符(-)、下划线(_)、句点(.)和加号(+),不要使用其他特殊字符,否则会导致ARN无效
  • 根路径特例:如果策略的路径是根路径(也就是创建时指定了/作为路径),对应的ARN会是arn:aws:iam::ACCOUNT_ID:policy//PolicyName(注意两个斜杠),不过这种情况很少用到

内容的提问来源于stack exchange,提问作者castaway2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:00:34