Comparteix via


Provisión de credenciales del Catálogo Unity para el acceso a sistemas externos

Importante

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

Sugerencia

Para obtener información sobre cómo leer datos de Azure Databricks mediante Microsoft Fabric, consulte Uso de Microsoft Fabric para leer datos registrados en Unity Catalog.

En esta página se describe cómo la funcionalidad de vending de credenciales de Unity Catalog admite el acceso a los datos de Azure Databricks desde motores de procesamiento externos.

La expendición de credenciales admite sistemas externos que se conectan a Unity Catalog mediante la API REST de Unity y el catálogo REST de Apache Iceberg. Consulte Leer tablas de Databricks de clientes Delta y Acceder a datos de Databricks mediante sistemas externos.

¿Qué es la emisión de credenciales de Unity Catalog?

La emisión de credenciales concede credenciales de corta duración mediante la API REST de Unity Catalog. Las credenciales otorgadas heredan los privilegios del principal de Azure Databricks utilizado para configurar la integración.

La vending de credenciales de tabla proporciona acceso a los datos registrados en el metastore del catálogo de Unity.

La vending de credenciales de ruta de acceso proporciona acceso a ubicaciones externas en el metastore del catálogo de Unity.

Vending de credenciales de tabla

Para recibir una credencial temporal para una tabla, la entidad de seguridad de Azure Databricks solicitante (usuario, grupo o entidad de servicio) debe tener el EXTERNAL USE SCHEMA privilegio en el esquema que contiene la tabla. El metastore del catálogo de Unity también debe estar habilitado explícitamente para el acceso externo. Consulte Habilitar el acceso de datos externos a Unity Catalog.

Las credenciales incluyen una cadena de token de acceso de corta duración y una dirección URL de ubicación de almacenamiento en la nube que el motor externo puede usar para acceder a los datos y metadatos de la tabla desde la ubicación de almacenamiento en la nube.

Nota:

Table Unity Catalog credential vending admite lo siguiente:

  • Acceso de solo lectura a las tablas delta administradas de Unity Catalog.
  • Acceso de lectura y escritura a las tablas de Iceberg gestionadas por Unity Catalog.
  • Acceso de solo lectura a las tablas Delta configuradas para lecturas de Iceberg.
  • Cree acceso a tablas externas del catálogo de Unity.
  • Acceso de lectura y escritura a tablas externas de Unity Catalog.

Algunos clientes admiten el acceso a las tablas respaldadas por Delta Lake, mientras que otras requieren que habilite las lecturas de Iceberg (UniForm) en tablas. Consulte Leer tablas Delta con clientes de Iceberg.

Requisitos

  • Debe configurar el acceso externo en el metastore y otorgar EXTERNAL USE SCHEMA al principal que configura la conexión. Consulte Habilitar el acceso de datos externos a Unity Catalog.
  • Para acceder al área de trabajo de Azure Databricks mediante las API abiertas del Catálogo de Unity o las API REST de Iceberg, la URL del área de trabajo debe ser accesible para el motor que realiza la solicitud. Esto incluye áreas de trabajo que usan listas de acceso IP o Azure Private Link.
  • Para acceder a la ubicación de almacenamiento en la nube subyacente para objetos de datos registrados en Unity Catalog, las direcciones URL de almacenamiento generadas por la API de credenciales temporales de Unity Catalog deben ser accesibles para el motor que realiza la solicitud. Esto significa que el motor debe estar habilitado en las listas de control de acceso de red y del firewall para las cuentas subyacentes de almacenamiento en la nube.

Solicitud de una credencial de tabla temporal para el acceso a datos externos

El soporte para la gestión de credenciales varía según el cliente externo. Donde sea compatible, el cliente debe aprovechar automáticamente las credenciales proporcionadas cuando se configura una conexión.

En esta sección se proporciona un ejemplo de cómo llamar explícitamente al punto de conexión de la API de dispensación de credenciales. Es posible que algunos clientes externos necesiten establecer explícitamente configuraciones para acceder a datos y metadatos en el almacenamiento de objetos en la nube que respaldan las tablas de Unity Catalog. Puede usar los valores devueltos por el suministro de credenciales para configurar el acceso.

Nota:

