This guide shows you how you can set up an IAM user and S3 bucket in AWS, a prerequisite step for taking backups to S3 or configuring ClickHouse to store data on S3
Create an AWS IAM user
In this procedure, we’ll be creating a service account user, not a login user.- Log into the AWS IAM Management Console.
-
In the
Userstab, selectCreate user
- Enter a user-name
- Select
Next
- Select
Next
- Select
Create user
- Select
Create access key
- Select
Application running outside AWS
- Select
Create access key
- Download your access key and secret as a .csv for use later
Create an S3 bucket
- In the S3 bucket section, select Create bucket
- Enter a bucket name, leave other options default
The bucket name must be unique across AWS, not just the organization, or it will emit an error.
- Leave
Block all Public Accessenabled; public access isn’t needed.
- Select Create Bucket at the bottom of the page
- Select the link, copy the ARN, and save it for use when configuring the access policy for the bucket
- Once the bucket has been created, find the new S3 bucket in the S3 buckets list and select the bucket name which will take you to the page shown below:
-
Select
Create folder -
Enter a folder name that will be the target for the ClickHouse S3 disk or backup and select
Create folderat the bottom of the page
- The folder should now be visible on the bucket list
- Select the checkbox for the new folder and click on
Copy URL. Save the URL for use in the ClickHouse storage configuration in the next section.
- Select the Permissions tab and click on the Edit button in the Bucket Policy section
- Add a bucket policy, example below
The policy above makes it possible to perform all actions on the bucket
You should work with your security team to determine the permissions to be used, consider these as a starting point.
For more information on Policies and settings, refer to AWS documentation:
https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html
- Save the policy configuration