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

使用AWS CLI创建IAM策略的相关疑问解析

我来一步步帮你理清这些关于AWS CLI创建IAM策略的问题:

关于file://policy的含义

file://policy是AWS CLI用来引用本地文件的路径格式:

  • file://是AWS CLI识别的协议前缀,它告诉CLI要从本地文件读取策略内容,而非直接解析后面的字符串;
  • 后面的policy指的是你当前执行CLI命令的工作目录下,一个名为policy的文件(即使没有.json后缀也没关系,只要文件内部是合法的IAM策略JSON内容即可)。

你的创建命令是否正确?

你执行的aws iam create-policy --policy-name mypolicy --policy-document file://mypolicy.json是完全正确的,只要满足两个前提:

  1. mypolicy.json文件确实存在于你当前执行命令的工作目录中;
  2. 文件内的JSON内容符合IAM策略的语法要求(比如必须包含Version、Statement这些核心字段)。
    如果文件不在当前目录,你可以使用绝对路径,比如Linux/macOS下的file:///Users/yourname/Documents/mypolicy.json,或者Windows下的file://C:/Users/yourname/Documents/mypolicy.json。

能否直接在CLI中使用JSON格式的策略内容?

当然可以!你不需要把策略内容写入文件,直接将JSON字符串作为--policy-document的参数传入即可,不过要注意不同操作系统的引号转义规则:

Linux/macOS 示例(用单引号包裹整个JSON)

aws iam create-policy --policy-name my-inline-policy --policy-document '{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::my-bucket"
        }
    ]
}'

Windows PowerShell 示例

aws iam create-policy --policy-name my-inline-policy --policy-document '{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::my-bucket"
        }
    ]
}'

Windows CMD 示例(需用反斜杠转义内部双引号)

aws iam create-policy --policy-name my-inline-policy --policy-document "{
    \"Version\": \"2012-10-17\",
    \"Statement\": [
        {
            \"Effect\": \"Allow\",
            \"Action\": \"s3:ListBucket\",
            \"Resource\": \"arn:aws:s3:::my-bucket\"
        }
    ]
}"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:47:59