Saltar al contenido principal
Puedes inscribirte en la lista de espera de la vista previa privada aquí.
Este artículo describe los permisos de IAM de GCP que ClickPipes necesita para autenticarse con Google Cloud Pub/Sub y consumir datos de tus temas, y cómo configurar una cuenta de servicio que conceda exactamente esos permisos.

Requisitos previos

Para seguir esta guía, necesitará:
  • Un servicio activo de ClickHouse Cloud
  • Un proyecto de GCP que contenga el tema de Pub/Sub desde el que desea ingestar
  • Permisos de IAM en ese proyecto para crear cuentas de servicio y asignar roles

Modelo de autenticación

ClickPipes para Pub/Sub se autentica con GCP mediante una clave JSON de cuenta de servicio. Cuando creas un pipe, subes el archivo de clave; ClickPipes lo cifra en reposo y lo usa en tiempo de ejecución para:
  • listar y leer temas de tu proyecto,
  • crear y eliminar la suscripción administrada que ClickPipes usa para consumir mensajes,
  • consumir mensajes de esa suscripción, y
  • (opcionalmente) leer esquemas nativos de Pub/Sub desde el registro de esquemas.
No hay opción de Workload Identity ni de pegar credenciales directamente: la clave JSON de cuenta de servicio es el único método de autenticación compatible actualmente.

Permisos necesarios

ClickPipes requiere los siguientes permisos de IAM en el proyecto de GCP propietario del tema. Cubren todo el ciclo de vida del pipe: descubrimiento (listado de temas, validación y muestreo), gestión de suscripciones, ingestión continua y limpieza.

Acceso al tema (descubrimiento y validación)

Ciclo de vida de la suscripción (descubrimiento e ingestión)

Acceso a esquemas (opcional — solo para temas nativos de Avro/Protobuf)

Roles predefinidos

Configuración

Crear un rol personalizado (recomendado)

Para aplicar el principio de privilegio mínimo, cree un rol personalizado con exactamente los permisos que necesita ClickPipes. Puede hacerlo con la CLI de gcloud:
O bien, en la Consola de GCP, ve a IAM & Admin → Roles → Crear rol y agrega los permisos que se indican en Permisos necesarios.
Permisos opcionalesAñade pubsub.schemas.get a la lista de --permissions si ingestas datos desde temas que usan esquemas nativos de Pub/Sub Avro o Protobuf. De lo contrario, omítelo para mantener el rol con los permisos mínimos.
Si prefieres omitir el rol personalizado, puedes otorgar roles/pubsub.editor en su lugar.

Crear una cuenta de servicio

Cree una cuenta de servicio específica para el ClickPipe:

Otorga el rol a la cuenta de servicio

Asigna el rol que creaste (o roles/pubsub.editor) a la cuenta de servicio a nivel de proyecto:

Crear y descargar una clave de cuenta de servicio

Cree una clave JSON para la cuenta de servicio y descárguela localmente:
Sube este archivo clickpipes-pubsub-key.json en la interfaz de usuario de ClickPipes al crear el pipe.
Trata la clave como un secretoLas claves de las cuentas de servicio otorgan acceso a tu proyecto de GCP. Guarda el archivo de forma segura, no lo añadas al control de versiones y rótalo periódicamente. ClickPipes cifra la clave en reposo tras subirla.

Notas

  • pubsub.topics.attachSubscription es obligatorio en el recurso de tema, no en la suscripción. Esto suele pasarse por alto cuando solo se otorgan permisos a nivel de suscripción.
  • Si tu tema no usa un esquema nativo de Pub/Sub (Avro o Protobuf), no se necesita el permiso pubsub.schemas.get.
  • Las suscripciones administradas se llaman clickpipes-{pipeID} y tienen un ack deadline de 60 s, retención de mensajes de 7 días y el orden de los mensajes habilitado.
  • Las suscripciones efímeras de descubrimiento se llaman clickpipes-discovery-{uuid} y tienen un ack deadline de 10 s, retención de 10 minutos y un TTL de caducidad automática de 24 horas.
  • ClickPipes trata los errores PermissionDenied y Unauthenticated como no reintentables: si falta algún permiso, el pipe falla de inmediato en lugar de reintentarlo indefinidamente.
Última modificación el 2 de julio de 2026