限制IAM用户只能访问S3桶下的文件夹

2023-03-24 13:49


1. 创建S3桶及其下的文件夹

a) 登录aws IAM控制台https://console.amazonaws.cn/s3

b) 点击创建存储桶:

c) 在创建存储桶界面输入桶名称,选择相应的区域:


d) 其他选项选择默认,点击创建存储桶完成创建。

e) 返回存储桶界面,点击相应的存储桶名称

f) 在存储桶详细页面,点击创建文件夹;

g) 在创建文件夹页面,输入文件夹名称后,点击创建文件夹,完成创建。


2. 创建访问策略

a) 登录aws IAM控制台https://console.amazonaws.cn/iamv2/

b) 导航栏选择访问管理下的策略;

c) 在策略页面点击创建策略;

d) 在创建策略页面,点击JSON选项,将以下策略贴到编辑框内(将红色部分替换为自己的桶名称和文件夹):

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "AllowUsersToAccessFolder1Only",

      "Effect": "Allow",

      "Action": [

        "s3:GetObject",

        "s3:GetObjectVersion",

        "s3:PutObject"

      ],

      "Resource": [

        "arn:aws-cn:s3:::kinesistos3logs/s3user1/*"

      ]

    },

    {

      "Effect": "Allow",

      "Action": [

        "s3:ListBucket"

      ],

      "Resource": [

        "arn:aws-cn:s3:::kinesistos3logs"

      ],

      "Condition": {

        "StringLike": {

          "s3:prefix": [

            "s3user1/*"

          ]

        }

      }

    }

  ]

}


e)按提示下一步至输入策略名称如:s3-AccessFolder1-policy 后点击创建策略。


注:多个文件夹创建多个策略,修改策略里文件夹名称即可。

3. 创建用户:

a) 登录aws IAM控制台https://console.amazonaws.cn/iamv2/

b) 导航栏选择访问管理下的用户;

c) 在用户页面点击添加用户;

d) 在添加用户页面,输入用户名称,并勾选亚马逊云科技凭证类型下的访问密钥 - 编程访问


e) 下一步附加权限页面,选择直接附加现有策略勾选创建好的策略名称:


f) 下一步按提示至审核页面,点击 创建用户后,在完面页面下载访问密钥的csv文件,或显示复制 访问密钥(ak)和 私有访问密钥(sak),保存在自己的文件里:


4. 验证

新创建的用户只能在s3user1的文件夹下上传和下载文件:


5. S3工具配置(以cyberduck为例)

a) 打开cyberduck

b) 点击新建连接;

c) 在新建连接窗口,选择:

协议:amazon s3

服务器地址:s3.cn-northwest-1.amazonaws.com.cn

访问密钥(AK),访问私钥(SAK

更多选项下输入:s3桶名/文件夹如kinesistos3logs/s3user1


d) 配置完成后,点击连接即可列出该文件夹下文件。

注:其他s3工具配置类似,都需要指定s3的访问路径,否则会报错






昵称:
内容:
验证码:
提交评论
评论一下