Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何限制用户将公共S3对象创建到私有bucket中_Amazon Web Services_Amazon S3_Amazon Ec2_Aws Java Sdk - Fatal编程技术网

Amazon web services 如何限制用户将公共S3对象创建到私有bucket中

Amazon web services 如何限制用户将公共S3对象创建到私有bucket中,amazon-web-services,amazon-s3,amazon-ec2,aws-java-sdk,Amazon Web Services,Amazon S3,Amazon Ec2,Aws Java Sdk,我已经创建了一个AmazonS3 bucket,它本质上是私有的,但我不希望我的用户在该bucket中创建任何公共对象。我应该如何通过该桶的S3策略来实现这一点?我尝试了,但得到一个错误,即策略具有无效资源 { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyPublicReadGetObject", "Effect": "Deny",

我已经创建了一个AmazonS3 bucket,它本质上是私有的,但我不希望我的用户在该bucket中创建任何公共对象。我应该如何通过该桶的S3策略来实现这一点?我尝试了,但得到一个错误,即策略具有无效资源

{
    "Version": "2012-10-17",
    "Statement": [

        {
            "Sid": "DenyPublicReadGetObject",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": [
               " arn:aws:s3:::aws-my-bucket-s3-vk/*"
            ]
        }
    ]
}
用户应该能够访问bucket并创建新对象/从EC2实例中获取具有必要权限的对象


在S3控制台上,在bucket名称之后有一个access列,应该是“bucket和object不能是公共的”。

默认情况下,所有Amazon S3 bucket都是私有的。除非已通过IAM策略、Bucket策略或对象级权限授予权限,否则任何人都不能访问/使用Bucket或其内容

您似乎希望特定的AmazonEC2实例能够使用该bucket。因此:

  • 创建一个IAM角色
  • 将所需的权限授予IAM角色(例如
    PutObject
    GetObject
  • 将IAM角色分配给Amazon EC2实例
  • 然后,EC2实例上的应用程序将能够访问bucket
不需要使用
拒绝
策略。它将始终凌驾于其他政策之上。最好使用
Allow
策略授予访问权限,但仅授予所需的实体


以下是一些策略示例:

默认情况下,所有AmazonS3存储桶都是私有的。除非已通过IAM策略、Bucket策略或对象级权限授予权限,否则任何人都不能访问/使用Bucket或其内容

您似乎希望特定的AmazonEC2实例能够使用该bucket。因此:

  • 创建一个IAM角色
  • 将所需的权限授予IAM角色(例如
    PutObject
    GetObject
  • 将IAM角色分配给Amazon EC2实例
  • 然后,EC2实例上的应用程序将能够访问bucket
不需要使用
拒绝
策略。它将始终凌驾于其他政策之上。最好使用
Allow
策略授予访问权限,但仅授予所需的实体

以下是一些策略示例:

您应该在S3存储桶上启用。这将防止任何人公开该桶中的对象。您还应限制哪些IAM用户/角色/策略具有修改阻止公共访问设置的权限

Amazon S3阻止公共访问设置将覆盖S3存储桶策略和对象级权限,以防止公共访问。

您应该在S3存储桶上启用。这将防止任何人公开该桶中的对象。您还应限制哪些IAM用户/角色/策略具有修改阻止公共访问设置的权限


Amazon S3阻止公共访问设置将覆盖S3 bucket策略和对象级权限以防止公共访问。

另请参阅阻止公共访问,在较高级别阻止任何人将对象公开:另请参阅阻止公共访问,在较高级别阻止任何人将对象公开: