gpt4 book ai didi

amazon-web-services - 限制对 VPC 的 S3 存储桶访问

转载 作者:行者123 更新时间:2023-12-03 12:30:56 27 4
gpt4 key购买 nike

我正在尝试应用以下策略来限制 my_bucket对特定 VPC 的访问。

  • 当我尝试将其应用为存储桶策略时,我得到了 Policy has an invalid condition key - ec2:Vpc .我该如何纠正?

  • {
    "Version":"2012-10-17",
    "Statement":[
    {
    "Effect":"Deny",
    "Principal": {
    "AWS": "*"
    },
    "Action":"*",
    "Resource":"arn:aws:s3:::my_bucket/*",
    "Condition":{
    "StringNotEquals":{
    "ec2:Vpc":"arn:aws:ec2:region:account:vpc/vpc-ccccccc"
    }
    }
    }
    ]
    }

    最佳答案

    我刚刚得到这个工作。我必须做两件事。 1) 在 S3 存储桶上创建存储桶策略,2) 创建“VPC 端点”

    我的 S3 存储桶策略如下所示(当然要输入您的存储桶名称和 VPC 标识符):

    {
    "Version": "2012-10-17",
    "Id": "Policy1234567890123",
    "Statement": [
    {
    "Sid": "Stmt1234567890123",
    "Effect": "Allow",
    "Principal": "*",
    "Action": "s3:*",
    "Resource": "arn:aws:s3:::my_bucket/*",
    "Condition": {
    "StringEquals": {
    "aws:sourceVpc": "vpc-12345678"
    }
    }
    }
    ]
    }

    S3 存储桶还具有存储桶策略之外的一些权限,以允许从 AWS 控制台进行访问。执行上述操作并没有提供访问权限。要获得访问权限,我还必须转到 AWS 控制台 -> VPC -> 端点,然后创建一个端点。我将新创建的端点附加到该帐户目前唯一的路由策略(所有子网都附加到它)并且我使用了默认策略
    {
    "Statement": [
    {
    "Action": "*",
    "Effect": "Allow",
    "Resource": "*",
    "Principal": "*"
    }
    ]
    }

    创建端点后,我只需使用带有正确 URL 的 wget 即可从 VPC 中的任何 EC2 实例读取 S3 存储桶。我仍然可以从 AWS 控制台访问存储桶。但是,如果我尝试从 VPC 外部访问该 URL,则会收到 403 forbidden。因此,对 S3 存储桶的访问仅限于单个 VPC,就像您正在寻找的那样。

    这显然是一个新功能。有关更多信息,请参阅此 AWS blog entry

    关于amazon-web-services - 限制对 VPC 的 S3 存储桶访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25539057/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com