Descripción general de la venta de credenciales

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 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 establecer estas políticas y 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 acceder al almacenamiento:

  1. Solicitud: Un usuario envía una instrucción de SQL, como una consulta o una operación DML o DDL, a un motor compatible. Por ejemplo, Apache Spark o BigQuery.
  2. Búsqueda de metadatos: El motor envía una solicitud al catálogo del entorno de ejecución de Lakehouse para resolver la tabla.
  3. 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.
  4. Respuesta: Como la venta de credenciales está habilitada, el catálogo devuelve 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).
  5. Acceso: El motor usa este token para leer o escribir los archivos autorizados específicos directamente desde Cloud Storage.
  6. Procesamiento: El motor procesa los datos o ejecuta la operación y devuelve los resultados.

Motores compatibles

Para usar la venta de credenciales con motores de consultas, 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 obligatorios 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 del entorno 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 consola deGoogle Cloud , haz clic en Set bucket permissions para verificar este rol. En el caso de la gcloud CLI, Terraform o la API, debes otorgar este rol de forma manual.
  • Cuentas de servicio del motor de consultas: Las cuentas de servicio que ejecutan trabajos del motor de consultas (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?