我试图强制执行仅允许 SSL 访问的策略。
但是,附加策略后,现在我对此存储桶中的每一项内容都显示“您没有权限”,包括“权限”选项卡和“存储桶策略”部分。
我是管理员,我的用户拥有 IAM 中 S3 的所有访问权限。
这是政策:
{
"Id": "Policy98421321896",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "MustBeEncryptedInTransit",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::cf-templates-98d9d7a96z21x-us-east-1",
"arn:aws:s3:::cf-templates-98d9d7a96z21x-us-east-1/*"
],
"Condition": {
"ArnEqualsIfExists": {
"aws:SecureTransport": "false"
}
},
"Principal": "*"
}
]
}
问题是:
如何恢复此存储桶的权限?
我应该如何正确设置这个策略?
最佳答案
当您想添加一个检查 bool 值的条件时,它应该是具有有效值的“Bool”键。
"Condition": {
"Bool": {
"aws:SecureTransport": "true"
}
}
本博客中提到了您想要实现的目标,您可以根据需要使用它。
https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/
{
"Id": "ExamplePolicy",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSSLRequestsOnly",
"Action": "s3:*",
"Effect": "Deny",
"Resource": [
"arn:aws:s3:::DOC-EXAMPLE-BUCKET",
"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
},
"Principal": "*"
}
]
}
关于问题的第二部分,您可以使用根帐户重置权限,因为它应该具有上帝级别的权限。但奇怪的是,更新存储桶策略会更改您的 IAM 策略,并且您无法访问 S3 配置的某些部分。也许这里还缺少其他东西..
关于amazon-web-services - AWS - 使用 SecureTransport 设置策略后权限被拒绝 :false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66947919/