2012-05-23 16 views
9

我有一个S3/AWS账户。我有几个网站在S3上使用自己的存储桶来读取/写入存储。我还在S3上的其他存储桶上托管了大量个人资料(备份等),这些资源不可公开访问。多个access_keys用于具有相同S3帐户的不同特权?

我想没有这些网站 - 其中一些网站可能有其他人访问他们的源代码和配置属性,并看到S3密钥 - 有权访问我的私人数据!

从阅读亚马逊的文档看来,我需要分区权限,亚马逊用户每桶,而不是每桶存取密钥。但是这并不奏效。它也似乎只有2个访问键。我需要有一个访问密钥,它是主密钥,还有其他几个具有更多限制权限的密钥 - 仅限于某些存储桶。

有没有办法做到这一点,或近似呢?

+2

你看过Amazon IAM吗? AWS控制台上有一个链接。您可以以令人难以置信的精度控制权限,并根据需要生成尽可能多的访问密钥,甚至是临时密钥。 –

回答

0

是,要使用相同的AWS账户访问具有不同权限的不同登录账户,可以使用AWS IAM。作为Bucket Explorer的开发人员,如果您正在寻找该工具,为您提供具有不同登录和不同访问权限的gui界面,我建议您尝试Bucket Explorer- team edition。阅读http://team20.bucketexplorer.com

8

您可以通过促进AWS Identity and Access Management (IAM)实现自己的目标:

AWS身份和访问管理(IAM),使您能够以AWS服务和资源为用户安全 控制访问。 IAM 使您能够在AWS中创建和管理用户,并且还允许您 授予对在AWS之外管理的用户的AWS资源的访问权限,您的公司目录为 。 使用AWS时,IAM可提供更高的安全性,灵活性和控制力。[重点煤矿]

所强调的那样,使用IAM强烈建议所有的东西AWS反正,即最好你不应该使用主帐户凭据什么,但在最初设置IAM(如mentioned by Judge Mental已经,你可以这样生成尽可能多的访问密钥,如你所愿)。

您可以通过AWS Management Console使用IAM(即原则上不需要第三方工具使用所有可用功能)。

有时候生成所需的策略可能有点棘手,但AWS Policy Generator对于帮助您开始并探索可用的功能非常有帮助。

对于使用案例在手,你就需要一个S3斗政策,具体见Using Bucket PoliciesAccess Control了各种可用S3访问控制机制的总体概述(可以以微妙的方式干扰,例如参见Using ACLs and Bucket Policies Together )。

祝你好运!

0

只需创建限制到特定桶

如访问的自定义IAM组策略...

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Action": ["s3:ListAllMyBuckets"], 
     "Resource": "arn:aws:s3:::*" 
    }, 
    { 
     "Effect": "Allow", 
     "Action": "s3:*", 
     "Resource": 
     [ 
     "arn:aws:s3:::my.bucket", 
     "arn:aws:s3:::my.bucket/*" 
     ] 
    } 
    ] 
} 

的第一项行动s3:ListAllMyBuckets允许用户列出所有的桶。没有这一点,他们的S3客户端在用户登录时不会在存储桶列表中显示任何内容。

第二个动作向用户授予名为'my.bucket'的存储桶的全部S3权限。这意味着他们可以自由创建/列出/删除存储桶中的存储桶资源和用户ACL。

授予s3:*访问相当宽松。如果您想要对桶进行更严格的控制,只需查看要授予的相关操作并将其添加为列表即可。

"Action": "s3:Lists3:GetObject, s3:PutObject, s3:DeleteObject" 

我建议你创建这个政策作为一个群体(例如my.bucket_User),所以你可以把它分配给谁需要访问这个桶没有任何不必要的copypasta每个用户。

相关问题