[英]AWS: How to update an existing S3 bucket-policy via CloudFormation?
[英]How to update an Amazon S3 Bucket Policy via the AWS CLI?
我需要向 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 命令来添加此行?
为此,您需要使用put-bucket-policy
命令覆盖现有存储桶策略,因为没有版本控制。
运行它的一个例子是下面的命令
aws s3api put-bucket-policy --bucket MyBucket --policy file://policy.json
通过将当前和新策略存储为 JSON 文件,如果您需要通过更新--policy
参数中的文件名来回滚,您可以在命令之间切换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.