2016-01-22 98 views
0

授予S3的权限是相当复杂的。据我了解,根帐户(用电子邮件登录)应该有权访问任何东西,除了不属于它的存储桶中的对象(情况并非如此)。S3:存储桶不能被其root帐户访问?

我的设置:

> a root account, called: myroot a IAM user, called myiam, whose parent 
> account is myroot 

myiam创建一个水桶,叫mybucket。未授予权限,myroot无法访问它。

我抬头AWS的文档(http://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-overview.html),认为不应该是这样的

默认情况下,所有的Amazon S3资源是私有的。只有资源所有者才能访问资源。资源所有者引用创建资源的AWS账户。例如:

用于创建存储桶和对象的AWS账户拥有这些 资源。如果您在您的AWS账户中创建AWS Identity and Access Management(IAM) 用户,那么您的AWS账户就是所有者。如果 IAM用户上载对象,则用户 所属的父帐户拥有该对象。

+0

你会得到什么错误? 403被拒绝? – Tom

+0

@汤姆不确定。我使用了控制台。它说:“对不起!您没有权限查看这个存储桶” –

+0

看看您是否对存储桶本身有正确的权限,也许你有一个明确的“拒绝”的S3存储桶。看到我对以下链接的回答,我描述了访问S3存储桶,也许这是检查:http://stackoverflow.com/questions/31730317/403-access-denied-error-for-files-uploaded-to -s3-using-aws-command-line-tool/31790746#31790746 – Tom

回答

1

它应该工作得很好。

我做了以下测试您的情况:

  • 登录为IAM用户(使用账户,用户名,密码)
  • 创建一个水桶在上传对象控制台
  • (其保持默认私有)
  • 记录到一个root帐户(使用的电子邮件地址,密码,MFA)
  • 我能够在控制台中查看桶的内容
  • 我能够查看上传对象的内容(使用Actions -> Open生成一个带符号的URL)
+0

这是真的,因为在创建了一个存储桶之后,默认的被授权者被设置为root账户,所有者也是root账户。但是如果你删除这个默认的被授予者,那么只有存储桶的创建者(在这种情况下是你的IAM用户)可以访问它,甚至不是作为根帐户的所有者。这是令我困惑的一点 –

+0

啊!现在我明白了。是的......当移除“受赠者”选项将停止root帐户访问时,root帐户可以再次添加访问权限,因此可以访问存储桶。无法阻止root帐户添加自己的访问权限。 –

+0

你是完全正确的。感谢您的启发 –

相关问题