| slug | /integrations/clickpipes/postgres/auth | ||||||
|---|---|---|---|---|---|---|---|
| sidebar_label | AWS IAM DB authentication (RDS/Aurora) | ||||||
| title | AWS IAM DB authentication (RDS/Aurora) | ||||||
| description | This article demonstrates how ClickPipes customers can leverage role-based access to authenticate with Amazon RDS/Aurora and access their database securely. | ||||||
| doc_type | guide | ||||||
| keywords |
|
||||||
| integration |
|
import secures3_arn from '@site/static/images/cloud/security/secures3_arn.png'; import Image from '@theme/IdealImage';
This article demonstrates how ClickPipes customers can leverage role-based access to authenticate with Amazon Aurora and RDS and access their databases securely.
- 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.
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
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.
- 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.
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):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "{ClickHouse_IAM_ARN}"
},
"Action": [
"sts:AssumeRole",
"sts:TagSession"
]
}
]
}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:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds-db:connect"
],
"Resource": [
"arn:aws:rds-db:{RDS_REGION}:{AWS_ACCOUNT}:dbuser:{RDS_RESOURCE_ID}/clickpipes_iam_user"
]
}
]
}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.