如何通过AWS CLI更新Amazon S3存储桶策略并添加指定ARN
使用AWS CLI修改S3存储桶策略添加ARN条目
要完成这个S3桶策略的修改,你需要分三步用AWS CLI操作——因为CLI没有直接编辑策略内部特定字段的命令,我们得先导出现有策略、修改内容后再重新上传:
步骤1:导出当前存储桶策略到本地文件
首先获取目标桶的现有策略,保存到一个本地JSON文件里(记得把awsexamplebucket1替换成你的实际桶名):
aws s3api get-bucket-policy --bucket awsexamplebucket1 --query Policy --output text > bucket-policy.json
步骤2:编辑策略文件添加新ARN
打开刚才生成的bucket-policy.json文件,按照你提供的修改示例,把新的ARN "arn:aws:sts::1262767:assumed-role/EC2-support-services"添加到Condition.StringNotLike.aws:arn的数组中,保存文件。
步骤3:上传修改后的策略到S3
用以下命令将修改后的策略重新应用到存储桶:
aws s3api put-bucket-policy --bucket awsexamplebucket1 --policy file://bucket-policy.json
可选:先验证策略语法(避免出错)
如果你担心修改后的策略有语法问题,可以先加上--dry-run参数做预验证,不会实际修改策略:
aws s3api put-bucket-policy --bucket awsexamplebucket1 --policy file://bucket-policy.json --dry-run
这个流程是AWS CLI管理桶策略的标准方式,因为所有策略修改都需要完整替换现有策略内容,没有增量修改的命令。
内容的提问来源于stack exchange,提问作者Rohan




