amazon-web-services - AWS - 使用 SecureTransport 设置策略后权限被拒绝 :false

标签 amazon-web-services amazon-s3

我试图强制执行仅允许 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/

相关文章:

ios - 使用 S3TransferManager AWS iOS SDK 上传大文件

node.js - Messenger 发送 API + AWS S3 托管对象

python - 在哪里可以找到使用 boto3 编写自定义 AWS 凭证提供程序的文档?

amazon-web-services - 如何为AWS Lambda创建和压缩Docker容器

amazon-web-services - 定期将查询结果从 Redshift 移动到 S3 存储桶

amazon-web-services - 为什么我们需要 AWS 中的私有(private)子网 + NAT 转换?我们不能只使用公共(public)子网 + 正确配置的安全组吗?

Android,Cognito : can sign in, 但无法进行经过身份验证的 AWS 调用

amazon-web-services - 在不使用 Cloudfront 或 Elastic Load Balancing 的 AWS EC2 实例上安装 SSL 证书

c# - 如何使用 C# 将容器及其内容复制到 AWS 存储桶?

java - Files.walkFileTree 按字典顺序排列