Passer au contenu principal
Ce guide explique comment vous authentifier de manière sécurisée à Google Cloud Storage (GCS) et accéder à vos données depuis ClickHouse Cloud.

Introduction

ClickHouse Cloud se connecte à GCS à l’aide de clés HMAC (Hash-based Message Authentication Code) associées à un compte de service Google Cloud. Cette approche permet d’accéder de manière sécurisée à vos buckets GCS sans intégrer directement d’identifiants dans vos requêtes. Comment cela fonctionne :
  1. Vous créez un compte de service Google Cloud disposant des autorisations GCS appropriées
  2. Vous générez des clés HMAC pour ce compte de service
  3. Vous fournissez ces identifiants HMAC à ClickHouse Cloud
  4. ClickHouse Cloud utilise ces identifiants pour accéder à vos buckets GCS
Cette approche vous permet de gérer l’ensemble des accès aux buckets GCS via des stratégies IAM appliquées au compte de service, ce qui facilite l’octroi ou la révocation des accès sans avoir à modifier les stratégies propres à chaque bucket.

Prérequis

Pour suivre ce guide, vous aurez besoin de :
  • D’un service ClickHouse Cloud actif
  • D’un projet Google Cloud avec Cloud Storage activé
  • Des autorisations nécessaires pour créer des comptes de service et générer des clés HMAC dans votre projet GCP

Configuration

1

Créer un compte de service Google Cloud

  1. Dans Google Cloud Console, accédez à IAM & Admin → Service Accounts
  1. Dans le menu de gauche, cliquez sur Service accounts, puis sur Create service account :
Saisissez un nom et une description pour votre compte de service, par exemple :
Cliquez sur Create and continueAttribuez au compte de service le rôle Storage Object User :Ce rôle accorde un accès en lecture et en écriture aux objets GCS
Pour un accès en lecture seule, utilisez plutôt Storage Object Viewer Pour un contrôle plus fin, vous pouvez créer un rôle personnalisé
Cliquez sur Continue, puis sur DoneNotez l’adresse e-mail du compte de service :
2

Accorder au compte de service l’accès au bucket

Vous pouvez accorder l’accès soit au niveau du projet, soit au niveau de chaque bucket.

Option 1 : accorder l’accès à des buckets spécifiques (recommandé)

  1. Accédez à Cloud StorageBuckets
  2. Cliquez sur le bucket auquel vous souhaitez accorder l’accès
  3. Ouvrez l’onglet Permissions
  4. Sous “Permissions”, cliquez sur Grant access pour le principal créé aux étapes précédentes
  5. Dans le champ “New principals”, saisissez l’adresse e-mail de votre compte de service
  6. Sélectionnez le rôle approprié :
  • Storage Object User pour un accès en lecture/écriture
  • Storage Object Viewer pour un accès en lecture seule
  1. Cliquez sur Save
  2. Répétez l’opération pour chaque bucket supplémentaire

Option 2 : accorder l’accès au niveau du projet

  1. Accédez à IAM & AdminIAM
  2. Cliquez sur Grant access
  3. Saisissez l’adresse e-mail de votre compte de service dans le champ New principals
  4. Sélectionnez Storage Object User (ou Storage Object Viewer pour un accès en lecture seule)
  5. Cliquez sur SAVE
Bonne pratique de sécuritéAccordez l’accès uniquement aux buckets spécifiques auxquels ClickHouse doit accéder, plutôt que d’accorder des permissions à l’échelle du projet.
3

Générer des clés HMAC pour le compte de service

Accédez à Cloud StorageSettingsInteroperability :Si vous ne voyez pas de section “Access keys”, cliquez sur Enable interoperability accessSous “Access keys for service accounts”, cliquez sur Create a key for a service account :Sélectionnez le compte de service que vous avez créé précédemment (par exemple, clickhouse-gcs-access@your-project.iam.gserviceaccount.com)Cliquez sur Create key :La clé HMAC s’affichera. Enregistrez immédiatement l’Access Key et le Secret : vous ne pourrez plus afficher le secret ensuite.Des exemples de clés sont affichés ci-dessous :
ImportantConservez ces identifiants en lieu sûr. Le secret ne pourra plus être récupéré une fois cet écran fermé. Vous devrez générer de nouvelles clés si vous perdez le secret.

Utiliser des clés HMAC avec ClickHouse Cloud

Vous pouvez maintenant utiliser les identifiants HMAC pour accéder à GCS depuis ClickHouse Cloud. Pour cela, utilisez la fonction table GCS :
Utilisez des caractères génériques pour plusieurs fichiers :

Authentification HMAC dans ClickPipes for GCS

ClickPipes utilise des clés HMAC (Hash-based Message Authentication Code) pour s’authentifier auprès de Google Cloud Storage.Lors de la configuration d’un ClickPipe GCS :
  1. Sélectionnez Credentials dans Authentication method lors de la configuration du ClickPipe
  2. Renseignez les identifiants HMAC obtenus aux étapes précédentes
L’authentification par service account n’est actuellement pas prise en charge : vous devez utiliser des clés HMAC L’URL du bucket GCS doit respecter le format suivant : https://storage.googleapis.com/<bucket>/<path> (et non gs://)
Les clés HMAC doivent être associées à un service account disposant du rôle roles/storage.objectViewer, qui inclut :
  • storage.objects.list : pour lister les objets du bucket
  • storage.objects.get : pour récupérer/lire les objets

Bonnes pratiques

Utilisez des comptes de service distincts pour chaque environnement

Créez des comptes de service distincts pour les environnements de développement, de staging et de production. Par exemple :
  • clickhouse-gcs-dev@project.iam.gserviceaccount.com
  • clickhouse-gcs-staging@project.iam.gserviceaccount.com
  • clickhouse-gcs-prod@project.iam.gserviceaccount.com
Vous pourrez ainsi révoquer facilement l’accès d’un environnement spécifique sans affecter les autres.

Appliquer le principe du moindre privilège

N’accordez que les permissions strictement nécessaires :
  • Utilisez Storage Object Viewer pour un accès en lecture seule
  • Accordez l’accès à des buckets spécifiques plutôt qu’à l’ensemble du projet
  • Envisagez d’utiliser des conditions au niveau du bucket pour restreindre l’accès à des paths spécifiques

Effectuez régulièrement une rotation des clés HMAC

Définissez un calendrier de rotation des clés :
  • Générez de nouvelles clés HMAC
  • Mettez à jour les configurations ClickHouse avec les nouvelles clés
  • Vérifiez le bon fonctionnement avec les nouvelles clés
  • Supprimez les anciennes clés HMAC
Google Cloud n’impose pas d’expiration pour les clés HMAC ; vous devez donc définir votre propre politique de rotation.

Surveiller les accès avec Cloud Audit Logs

Activez et surveillez les Cloud Audit Logs pour Cloud Storage :
  1. Accédez à IAM & Admin → Audit Logs
  2. Recherchez Cloud Storage dans la liste
  3. Activez Admin Read, Data Read et Data Write logs
  4. Utilisez ces logs pour surveiller les modèles d’accès et détecter les anomalies
Dernière modification le 29 juin 2026