Compartir vía


Habilitación del acceso de datos externos al catálogo de Unity

Importante

Esta característica está en versión preliminar pública.

Azure Databricks proporciona acceso a las tablas de Unity Catalog mediante la API REST de Unity y el catálogo REST de Apache Iceberg.

Un administrador de metastore debe habilitar el acceso a datos externos para cada metastore al que necesite acceder externamente. El usuario o la entidad de servicio que configura la conexión deben tener el EXTERNAL USE SCHEMA privilegio de cada esquema en el que necesiten realizar operaciones admitidas: lectura de tablas administradas o creación, lectura y escritura en tablas externas.

La API REST de Unity admite lecturas directas para tablas Delta. El catálogo REST de Iceberg admite lecturas para tablas Delta y lecturas y escrituras para tablas de Iceberg. Consulte Acceso a datos de Databricks mediante sistemas externos.

Habilitar el acceso a datos externos en el metastore

Para permitir que los motores externos accedan a los datos de un metastore, un administrador de metastore debe habilitar el acceso a datos externos para el metastore. Esta opción está deshabilitada de forma predeterminada para evitar el acceso externo no autorizado.

Para habilitar el acceso a datos externos, haga lo siguiente:

  1. En un área de trabajo de Azure Databricks asociada al metastore, haga clic en el icono Datos.Catálogo.
  2. Haga clic en el icono de engranaje. Icono de engranaje en la parte superior del panel Catálogo y seleccione Metastore.
  3. En la pestaña Detalles, habilite Acceso a datos externos.

Nota

Estas opciones solo se muestran para los usuarios con privilegios suficientes. Si no ve estas opciones, no tiene permisos para habilitar el acceso a datos externos para un metastore.

Concesión de privilegios de catálogo de Unity de entidad de seguridad

Los clientes externos que se conectan a Azure Databricks necesitan autorización de un principal con privilegios suficientes.

Azure Databricks admite OAuth y tokens de acceso personal (PAT) para la autenticación. Consulte Autorización del acceso a los recursos de Azure Databricks.

El director que solicita la credencial temporal debe tener:

  • Privilegio de EXTERNAL USE SCHEMA en el esquema contenedor o en su catálogo primario.

    Este privilegio siempre debe concederse explícitamente. Solo el propietario del catálogo primario puede concederlo. Para evitar la filtración accidental, ALL PRIVILEGES no incluye el privilegio EXTERNAL USE SCHEMA y los propietarios de esquemas no tienen este privilegio de forma predeterminada.

  • SELECTPermiso en la tabla, USE CATALOG en su catálogo primario y USE SCHEMA en su esquema primario.

  • Si crea tablas externas, la entidad de seguridad también debe tener el CREATE TABLE privilegio en el esquema y los CREATE EXTERNAL TABLE privilegios y EXTERNAL USE LOCATION en la ubicación externa de destino.

    EXTERNAL USE LOCATION siempre debe concederse explícitamente. Solo los usuarios con el MANAGE privilegio en la ubicación externa pueden concederlo. Para evitar la filtración accidental, ALL PRIVILEGES no incluye el EXTERNAL USE LOCATION privilegio y los propietarios de ubicación no tienen este privilegio de forma predeterminada.

En la siguiente sintaxis de ejemplo se muestra cómo conceder EXTERNAL USE SCHEMA a un usuario:

GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`

En la siguiente sintaxis de ejemplo se muestra cómo conceder EXTERNAL USE LOCATION a un usuario:

GRANT EXTERNAL USE LOCATION ON EXTERNAL LOCATION external_location_name TO `user@company.com`

Suponiendo que el usuario tiene los permisos para leer todas las tablas deseadas en el esquema, no se necesitan permisos adicionales. Si necesita conceder permisos adicionales para leer tablas, consulte Privilegios de Unity Catalog y objetos protegibles.