Conexión de Azure Databricks a una ubicación externa de OneLake

Importante

Esta característica se encuentra en su versión beta.

En esta página se explica cómo conectarse a OneLake mediante una ubicación externa. Con la conexión, puede crear objetos de Catálogo de Unity (tablas, volúmenes, vistas, vistas materializadas y tablas de streaming) y controlar los datos a través de Unity Catalog. Si desea leer los datos existentes de OneLake desde Azure Databricks sin escribir, consulte Habilitación de la federación del catálogo de OneLake.

Para conectarse a una ruta de acceso de OneLake, debe tener dos objetos protegibles del catálogo de Unity:

  • Una credencial de almacenamiento, que especifica una identidad administrada o una entidad de servicio que concede acceso al almacenamiento de OneLake.
  • Una ubicación externa, que define la ruta de acceso de ABFSS basada en identificador al almacenamiento de OneLake y hace referencia a la credencial de almacenamiento.

Requirements

  • Databricks Runtime 18.1 o superior, o cómputo sin servidor
  • Área de trabajo de Microsoft Fabric activa con capacidad asignada
  • CREATE STORAGE CREDENTIAL privilegio sobre el metastore de Unity Catalog y CREATE EXTERNAL LOCATION privilegio sobre tanto el metastore como la credencial de almacenamiento
  • El área de trabajo de Azure Databricks debe estar habilitada para el catálogo de Unity.
  • Un administrador de Fabric debe habilitar Los usuarios pueden crear elementos de Azure Databricks Storage en la configuración de inquilinos del Portal > de administración.
  • El área de trabajo de Fabric de destino debe tener habilitada Autenticar con tokens SAS delegados por el usuario de OneLake en Configuración del área de trabajo > Configuración delegada > Configuración de OneLake

Modelo de seguridad

El acceso al elemento Azure Databricks Storage en un espacio de trabajo Fabric está restringido a la identidad gestionada asignada. La seguridad de OneLake, que está habilitada de forma predeterminada, permite permisos explícitos a nivel de espacio de trabajo y de elemento para conceder acceso de apertura, descubrimiento, lectura y escritura a OneLake desde Azure Databricks.

Configura permisos de elemento en el lado de Fabric y roles de seguridad OneLake explícitamente para los usuarios, grupos y entidades de servicio que necesiten acceso.

Paso 1: Configurar la identidad y el acceso en Azure y Fabric

  1. En el portal de Azure, cree o identifique un conector de acceso para Azure Databricks con una identidad administrada o con una entidad de servicio.
  2. En Microsoft Fabric, vaya al área de trabajo de destino.
  3. Haga clic en el botón de engranaje de Configuración del área de trabajo y, a continuación, haga clic en Administrar acceso.
  4. Haga clic en Agregar personas o grupos y busque su identidad administrada o su entidad de servicio.
  5. Para el permiso de espacio de trabajo o artículo de Fabric, asigna a la identidad gestionada o al principal de servicio un rol Viewer.
  6. Para el acceso a datos, crea un rol de seguridad OneLake y concede permisos de lectura y escritura a la identidad gestionada o al principal del servicio.

Paso 2: Aprovisionar el almacenamiento en Fabric y obtener la ruta de acceso

  1. En el área de trabajo de Fabric, cree un elemento Azure Databricks Storage.

  2. Abre Gestionar la seguridad de OneLake para el elemento de almacenamiento de Azure Databricks y crea un rol de seguridad de OneLake.

  3. Añade la identidad gestionada o principal de servicio de Azure Databricks como miembro del rol. Concede el permiso mínimo requerido para los datos: Read para acceso de solo lectura, o ReadWrite cuando Azure Databricks deba crear o modificar datos.

  4. Una vez creado el elemento, construya la ruta de acceso ABFSS basada en el identificador (ID):

    abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/
    

    El identificador del área de trabajo y el identificador del elemento de almacenamiento de Azure Databricks están disponibles en la URL del navegador cuando el elemento está abierto en Fabric.

    Note

    La ubicación externa requiere el formato de ruta de acceso basado en identificadores (GUID), no los nombres para mostrar. Las rutas de acceso basadas en nombres se rechazan en el momento de la creación.

    Guarde esta ruta de acceso. Se usa en el paso 4.

