La venta de credenciales para el catálogo de entornos de ejecución de Lakehouse te permite delegar el acceso al almacenamiento y aplicar permisos detallados a tus archivos de datos. Como parte de Lakehouse para Apache Iceberg, esta capacidad te permite administrar las políticas de Identity and Access Management (IAM) a nivel de la tabla para las tablas almacenadas en Cloud Storage.
Puedes usar la CLI de gcloud para obtener y configurar estas políticas para controlar el acceso a tus recursos.
Cómo funciona la venta de credenciales
Cuando usas la venta de credenciales, la secuencia de operaciones cambia ligeramente para aplicar las políticas antes de que se acceda al almacenamiento:
- Solicitud: Un usuario envía una instrucción de SQL, como una consulta, una operación DML o DDL, a un motor compatible. Por ejemplo, Apache Spark o BigQuery.
- Búsqueda de metadatos: El motor envía una solicitud al catálogo de entornos de ejecución de Lakehouse para resolver la tabla.
- Autenticación y política: El catálogo autentica al usuario y verifica sus permisos de IAM en los recursos de Lakehouse de Google Cloud.
- Respuesta: Debido a que la venta de credenciales está habilitada, el catálogo muestra los metadatos y un token de almacenamiento de corta duración (credenciales de almacenamiento con alcance reducido) al motor. El token se limita a las rutas de acceso asociadas con la tabla y se reduce a los permisos mínimos requeridos (por ejemplo, acceso de solo lectura para las consultas que no necesitan escribir archivos).
- Acceso: El motor usa este token para leer o escribir los archivos autorizados específicos directamente desde Cloud Storage.
- Procesamiento: El motor procesa los datos o ejecuta la operación y muestra los resultados.
Motores compatibles
Para usar la venta de credenciales con motores de consulta, tu catálogo REST de Lakehouse Iceberg debe estar configurado para admitir la venta de credenciales.
- Motores de código abierto: Los motores compatibles, como Apache Spark y Trino, usan tokens de almacenamiento de corta duración que vende el catálogo. Tu aplicación cliente debe especificar la compatibilidad con la venta de credenciales en el encabezado
X-Iceberg-Access-Delegation. - BigQuery: BigQuery usa credenciales vendidas para el acceso a Cloud Storage en lugar de credenciales de usuario final.
Permisos necesarios de la cuenta de servicio
Cuando la venta de credenciales está habilitada, asegúrate de que las siguientes cuentas de servicio tengan los roles necesarios:
- Cuenta de servicio del catálogo de entornos de ejecución de Lakehouse aprovisionada automáticamente: Debes
otorgar el rol de Usuario de objetos de almacenamiento (
roles/storage.objectUser) a esta cuenta en todos los buckets de Cloud Storage asociados. Sin este acceso, las credenciales vendidas no pueden leer ni escribir en el almacenamiento. Si usas la Google Cloud consola, hacer clic en Establecer permisos del bucket verifica este rol. Para gcloud CLI, Terraform o la API, debes otorgar este rol de forma manual. - Cuentas de servicio del motor de consulta: Las cuentas de servicio que ejecutan trabajos del motor de consulta (como Managed Service para Apache Spark, Managed Service para Apache Spark o Dataflow) requieren el rol de Editor de BigLake (
roles/biglake.editor) para obtener credenciales vendidas con alcance de escritura.
¿Qué sigue?
- Obtén información para crear un catálogo en el modo de venta de credenciales.
- Obtén información para habilitar la venta de credenciales para un catálogo existente con la
Google Cloud consola.
- Obtén información para configurar tu aplicación cliente para la venta de credenciales.