我试图强制执行仅允许 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": "*"
}
]
}
问题是:
如何恢复对此存储分区的权限?
我应该如何正确设置此政策?
答案 0 :(得分:2)
当你想添加一个检查布尔值的条件时,它应该是具有有效值的“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": "*"
}
]
}
关于问题的第二部分,您可以使用您的 root 帐户重置权限,因为它应该具有上帝级别的权限。但奇怪的是,更新存储桶策略会更改您的 IAM 策略并且您无法访问 S3 配置的某些部分。也许这里还缺少其他东西..