Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 如何设置AWS S3策略,其中主体是特定AWS帐户中的所有主体_Amazon Web Services_Amazon S3_Amazon Iam_Aws Policies - Fatal编程技术网

Amazon web services 如何设置AWS S3策略,其中主体是特定AWS帐户中的所有主体

Amazon web services 如何设置AWS S3策略,其中主体是特定AWS帐户中的所有主体,amazon-web-services,amazon-s3,amazon-iam,aws-policies,Amazon Web Services,Amazon S3,Amazon Iam,Aws Policies,以下似乎是拒绝语句的无效主体: "Principal" : { "AWS" : [ "arn:aws:iam::123412341234:*" ] } 假设123412341234是我们的帐户id 如何设置?下面的方法似乎可行,但意味着必须明确列出外部账户中的所有相关ARN: "NotPrincipal" : { "AWS" : [ &qu

以下似乎是拒绝语句的无效主体:

"Principal" : {
    "AWS" : [
      "arn:aws:iam::123412341234:*"
    ]
  }
假设123412341234是我们的帐户id

如何设置?下面的方法似乎可行,但意味着必须明确列出外部账户中的所有相关ARN:

  "NotPrincipal" : {
    "AWS" : [
      "arn:aws:iam::111112341234:role/blar1",
      "arn:aws:iam::111112341234:role/blar2",
      "arn:aws:iam::111112341234:root",
      "arn:aws:iam::555552341234:role/blar3",
      "arn:aws:iam::555552341234:root",
    ]
  }
事实上,根据这一点,这甚至不起作用,因为我必须包括
假定角色
ARN,这是无法提前知道的

这似乎有效:

"Principal" : {
  "AWS" : [
    "*"
  ]
}
"Condition" : {
    "ArnLike" : {
      "aws:PrincipalArn" : [
        "arn:aws:iam::123412341234:*"
      ]
    }
  }

您的实际用例是什么?您是否向任何人授予公共访问权限,但希望排除某个特定帐户(如测试帐户或prod帐户)?首先,他们是如何被授予访问权限的,因此需要拒绝?我们希望在默认情况下拒绝所有访问权限,但不希望拒绝需要访问s3存储桶的外部帐户。如果没有明确的查找权限,我们无法知道他们的ARN(或aws:userid),因此aws文档似乎暗示这是不可能的。就像在中一样,我只需要让外部帐户让我知道他们需要访问s3存储桶的角色的AROA风格的aws:userid。所以你想允许任何人的帐户访问存储桶(使其成为公共存储桶),但你不想让你自己的帐户能够访问它?我很困惑。我们不想允许外部帐户访问bucket,而是想从显式拒绝中排除外部帐户。这不是同一件事。你为什么要拒绝?您是否授予用户访问“所有存储桶”的权限,但希望此存储桶成为例外?这是一个高度敏感的水桶吗?您是否可以一开始就不授予允许访问权限,从而消除拒绝的需要?请提供更多信息!