【问题标题】:How to update an Amazon S3 Bucket Policy via the AWS CLI?如何通过 AWS CLI 更新 Amazon S3 存储桶策略?
【发布时间】:2021-02-13 01:39:20
【问题描述】:

我需要在 Amazon S3 存储桶策略中添加新行“arn:aws:sts::1262767:assumed-role/EC2-support-services”。

类似这样的:

之前:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddCannedAcl",
      "Effect":"Allow",
    "Principal": {"AWS": ["arn:aws:iam::111122223333:root","arn:aws:iam::444455556666:root"]},
      "Action":["s3:PutObject","s3:PutObjectAcl"],
      "Resource":"arn:aws:s3:::awsexamplebucket1/*",
      "Condition":{
     "StringNotLike": {
        "aws:arn": [
          "arn:aws:sts::1262767:assumed-role/GR_COF_AWS_Prod_Support/*"
        ]
      }       
     }
   
    }
  ]
}

之后:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddCannedAcl",
      "Effect":"Allow",
    "Principal": {"AWS": ["arn:aws:iam::111122223333:root","arn:aws:iam::444455556666:root"]},
      "Action":["s3:PutObject","s3:PutObjectAcl"],
      "Resource":"arn:aws:s3:::awsexamplebucket1/*",
      "Condition":{
     "StringNotLike": {
        "aws:arn": [
          "arn:aws:sts::1262767:assumed-role/GR_COF_AWS_Prod_Support/*",
           "arn:aws:sts::1262767:assumed-role/EC2-support-services"
        ]
      }       
     }
   
    }
  ]
}

添加此行需要使用什么 AWS CLI 命令?

【问题讨论】:

标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli


【解决方案1】:

为此,您需要使用 put-bucket-policy 命令覆盖现有存储桶策略,因为没有版本控制。

运行它的一个例子是下面的命令

aws s3api put-bucket-policy --bucket MyBucket --policy file://policy.json

通过将当前和新策略存储为 JSON 文件,如果需要通过更新 --policy 参数中的文件名来回滚,您可以在命令之间切换。

【讨论】:

    猜你喜欢
    • 2020-11-04
    • 2011-09-10
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    相关资源
    最近更新 更多