Paso 3: Creación de una credencial de almacenamiento del catálogo de Unity

  1. Inicie sesión en el área de trabajo de Azure Databricks con Unity Catalog habilitado.

  2. En la barra lateral, haga clic en Icono de datos.Catálogo.

  3. Haga clic en el icono Agregar o más y, a continuación, haga clic en Crear una credencial.

  4. Seleccione un tipo de credencial de Azure Managed Identity.

  5. Escriba un nombre de credencial de almacenamiento y un comentario opcional.

  6. Introduzca el identificador del conector de acceso (el identificador de recurso del conector de acceso asociado a su identidad administrada).

    El id. de recurso tiene el formato siguiente:

    /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
    
  7. (Opcional) Si creó el conector de acceso mediante una identidad administrada asignada por el usuario, escriba el identificador de identidad administrada.

  8. Haga clic en Crear.

Paso 4: Crear la ubicación externa de OneLake

  1. En la barra lateral, haga clic en Icono de datos.Catálogo.

  2. Haga clic en el icono Agregar o más y, a continuación, haga clic en Crear una ubicación externa.

  3. Escriba un nombre de ubicación externa.

  4. En Tipo de almacenamiento, seleccione OneLake.

  5. En Credencial de almacenamiento, seleccione la credencial que creó en el paso 3.

  6. En URL, introduzca la ruta ABFSS basada en ID del paso 2. Por ejemplo:

    abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/
    
  7. Haga clic en Crear.

  8. Haga clic en Probar conexión para comprobar la ubicación externa.

    Note

    Es normal que aparezca una advertencia de lectura de eventos de archivo omitidos durante la prueba de conexión. Las notificaciones de eventos de archivo aún no se admiten en las rutas de acceso de OneLake. La ubicación externa funciona correctamente.

Paso 5: Crear objetos de catálogo de Unity en la ubicación externa de OneLake

Después de crear la ubicación externa, puede crear un catálogo que lo use como almacenamiento administrado. OneLake almacena todas las tablas administradas que se crean en ese catálogo.

-- Create a catalog with the OneLake external location as managed storage
CREATE CATALOG my_onelake_catalog
MANAGED LOCATION '<onelake_external_location_path>';

-- Create a managed table
CREATE TABLE my_onelake_catalog.default.my_table (
  id INT,
  name STRING,
  created_at TIMESTAMP
);

-- Insert data
INSERT INTO my_onelake_catalog.default.my_table
VALUES (1, 'example', current_timestamp());

Reemplace por <onelake_external_location_path> la dirección URL de ubicación externa o una subruta dentro de ella.

Una ubicación externa de OneLake admite los siguientes tipos de objetos de catálogo de Unity: tablas administradas (Delta y Iceberg), volúmenes, vistas, vistas materializadas y tablas de streaming.

Troubleshoot

Error Resolution
403 Forbidden al acceder a la ruta de acceso de OneLake Verifica que (1) la identidad gestionada o el principal de servicio tenga el permiso requerido para el espacio de trabajo o artículo de Fabric, (2) que el principal esté incluido en el rol de seguridad de OneLake correspondiente con el permiso de datos requerido, y (3) que el espacio de trabajo de Fabric tenga una asignación activa de capacidad.
Advertencia de lectura de eventos de archivo omitidos durante la prueba de conexión Esta advertencia es normal. Las rutas de acceso oneLake aún no habilitan las notificaciones de eventos de archivo. La ubicación externa funciona correctamente.
Error en la creación o prueba de credenciales de almacenamiento Verifica que: (1) el ID de recurso de identidad gestionada es correcto; (2) el principal tiene el permiso mínimo requerido para el espacio de trabajo o elemento de Fabric y el permiso de datos de OneLake Security; (3) la ruta utiliza el formato correcto basado en ID (abfss://<WorkspaceID>@onelake.dfs.fabric.microsoft.com/<DatabricksStorageID>/Files/); (4) la ruta especifica la /Files carpeta.

Pasos siguientes