You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/integrations/data-ingestion/clickpipes/mysql/source/aurora.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,6 +129,16 @@ Connect to your Aurora MySQL instance as an admin user and execute the following
129
129
GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
130
130
```
131
131
132
+
### Using IAM authentication (optional) {#iam-authentication}
133
+
134
+
Instead of a password, you can authenticate the ClickPipes user via AWS IAM role-based access. Create the user as follows, then grant it the same schema and replication privileges shown above:
135
+
136
+
```sql
137
+
CREATE USER 'clickpipes_iam_user' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
138
+
```
139
+
140
+
See [AWS IAM DB authentication (RDS/Aurora)](/integrations/clickpipes/postgres/auth) for the full steps to set up the IAM role and policy required for ClickPipes to authenticate this way.
Copy file name to clipboardExpand all lines: docs/integrations/data-ingestion/clickpipes/mysql/source/rds.md
+10Lines changed: 10 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,6 +133,16 @@ Connect to your RDS MySQL instance as an admin user and execute the following co
133
133
GRANT REPLICATION SLAVE ON *.* TO 'clickpipes_user'@'%';
134
134
```
135
135
136
+
### Using IAM authentication (optional) {#iam-authentication}
137
+
138
+
Instead of a password, you can authenticate the ClickPipes user via AWS IAM role-based access. Create the user as follows, then grant it the same schema and replication privileges shown above:
139
+
140
+
```sql
141
+
CREATE USER 'clickpipes_iam_user' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
142
+
```
143
+
144
+
See [AWS IAM DB authentication (RDS/Aurora)](/integrations/clickpipes/postgres/auth) for the full steps to set up the IAM role and policy required for ClickPipes to authenticate this way.
Copy file name to clipboardExpand all lines: docs/integrations/data-ingestion/clickpipes/postgres/auth.md
+20-35Lines changed: 20 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,13 +15,27 @@ import Image from '@theme/IdealImage';
15
15
16
16
This article demonstrates how ClickPipes customers can leverage role-based access to authenticate with Amazon Aurora and RDS and access their databases securely.
17
17
18
-
:::warning
19
-
For AWS RDS Postgres and Aurora Postgres you can only run `Initial Load Only` ClickPipes due to the limitations of the AWS IAM DB authentication.
18
+
## Setup {#setup}
20
19
21
-
For MySQL and MariaDB, this limitation doesn't apply, and you can run both `Initial Load Only` and `CDC` ClickPipes.
22
-
:::
20
+
### Before you start {#before-you-start}
23
21
24
-
## Setup {#setup}
22
+
#### Make sure IAM authentication is enabled {#make-sure-iam-authentication-is-enabled}
23
+
24
+
1. Login to your AWS Account and navigate to the RDS instance you want to configure.
25
+
2. Click on the **Modify** button.
26
+
3. Scroll down to the **Database authentication** section.
27
+
4. Enable the **Password and IAM database authentication** option.
28
+
5. Click on the **Continue** button.
29
+
6. Review the changes and click on the **Apply immediately** option.
30
+
31
+
#### Setting up the database user {#setting-up-the-database-user}
32
+
33
+
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:
34
+
35
+
-[AWS Aurora for PostgreSQL source setup guide](./source/aurora#configure-database-user)
36
+
-[AWS RDS for PostgreSQL source setup guide](./source/rds#configure-database-user)
37
+
-[AWS Aurora for MySQL source setup guide](../mysql/source/aurora#configure-database-user)
38
+
-[AWS RDS for MySQL source setup guide](../mysql/source/rds#configure-database-user)
25
39
26
40
### Obtaining the ClickHouse service IAM role Arn {#obtaining-the-clickhouse-service-iam-role-arn}
27
41
@@ -39,43 +53,14 @@ For MySQL and MariaDB, this limitation doesn't apply, and you can run both `Init
39
53
40
54
Let's call this value `{ClickHouse_IAM_ARN}`. This is the IAM role that will be used to access your RDS/Aurora instance.
41
55
42
-
### Configuring the RDS/Aurora instance {#configuring-the-rds-aurora-instance}
43
-
44
-
#### Enabling IAM DB Authentication {#enabling-iam-db-authentication}
45
-
1. Login to your AWS Account and navigate to the RDS instance you want to configure.
46
-
2. Click on the **Modify** button.
47
-
3. Scroll down to the **Database authentication** section.
48
-
4. Enable the **Password and IAM database authentication** option.
49
-
5. Click on the **Continue** button.
50
-
6. Review the changes and click on the **Apply immediately** option.
56
+
### Setting up the IAM role {#setting-up-iam-role}
51
57
52
58
#### Obtaining the RDS/Aurora Resource ID {#obtaining-the-rds-resource-id}
53
59
54
60
1. Login to your AWS Account and navigate to the RDS instance/Aurora Cluster you want to configure.
55
61
2. Click on the **Configuration** tab.
56
62
3. Note the **Resource ID** value. It should look like `db-xxxxxxxxxxxxxx` for RDS or `cluster-xxxxxxxxxxxxxx` for 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.
57
63
58
-
#### Setting up the Database User {#setting-up-the-database-user}
Copy file name to clipboardExpand all lines: docs/integrations/data-ingestion/clickpipes/postgres/source/aurora.md
+11Lines changed: 11 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,6 +98,17 @@ Connect to your Aurora PostgreSQL writer instance as an admin user and execute t
98
98
99
99
The `clickpipes` publication defines the set of tables whose change events will be streamed to ClickPipes. We recommend against using `FOR ALL TABLES` unless you intend to replicate every table, as including unnecessary tables increases WAL traffic from Postgres to ClickPipes and reduces overall replication efficiency.
100
100
101
+
### Using IAM authentication (optional) {#iam-authentication}
102
+
103
+
Instead of a password, you can authenticate the ClickPipes user via AWS IAM role-based access. This requires the `rds.iam_auth_for_replication` parameter to be set to `1`. Create the user as follows, then grant it the same schema and replication privileges shown above:
104
+
105
+
```sql
106
+
CREATE USER clickpipes_iam_user;
107
+
GRANT rds_iam TO clickpipes_iam_user;
108
+
```
109
+
110
+
See [AWS IAM DB authentication (RDS/Aurora)](/integrations/clickpipes/postgres/auth) for the full steps to set up the IAM role and policy required for ClickPipes to authenticate this way.
Copy file name to clipboardExpand all lines: docs/integrations/data-ingestion/clickpipes/postgres/source/rds.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,6 +98,21 @@ Connect to your RDS Postgres instance as an admin user and execute the following
98
98
99
99
The `clickpipes` publication defines the set of tables whose change events will be streamed to ClickPipes. We recommend against using `FOR ALL TABLES` unless you intend to replicate every table, as including unnecessary tables increases WAL traffic from Postgres to ClickPipes and reduces overall replication efficiency.
100
100
101
+
### Using IAM authentication (optional) {#iam-authentication}
102
+
103
+
Instead of a password, you can authenticate the ClickPipes user via AWS IAM role-based access. Create the user as follows, then grant it the same schema and replication privileges shown above:
104
+
105
+
```sql
106
+
CREATE USER clickpipes_iam_user;
107
+
GRANT rds_iam TO clickpipes_iam_user;
108
+
```
109
+
110
+
:::note
111
+
IAM authentication for replication requires the `rds.iam_auth_for_replication` parameter to be set to `1`. This is supported from PostgreSQL version 11 onwards; on earlier versions, you can only run `Initial Load Only` ClickPipes.
112
+
:::
113
+
114
+
See [AWS IAM DB authentication (RDS/Aurora)](/integrations/clickpipes/postgres/auth) for the full steps to set up the IAM role and policy required for ClickPipes to authenticate this way.
0 commit comments