2013-04-08 263 views
4

我正在使用Amazon S3将我的客户端文档归档到单个存储桶和一系列文件夹中,以区分每个客户端。Amazon S3文件夹级别权限

MyBucket/0000001/.. 
MyBucket/0000002/.. 
MyBucket/0000003/.. 

我的客户正在寻找一种方法来独立备份他们的文件到他们的本地机器。我想在给定文件夹级别创建一组权限,以仅在特定文件夹中查看/下载这些文件。

我希望在我的应用程序的范围之外做到这一点,我的意思是,我想在S3浏览器中创建一组权限,并告诉我的客户使用一些第三方应用程序链接到他们的面积。有人知道这是否可能?我反对编写一个模块来实现这一目标,因为目前他们的需求不够大。

回答

8

您可以将IAM策略与存储桶策略结合使用来管理此类访问。

每个单独的客户端都需要自己的IAM配置文件,并且您将设置策略以将对象访问限制为仅限于那些帐户。

下面是AWS文档:

http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingIAMPolicies.html

我要特别指出的实例1中的文件,这不正是你想要豆。

+0

感谢Mike,为了获得IAM配置文件,我的客户需要注册一个AWS账户吗? – QFDev 2013-04-09 09:33:36

+0

@QF_Developer不,IAM配置文件将从您的帐户生成。 – 2013-04-09 15:40:22

+0

感谢Mike和新创建的IAM配置文件,我的客户端如何将其插入GUI以查看和下载他们的文档?这是我现在唯一不确定的部分? – QFDev 2013-04-10 09:30:30

0

请参考以下政策,限制用户只上传或列出对象到特定文件夹。我创建了一个策略,允许我仅列出文件夹1和文件夹2的对象,并且还允许将该对象放到文件夹1并拒绝上传到存储桶的其他文件夹。 政策如下: 1.列出存储桶中的所有文件夹 2.允许的文件夹列表对象和文件夹 3。上传文件只允许文件夹

{ “版本”: “2012年10月17日”, “声明”:[{ “SID”: “AllowUserToSeeBucketListInTheConsole”, “行动”:[ “S3 :ListAllMyBuckets “ ”S3:GetBucketLocation“ ], ”效果“: ”允许“, ”资源“:[ ”ARN:AWS:S3 ::: “ ] },{ ” 西特“:”AllowListingOfFolder1And2“, ”Action“:[ “S3:” ], “效果”: “拒绝”, “资源”:[ “ARN:AWS:S3 ::: bucketname” ], “条件”:{ “StringNotLike”: { “S3:前缀”:[ “文件夹1/”, “文件夹2/” ] }, “弦乐器”:{ “S3:前缀”: “” } } }, { “SID”: “Allowputobjecttofolder1only”, “效果”: “拒绝”, “行动”: “S3:PutObject”, “NotResource”: “阿尔恩:AWS:S3 ::: bucketname /文件夹1/” } ] }