AWS IAM DB authentication (RDS/Aurora)
This article demonstrates how ClickPipes customers can leverage role-based access to authenticate with Amazon Aurora and RDS and access their databases securely.
Setup
Before you start
Make sure IAM authentication is enabled
- Login to your AWS Account and navigate to the RDS instance you want to configure.
- Click on the Modify button.
- Scroll down to the Database authentication section.
- Enable the Password and IAM database authentication option.
- Click on the Continue button.
- Review the changes and click on the Apply immediately option.
Setting up the database user
Connect to your RDS/Aurora instance and create a database user with IAM authentication enabled, then follow the rest of the steps in your source setup guide to configure your instance for ClickPipes:
- AWS Aurora for PostgreSQL source setup guide
- AWS RDS for PostgreSQL source setup guide
- AWS Aurora for MySQL source setup guide
- AWS RDS for MySQL source setup guide
Obtaining the ClickHouse service IAM role Arn
1 - Login to your ClickHouse cloud account.
2 - Select the ClickHouse service you want to create the integration
3 - Select the Settings tab
4 - Scroll down to the Network security information section at the bottom of the page
5 - Copy the Service role ID (IAM) value belong to the service as shown below.
Let's call this value {ClickHouse_IAM_ARN}. This is the IAM role that will be used to access your RDS/Aurora instance.
Setting up the IAM role
Obtaining the RDS/Aurora Resource ID
- Login to your AWS Account and navigate to the RDS instance/Aurora Cluster you want to configure.
- Click on the Configuration tab.
- Note the Resource ID value. It should look like
db-xxxxxxxxxxxxxxfor RDS orcluster-xxxxxxxxxxxxxxfor Aurora cluster. Let's call this value{RDS_RESOURCE_ID}. This is the resource ID that will be used in the IAM policy to allow access to the RDS instance.
Manually create IAM role.
1 - Login to your AWS Account in the web browser with an IAM user that has permission to create & manage IAM role.
2 - Browse to IAM Service Console
3 - Create a new IAM role with the following IAM & Trust policy.
Trust policy (Please replace {ClickHouse_IAM_ARN} with the IAM Role arn belong to your ClickHouse instance):
IAM policy (Please replace {RDS_RESOURCE_ID} with the Resource ID of your RDS instance). Please make sure to replace {RDS_REGION} with the region of your RDS/Aurora instance and {AWS_ACCOUNT} with your AWS account ID:
4 - Copy the new IAM Role Arn after creation. This is what needed to access your AWS Database securely from ClickPipes. Let's call this {RDS_ACCESS_IAM_ROLE_ARN}.
You can now use this IAM role to authenticate with your RDS/Aurora instance from ClickPipes.