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
1
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:2
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
3
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:ImportanteAlmacena estas credenciales de forma segura.
El secreto no se puede recuperar una vez que cierres esta pantalla.
Tendrás que generar nuevas claves si pierdes el secreto.
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