Introducción
- Cree una cuenta de servicio de Google Cloud con los permisos de GCS adecuados
- Genere claves HMAC para esa cuenta de servicio
- Proporcione estas credenciales HMAC a ClickHouse Cloud
- ClickHouse Cloud usa estas credenciales para acceder a sus buckets de GCS
Requisitos previos
- Un servicio activo de ClickHouse Cloud
- Un proyecto de Google Cloud con Cloud Storage habilitado
- Permisos para crear cuentas de servicio y generar claves HMAC en tu proyecto de GCP
Configuración
Crear una service account de Google Cloud
- En la Google Cloud Console, ve a IAM & Admin → Service Accounts
- Haz clic en
Service accountsen el menú de la izquierda y, a continuación, enCreate service account:
Create and continueAsigna a la cuenta de servicio el rol Storage Object User:Este rol proporciona acceso de lectura y escritura a los objetos de GCSHaz clic en Continue y luego en DoneToma nota de la dirección de correo electrónico de la cuenta de servicio:Conceder acceso al bucket a la cuenta de servicio
Puede conceder acceso tanto a nivel de proyecto como a nivel de bucket individual.Opción 1: Conceder acceso a buckets específicos (recomendado)
- Vaya a
Cloud Storage→Buckets - Haga clic en el bucket al que quiere conceder acceso
- Vaya a la pestaña
Permissions - En “Permissions”, haga clic en
Grant accesspara el principal creado en los pasos anteriores - En el campo “New principals”, introduzca el correo electrónico de su cuenta de servicio
- Seleccione el rol adecuado:
- Storage Object User para acceso de lectura y escritura
- Storage Object Viewer para acceso de solo lectura
- Haga clic en
Save - Repita el proceso con cualquier bucket adicional
Opción 2: Conceder acceso a nivel de proyecto
- Vaya a
IAM & Admin→IAM - Haga clic en
Grant access - Introduzca el correo electrónico de su cuenta de servicio en el campo
New principals - Seleccione Storage Object User (o Storage Object Viewer para acceso de solo lectura)
- Haga clic en SAVE
Genera claves HMAC para la cuenta de servicio
Ve aCloud Storage → Settings → Interoperability:Si no ves una sección de “Access keys”, haz clic en Enable interoperability accessEn “Access keys for service accounts”, haz clic en Create a key for a service account:Selecciona la cuenta de servicio que creaste antes (p. ej., clickhouse-gcs-access@your-project.iam.gserviceaccount.com)Haz clic en Create key:Se mostrará la clave HMAC.
Guarda tanto la Access Key como el Secret de inmediato; no podrás volver a ver el Secret.A continuación se muestran claves de ejemplo:Usa claves HMAC con ClickHouse Cloud
Ahora puedes usar las credenciales HMAC para acceder a GCS desde ClickHouse Cloud. Para ello, usa la función de tabla de GCS:Autenticación HMAC en ClickPipes para GCS
ClickPipes usa claves HMAC (Hash-based Message Authentication Code) para autenticarse con Google Cloud Storage.Al configurar un ClickPipe de GCS:- Selecciona
CredentialsenAuthentication methoddurante la configuración del ClickPipe - Proporciona las credenciales HMAC obtenidas en los pasos anteriores
La autenticación mediante cuentas de servicio aún no es compatible; debes usar claves HMAC
La URL del bucket de GCS debe tener el formato:
https://storage.googleapis.com/<bucket>/<path> (no gs://)roles/storage.objectViewer, que incluye:storage.objects.list: para listar objetos en el bucketstorage.objects.get: para obtener/leer objetos
Prácticas recomendadas
Usa cuentas de servicio independientes para distintos entornos
clickhouse-gcs-dev@project.iam.gserviceaccount.comclickhouse-gcs-staging@project.iam.gserviceaccount.comclickhouse-gcs-prod@project.iam.gserviceaccount.com
Aplique el principio de mínimo privilegio
- Use Storage Object Viewer para acceso de solo lectura
- Conceda acceso a buckets específicos en lugar de a todo el proyecto
- Considere usar condiciones a nivel de bucket para restringir el acceso a rutas específicas
Rote las claves HMAC con regularidad
- Genere nuevas claves HMAC
- Actualice la configuración de ClickHouse con las nuevas claves
- Verifique el funcionamiento con las nuevas claves
- Elimine las claves HMAC antiguas
Monitoree el acceso con Cloud Audit Logs
- Vaya a IAM & Admin → Audit Logs
- Busque Cloud Storage en la lista
- Habilite
Admin Read,Data ReadyData Write logs - Use estos registros para monitorear los patrones de acceso y detectar anomalías