Descripción general
- Obtenga el ID del rol de servicio de ClickHouse Cloud (IAM).
- Cree un rol de IAM en su cuenta de AWS que ClickHouse pueda asumir.
- Adjunte al rol las políticas específicas de Iceberg para objetos y catálogos.
- Use funciones de tabla de Iceberg o el motor de tabla IcebergS3 con credenciales basadas en roles.
Obtén el ID del rol de servicio de ClickHouse (ARN)
1. Inicia sesión en tu cuenta de ClickHouse Cloud.
2. Selecciona el servicio de ClickHouse en el que quieres consultar datos de Iceberg.
3. Ve a la pestaña Configuración.
4. Desplázate hasta Información de seguridad de red.
5. Copia el valor de ID del rol de servicio (IAM).
Este ARN es necesario para la política de confianza del rol de IAM de AWS que accederá a tus datos de Iceberg.Configurar la asunción de un rol de IAM
1. Inicie sesión en AWS y vaya al servicio IAM.
2. Seleccione Roles y luego Create role.
SeleccioneTrusted entity type como Custom trust policy e introduzca los valores según el paso 3.3. Añada las políticas de confianza y de IAM.
Reemplace{service-role-id} por el ID del rol de servicio (IAM) de su instancia de ClickHouse.Para cargas de trabajo de lectura/escritura, la política de IAM debe incluir
s3:PutObject, s3:DeleteObject y acciones de modificación de metadatos para Iceberg. El ejemplo anterior es una opción conservadora de solo lectura.Si necesita un aislamiento más estricto, exija que las solicitudes se originen en los endpoints de VPC de ClickHouse Cloud. Para obtener más información sobre esta opción, consulte Secure S3 advanced action control.4. Finalice la creación del rol.
a. Haga clic en Next y luego otra vez en Next en la pantalla de asignación de permisos.b. Añada un nombre (p. ej.,iceberg-role-for-clickhouse) y una descripción.c. Añada etiquetas (opcional).d. Revise las políticas.e. Seleccione Create role.5. Copie el nuevo ARN del rol de IAM después de crearlo.
Configurar el acceso a Iceberg en ClickHouse Cloud
Opción A: función de tabla Iceberg con ARN del rol
icebergS3 con la opción NOSIGN y credenciales basadas en roles. ClickHouse Cloud llamará a STS para asumir el rol.
Opción B: motor de tabla persistente de Iceberg
Opción C: catálogo de Glue + IcebergS3
Nota: Al usar el catálogo de Glue, asegúrese de que su rol de IAM tenga permisos de lectura y de listado tanto en S3 como en Glue.
Opción D: Catálogo de DataLake para Glue
El Catálogo de DataLake para Glue estará disponible en la versión 26.2.
Verificar el acceso
- Ejecuta una consulta sencilla:
- Comprueba si hay errores de IAM, como
AccessDeniedoInvalidAccessKeyId.
Solución de problemas
- Verifique el ARN del rol en la configuración del servicio de ClickHouse Cloud.
- Asegúrese de que su bucket/objetos estén en la misma región que las consultas de Iceberg para reducir la latencia y el costo.
- Confirme que la ruta de la tabla Iceberg apunte a una ubicación válida de metadatos de Iceberg (archivos
metadata/v1/...en la raíz de la tabla). - Para el modo de catálogo, compruebe los metadatos de Glue y la visibilidad de las particiones en la consola de AWS Glue.