Habilita la venta de credenciales

Habilitar el modo de venta de credenciales para un catálogo de REST de Apache Iceberg existente configura Lakehouse para Apache Iceberg para vender tokens de almacenamiento de alcance reducido y de corta duración a motores o cargas de trabajo de consulta autorizados.

Dentro del catálogo de entornos de ejecución de Lakehouse, este método de autenticación elimina la necesidad de que tú o los entornos de ejecución de consultas tengan permisos directos de lectura y escritura en el bucket de Cloud Storage subyacente.

Antes de comenzar

  1. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  2. Habilita la API de BigLake.

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.

    Habilitar la API

Roles obligatorios

Para obtener los permisos que necesitas para habilitar la venta de credenciales, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Todos:
  • Cuenta de servicio del catálogo de REST de Apache Iceberg aprovisionada automáticamente: Usuario de objetos de almacenamiento (roles/storage.objectUser) en el bucket de Cloud Storage de destino. Después de habilitar la venta de credenciales, otorga de forma explícita el rol de Usuario de objetos de almacenamiento (roles/storage.objectUser) en tu bucket de almacenamiento a la cuenta de servicio del catálogo de REST de Apache Iceberg aprovisionada automáticamente de tu catálogo.

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Habilita la venta de credenciales

Si el método de autenticación de tu catálogo de REST de Apache Iceberg está configurado en credenciales de usuario final, puedes cambiarlo al modo de venta de credenciales.

Console

  1. En el Google Cloud console, abre la página Lakehouse.

Ir a Lakehouse

  1. En la fila del catálogo que estás actualizando, selecciona Más acciones del catálogo > Editar autenticación.

    1. En el diálogo de autenticación, selecciona Modo de venta de credenciales. La cuenta de servicio del catálogo de REST de Apache Iceberg aprovisionada automáticamente requiere el rol explícito de Usuario de objetos de almacenamiento (roles/storage.objectUser) en el bucket de Cloud Storage de destino. De forma predeterminada, se crea con acceso de solo lectura. Sin este rol, las credenciales vendidas no tienen el alcance suficiente para realizar escrituras de almacenamiento.

    2. Selecciona Guardar. ` Se actualiza tu catálogo y se abre la página Detalles del catálogo.

  2. En Método de autenticación, selecciona Establecer permisos del bucket.

    1. En el diálogo, selecciona Confirmar.

Esto verifica que la cuenta de servicio de tu catálogo tenga el rol de Usuario de objetos de almacenamiento (roles/storage.objectUser) en tu bucket de almacenamiento.

gcloud

Usa el comando gcloud biglake iceberg catalogs create.

gcloud biglake iceberg catalogs create \
    CATALOG_NAME \
    --project PROJECT_ID \
    --catalog-type gcs-bucket \
    --credential-mode vended-credentials \
    [--primary-location LOCATION]

Reemplaza lo siguiente:

  • CATALOG_NAME: Es un nombre para tu catálogo. Este nombre suele coincidir con el ID de bucket de Cloud Storage que se usa con el catálogo de REST de Lakehouse para Iceberg. Por ejemplo, si tu bucket es gs://bucket-id, el nombre del catálogo podría ser bucket-id. Este nombre también se usa como el identificador del catálogo cuando se consultan estas tablas desde BigQuery.
  • PROJECT_ID: Es el ID de tu Google Cloud proyecto.
  • LOCATION: (Opcional) Es la región principal del catálogo para garantizar la interoperabilidad con BigQuery. Para los buckets de Cloud Storage en la región de EE.UU. (por ejemplo, US o us-central1) o la región de la UE (por ejemplo, EU o europe-west4), especifica US o EU, respectivamente, para garantizar que se pueda acceder al catálogo y que esté disponible para realizar consultas desde las multirregiones de BigQuery correspondientes. Para obtener más información, consulta Regiones de buckets y catálogos.

    Después de crear el catálogo, otorga de forma explícita el rol de Usuario de objetos de almacenamiento (roles/storage.objectAdmin) en tu bucket de almacenamiento a la cuenta de servicio del catálogo de REST de Apache Iceberg aprovisionada automáticamente de tu catálogo.

REST

Para habilitar el modo de venta de credenciales con la API de REST, realiza una solicitud PATCH al extremo UpdateIcebergCatalog:

PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.credentialMode

El cuerpo de la solicitud debe contener una carga útil JSON IcebergCatalog con credentialMode configurado como VENDED_CREDENTIALS.

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del Google Cloud proyecto de.
  • CATALOG_ID: Es el ID de tu catálogo de entornos de ejecución de Lakehouse.