Passer au contenu principal
Ce guide montre comment les clients de ClickHouse Cloud peuvent tirer parti de l’accès basé sur les rôles pour s’authentifier auprès d’Amazon Simple Storage Service (S3) et accéder à leurs données en toute sécurité. Avant d’aborder la configuration d’un accès sécurisé à S3, il est important de comprendre comment cela fonctionne. Vous trouverez ci-dessous un aperçu de la manière dont les services ClickHouse peuvent accéder à des buckets S3 privés en assumant un rôle au sein du compte AWS des clients.
Cette approche permet aux clients de gérer tous les accès à leurs buckets S3 depuis un point central (la stratégie IAM du rôle assumé), sans avoir à parcourir toutes leurs stratégies de bucket pour ajouter ou supprimer des accès. Dans la section ci-dessous, vous verrez comment configurer cela.

Récupérez l’ARN du rôle IAM de votre service ClickHouse

  1. Connectez-vous à votre compte ClickHouse Cloud.
  2. Sélectionnez le service ClickHouse pour lequel vous souhaitez créer l’intégration
  3. Sélectionnez l’onglet Settings
  4. Faites défiler la page jusqu’à la section Network security information, en bas de la page
  5. Copiez la valeur Service role ID (IAM) associée au service, comme indiqué ci-dessous.

Configurer le rôle IAM à assumer

Le rôle IAM à assumer peut être configuré de l’une des deux manières suivantes :

Déploiement avec une stack CloudFormation

  1. Connectez-vous à votre AWS account dans le navigateur web avec un utilisateur IAM autorisé à créer et gérer des rôles IAM.
  2. Accédez à l’URL CloudFormation suivante pour renseigner la stack CloudFormation.
  3. Saisissez (ou collez) le Service role ID (IAM) de votre service, que vous avez obtenu précédemment, dans le champ intitulé “ClickHouse Instance Roles” Vous pouvez coller le Service role ID exactement tel qu’il apparaît dans la Cloud Console.
  4. Saisissez le nom de votre bucket dans le champ intitulé “Bucket Names”. Si l’URL de votre bucket est https://ch-docs-s3-bucket.s3.eu-central-1.amazonaws.com/clickhouseS3/, alors le nom du bucket est ch-docs-s3-bucket.
N’indiquez pas l’ARN complet du bucket, uniquement son nom.
  1. Configurez la stack CloudFormation. Vous trouverez ci-dessous des informations complémentaires sur ces paramètres.
  1. Cochez la case I acknowledge that AWS CloudFormation might create IAM resources with custom names.
  2. Cliquez sur le bouton Create stack en bas à droite
  3. Assurez-vous que la stack CloudFormation se termine sans erreur.
  4. Sélectionnez la stack nouvellement créée, puis l’onglet Outputs de la stack CloudFormation
  5. Copiez la valeur RoleArn pour cette integration, car c’est elle qui vous permettra d’accéder à votre bucket S3.

Créer manuellement un rôle IAM

  1. Connectez-vous à votre compte AWS dans votre navigateur web avec un utilisateur IAM disposant des autorisations nécessaires pour créer et gérer des rôles IAM.
  2. Accédez à la console du service IAM
  3. Créez un nouveau rôle IAM avec la stratégie IAM et la politique d’approbation suivantes. Remplacez {ClickHouse_IAM_ARN} par l’ARN du rôle IAM associé à votre instance ClickHouse.
Stratégie IAM
  1. Copiez le nouvel IAM Role Arn une fois créé : c’est ce dont vous avez besoin pour accéder à votre bucket S3.

Accédez à votre bucket S3 avec le rôle ClickHouseAccess

ClickHouse Cloud vous permet de spécifier extra_credentials dans le cadre de la fonction de table S3. Vous trouverez ci-dessous un exemple montrant comment exécuter une requête à l’aide du rôle nouvellement créé, copié depuis la section ci-dessus.
Vous trouverez ci-dessous un exemple de requête qui utilise role_session_name comme secret partagé pour interroger des données dans un bucket. Si role_session_name n’est pas correct, cette opération échouera.
Nous recommandons que votre source S3 se trouve dans la même région que votre service ClickHouse Cloud afin de réduire les coûts de transfert de données. Pour plus d’informations, consultez la tarification d’S3

Contrôle avancé des actions

Pour un contrôle d’accès plus strict, il est possible de restreindre la politique du bucket afin de n’accepter que les requêtes issues des endpoints VPC de ClickHouse Cloud à l’aide de la condition aws:SourceVpce. Pour obtenir les endpoints VPC de votre région ClickHouse Cloud, ouvrez un terminal et exécutez :
Ensuite, ajoutez une règle de refus à la stratégie IAM avec les endpoints renvoyés :
Pour en savoir plus sur l’accès aux endpoints des services ClickHouse Cloud, consultez Adresses IP Cloud.
Dernière modification le 2 juillet 2026