Este artículo muestra cómo los clientes de ClickPipes pueden aprovechar el acceso basado en roles para autenticarse en Amazon Aurora y RDS, y acceder de forma segura a sus bases de datos.
En AWS RDS Postgres y Aurora Postgres, solo puede ejecutar ClickPipes Initial Load Only debido a las limitaciones de la autenticación de base de datos con IAM de AWS.En MySQL y MariaDB, esta limitación no aplica, y puede ejecutar tanto ClickPipes Initial Load Only como CDC.
Obtención del ARN del rol de IAM del servicio de ClickHouse
1 - Inicia sesión en tu cuenta de ClickHouse Cloud.
2 - Selecciona el servicio de ClickHouse para el que quieres crear la integración
3 - Selecciona la pestaña Settings
4 - Desplázate hacia abajo hasta la sección Network security information, al final de la página
5 - Copia el valor de Service role ID (IAM) correspondiente al servicio, como se muestra a continuación.
Llamaremos a este valor {ClickHouse_IAM_ARN}. Este es el rol de IAM que se usará para acceder a tu instancia de RDS/Aurora.
Configuración de la instancia de RDS/Aurora
Habilitar la autenticación de base de datos con IAM
- Inicia sesión en tu cuenta de AWS y ve a la instancia de RDS que quieres configurar.
- Haz clic en el botón Modify.
- Desplázate hacia abajo hasta la sección Database authentication.
- Habilita la opción Password and IAM database authentication.
- Haz clic en el botón Continue.
- Revisa los cambios y haz clic en la opción Apply immediately.
Obtención del ID de recurso de RDS/Aurora
- Inicia sesión en tu cuenta de AWS y ve a la instancia de RDS o al clúster de Aurora que quieres configurar.
- Haz clic en la pestaña Configuración.
- Anota el valor de ID de recurso. Debería tener un formato como
db-xxxxxxxxxxxxxx para RDS o cluster-xxxxxxxxxxxxxx para un clúster de Aurora. Llamemos a este valor {RDS_RESOURCE_ID}. Este es el ID de recurso que se usará en la política de IAM para permitir el acceso a la instancia de RDS.
Configuración del usuario de base de datos
PostgreSQL
- Conéctese a su instancia de RDS/Aurora y cree un nuevo usuario de base de datos con el siguiente comando:
CREATE USER clickpipes_iam_user;
GRANT rds_iam TO clickpipes_iam_user;
- Siga el resto de los pasos de la guía para configurar PostgreSQL como origen para configurar su instancia de RDS para ClickPipes.
MySQL / MariaDB
- Conéctese a su instancia de RDS/Aurora y cree un nuevo usuario de base de datos con el siguiente comando:
CREATE USER 'clickpipes_iam_user' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
- Siga el resto de los pasos de la guía de configuración de MySQL como origen para configurar su instancia de RDS/Aurora para ClickPipes.
Crear manualmente el rol de IAM.
1 - Inicie sesión en su cuenta de AWS desde el navegador web con un usuario de IAM que tenga permiso para crear y administrar roles de IAM.
2 - Vaya a la Consola del servicio IAM
3 - Cree un nuevo rol de IAM con la siguiente política de IAM y política de confianza.
Política de confianza (reemplace {ClickHouse_IAM_ARN} por el ARN del rol de IAM que pertenece a su instancia de ClickHouse):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "{ClickHouse_IAM_ARN}"
},
"Action": [
"sts:AssumeRole",
"sts:TagSession"
]
}
]
}
Política de IAM (sustituya {RDS_RESOURCE_ID} por el ID de recurso de su instancia de RDS). Asegúrese de sustituir {RDS_REGION} por la región de su instancia de RDS/Aurora y {AWS_ACCOUNT} por el ID de su cuenta de AWS:
{
"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 - Copie el nuevo ARN del rol de IAM después de crearlo. Esto es lo que se necesita para acceder de forma segura a su base de datos en AWS desde ClickPipes. Llamémoslo {RDS_ACCESS_IAM_ROLE_ARN}.
Ahora puede usar este rol de IAM para autenticarse en su instancia de RDS/Aurora desde ClickPipes.