Puede recuperar una lista de tablas que admiten la provisión de credenciales invocando la API ListTables con la opción habilitada include_manifest_capabilities. Solo las tablas marcadas con HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT o HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT son aptas para hacer referencia en la API temporary-table-credentials. Consulte GET /api/2.1/unity-catalog/tables.

En el ejemplo siguiente curl se solicita explícitamente una credencial temporal para el acceso a datos externos. Esta solicitud debe completarse mediante un principal del área de trabajo con privilegios suficientes.

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation_name": "<READ|READ_WRITE>"}'

Para obtener más información, consulte POST /api/2.1/unity-catalog/temporary-table-credentials en la referencia de la API REST de Azure Databricks.

Limitaciones

Existen las siguientes limitaciones:

  • No todos los clientes externos admiten la distribución de credenciales, y la compatibilidad puede variar dependiendo del almacenamiento de objetos en la nube subyacente.
  • Solo se admiten las tablas administradas por el catálogo de Unity y las tablas externas de Unity Catalog.
  • No se admiten los siguientes tipos de tabla o tablas con características habilitadas:
    • Tablas con filtros de fila o máscaras de columna.
    • Tablas compartidas con Delta Sharing.
    • Tablas federadas de la plataforma Lakehouse (tablas externas).
    • Vistas.
    • Vistas materializadas.
    • Tablas de streaming de las canalizaciones declarativas de Lakeflow Spark.
    • Tablas en línea.
    • Índices de vector de búsqueda.
  • La actualización de credenciales no se admite en Iceberg 1.9.0. Utiliza la versión más reciente de Iceberg para la actualización de credenciales.

Vending de credenciales de ruta de acceso

Para recibir una credencial temporal para una ruta de acceso, se debe conceder la entidad de seguridad de Azure Databricks que solicita:

  • Privilegio EXTERNAL USE LOCATION en la ubicación externa.
  • Privilegio EXTERNAL USE SCHEMA en el esquema, si tiene acceso a una tabla externa.

Al igual que con la vending de credenciales de tabla, el metastore de Catálogo de Unity debe estar habilitado explícitamente para el acceso externo. Consulte Habilitar el acceso de datos externos a Unity Catalog.

Las credenciales emitidas permiten el acceso directo a la ubicación de almacenamiento en la nube, con ámbito a la ruta de acceso pertinente. Son válidos durante un tiempo limitado y no conceden acceso más amplio más allá de la ubicación o tabla definidas.

Requisitos

  • El metastore del catálogo de Unity debe tener habilitado el acceso externo y se debe conceder EXTERNAL USE LOCATIONa la entidad de seguridad solicitante . Si tiene acceso a una tabla externa, también debe concederse EXTERNAL USE SCHEMA. Consulte Habilitar el acceso de datos externos a Unity Catalog.
  • El motor externo debe poder acceder a la dirección URL del área de trabajo de Azure Databricks. Esto se aplica a las áreas de trabajo mediante listas de acceso IP o Azure Private Link.
  • Las direcciones URL de almacenamiento en la nube generadas por la API de vending de credenciales deben ser accesibles para el motor externo. Asegúrese de que el motor está permitido por el firewall y los controles de acceso a la red en las cuentas de almacenamiento en la nube subyacentes.

Solicitud de una credencial de ruta de acceso temporal para el acceso a datos externos

El soporte para la gestión de credenciales varía según el cliente externo. Donde sea compatible, el cliente debe aprovechar automáticamente las credenciales proporcionadas cuando se configura una conexión.

En esta sección se proporciona un ejemplo de cómo llamar explícitamente al punto de conexión de la API de dispensación de credenciales. Es posible que algunos clientes externos necesiten establecer explícitamente configuraciones para acceder a datos y metadatos en el almacenamiento de objetos en la nube que respaldan las tablas de Unity Catalog. Puede usar los valores devueltos por el suministro de credenciales para configurar el acceso.

En el ejemplo siguiente curl se solicita explícitamente una credencial temporal para el acceso a datos externos. Esta solicitud debe completarse mediante un principal del área de trabajo con privilegios suficientes.

curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": <PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'

Para más información, consulte Generación de una credencial de ruta de acceso temporal en la referencia de la API REST de Azure Databricks.