使用AWS .net SDK创建用户

时间:2015-07-23 14:12:16

标签: amazon-web-services amazon-s3

我想使用AWS .net SDK创建用户以应用权限(对文件夹的访问权限有限)。存储桶中的每个用户都有一个文件夹,用户只能访问分配的文件夹。

简而言之,我的脚本将会这样做:

  • 创建AWS用户
  • 在步骤#1中创建的用户的存储桶中创建文件夹
  • 将对步骤#2中创建的文件夹的访问权限授予在步骤#1中创建的用户

1 个答案:

答案 0 :(得分:0)

<强> 1。创建AWS用户

在AWS Identity&amp;中创建用户访问管理(IAM),使用CreateUser()请求。

<强> 2。创建文件夹

无需创建文件夹。 Amazon S3中实际上不存在文件夹。相反,键名(filename)包括对象的路径。因此,存储在文件夹bar.jpg中的foo的密钥为foo/bar.jpg。当您在该位置创建对象时,伪装文件夹将自动显示(排序)。

第3。授予对文件夹的访问权限

使用变量的单个IAM策略可用于授予所有用户对存储桶中自己的子路径(实际上是文件夹)的访问权限。

来自IAM Policy Variables Overview

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket"],
      "Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
    },
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
    }
  ]
}