跳转到主内容
跳转到主内容

如何创建 AWS IAM 用户和 S3 存储桶

本指南将向您展示如何在 AWS 中创建 IAM 用户和 S3 存储桶, 这是将备份写入 S3 或将 ClickHouse 配置为在 S3 上存储数据的先决条件步骤

创建 AWS IAM 用户

在本步骤中,我们将创建一个服务账户用户,而不是登录用户。

  1. 登录 AWS IAM 管理控制台。

  2. Users 选项卡中,选择 Create user

AWS IAM 管理控制台 - 添加新用户
  1. 输入用户名
AWS IAM 管理控制台 - 添加新用户
  1. 选择 Next
AWS IAM 管理控制台 - 添加新用户
  1. 选择 Next
AWS IAM 管理控制台 - 添加新用户
  1. 选择 Create user

用户已创建。 单击新创建的用户

AWS IAM 管理控制台 - 添加新用户
  1. 选择 Create access key
AWS IAM 管理控制台 - 添加新用户
  1. 选择 Application running outside AWS
AWS IAM 管理控制台 - 添加新用户
  1. 选择 Create access key
AWS IAM 管理控制台 - 添加新用户
  1. 将访问密钥 ID 和密钥下载为 .csv 文件,以便后续使用
AWS IAM 管理控制台 - 添加新用户

创建一个 S3 bucket

  1. 在 S3 bucket 部分选择 Create bucket
AWS IAM Management Console - Adding a new user
  1. 输入一个 bucket 名称,其余选项保持默认
AWS IAM Management Console - Adding a new user
注意

bucket 名称在整个 AWS 账号空间中必须唯一,而不仅仅是在你的组织内,否则会报错。

  1. 保持启用 Block all Public Access;不需要公共访问。
AWS IAM Management Console - Adding a new user
  1. 在页面底部选择 Create Bucket
AWS IAM Management Console - Adding a new user
  1. 点击该链接,复制 ARN,并保存,以便在配置该 bucket 的访问策略时使用
AWS IAM Management Console - Adding a new user
  1. 创建 bucket 后,在 S3 buckets 列表中找到新的 S3 bucket,并选择该 bucket 名称,这会打开如下所示的页面:
AWS IAM Management Console - Adding a new user
  1. 选择 Create folder

  2. 输入一个文件夹名称,该文件夹将作为 ClickHouse S3 磁盘或备份的目标,然后在页面底部选择 Create folder

AWS IAM Management Console - Adding a new user
  1. 现在应当能在 bucket 列表中看到该文件夹
AWS IAM Management Console - Adding a new user
  1. 勾选新建文件夹前的复选框并点击 Copy URL。保存该 URL,以便在下一节中用于 ClickHouse 存储配置。
AWS IAM Management Console - Adding a new user
  1. 选择 Permissions 选项卡,然后在 Bucket Policy 部分点击 Edit 按钮
AWS IAM Management Console - Adding a new user
  1. 添加一个 bucket policy,示例如下
{
    "Version": "2012-10-17",
    "Id": "Policy123456",
    "Statement": [
        {
            "Sid": "abc123",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::782985192762:user/docs-s3-user"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::ch-docs-s3-bucket",
                "arn:aws:s3:::ch-docs-s3-bucket/*"
            ]
        }
    ]
}
注意

上述策略允许对该 bucket 执行所有操作

ParameterDescriptionExample Value
Version策略解释器的版本,保持不变2012-10-17
Sid用户自定义的策略 IDabc123
Effect是否允许或拒绝用户请求Allow
Principal被允许访问的账号或用户arn:aws:iam::782985192762:user/docs-s3-user
Action在该 bucket 上允许执行的操作s3:*
Resource该 bucket 中允许执行操作的资源"arn:aws:s3:::ch-docs-s3-bucket", "arn:aws:s3:::ch-docs-s3-bucket/*"
注意

应与安全团队协作确定要使用的权限,可将这些示例视为起点。 有关策略和设置的更多信息,请参阅 AWS 文档: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html

  1. 保存策略配置