【问题标题】:Create users with AWS .net SDK使用 AWS .net SDK 创建用户
【发布时间】:2015-08-03 06:45:54
【问题描述】:

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

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

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

【问题讨论】:

  • 我建议您只创建用户并在用户组上使用单个策略 uses the aws:username variable 授予他们访问自己文件夹的权限。然后,当需要更改时,您只需维护一项策略。

标签: amazon-web-services amazon-s3


【解决方案1】:

1.创建 AWS 用户

要在 AWS Identity & Access Management (IAM) 中创建您的用户,请使用 CreateUser() 请求。

2。创建文件夹

无需创建文件夹。文件夹实际上并不存在于 Amazon S3 中。相反,键名(文件名)包括对象的路径。因此,存储在文件夹foo 中的bar.jpg 的密钥为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}/*"]
    }
  ]
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2019-05-11
    相关资源
    最近更新 更多