Passer au contenu principal
ClickHouse Cloud prend en charge le contrôle d’accès sécurisé basé sur les rôles pour les données Iceberg stockées dans un stockage objet (généralement S3) grâce à une relation d’approbation AWS IAM basée sur un ARN. Ce guide suit la même approche de configuration sécurisée que Accessing S3 data securely, et ajoute une configuration spécifique à Iceberg dans ClickHouse.

Vue d’ensemble

  • Obtenez l’ID du rôle de service ClickHouse Cloud (IAM).
  • Créez un rôle IAM dans votre compte AWS que ClickHouse peut assumer.
  • Associez au rôle des politiques d’objet et de catalogue spécifiques à Iceberg.
  • Utilisez les fonctions de table Iceberg ou le moteur de table IcebergS3 avec des identifiants liés à un rôle.

Obtenir l’ID du rôle de service ClickHouse (ARN)

1

1. Connectez-vous à votre compte ClickHouse Cloud.

2

2. Sélectionnez le service ClickHouse sur lequel vous souhaitez interroger les données Iceberg.

3

3. Accédez à l’onglet Settings.

4

4. Faites défiler la page jusqu’à Network security information.

5

5. Copiez la valeur Service role ID (IAM).

Cet ARN est requis dans la politique d’approbation du rôle AWS IAM qui accédera à vos données Iceberg.

Configurer l’action d’assumer un rôle IAM

1

1. Connectez-vous à AWS et accédez au service IAM.

2

2. Sélectionnez Roles, puis Create role.

Sélectionnez Trusted entity type comme Custom trust policy, puis saisissez les valeurs en vous basant sur l’étape 3.
3

3. Ajoutez les politiques d’approbation et IAM.

Remplacez {service-role-id} par le Service Role ID (IAM) de votre instance ClickHouse.
Pour les charges de travail en lecture/écriture, la politique IAM doit inclure s3:PutObject, s3:DeleteObject ainsi que les actions de modification des métadonnées pour Iceberg. L’exemple ci-dessus est volontairement restrictif et en lecture seule.Si vous avez besoin d’une isolation plus forte, exigez que les requêtes proviennent des points de terminaison VPC de ClickHouse Cloud. Pour plus d’informations sur cette option, consultez Contrôle avancé et sécurisé des actions S3.
4

4. Finalisez la création du rôle.

a. Cliquez sur Next, puis encore sur Next dans l’écran d’attribution des permissions.b. Ajoutez un nom (par ex. iceberg-role-for-clickhouse) et une description.c. Ajoutez des tags (facultatif).d. Vérifiez les politiques.e. Sélectionnez Create role.
5

5. Copiez le nouvel IAM Role Arn une fois le rôle créé.

Configurer l’accès à Iceberg dans ClickHouse Cloud

Option A : fonction de table Iceberg avec ARN de rôle

Utilisez la fonction de table icebergS3 avec l’option NOSIGN et des identifiants associés à un rôle. ClickHouse Cloud appellera STS pour assumer le rôle.

Option B : Moteur de table Iceberg persistant

Option C : catalogue Glue + IcebergS3

Remarque : lorsque vous utilisez le catalogue Glue, assurez-vous que votre rôle IAM dispose des autorisations de lecture et de listage pour S3 et Glue.

Option D : catalogue DataLake pour Glue

Le catalogue DataLake pour Glue est prévu dans la version 26.2.

Vérifier l’accès

  1. Exécutez une requête simple :
  1. Vérifiez la présence d’erreurs IAM telles que AccessDenied ou InvalidAccessKeyId.

Dépannage

  • Vérifiez l’ARN du rôle dans les paramètres du service ClickHouse Cloud.
  • Assurez-vous que votre bucket et vos objets se trouvent dans la même région que celle utilisée pour les requêtes Iceberg, afin de réduire la latence et les coûts.
  • Vérifiez que le chemin de la table Iceberg pointe vers un emplacement de métadonnées Iceberg valide (fichiers metadata/v1/... sous la racine de la table).
  • En mode catalogue, vérifiez les métadonnées Glue et la visibilité des partitions dans la console AWS Glue.
Dernière modification le 29 juin 2026