Accesos directos de OneLake

Los accesos directos de Microsoft OneLake permiten unificar los datos entre dominios, nubes y cuentas mediante la creación de un único lago de datos virtual para toda la empresa. Todas las experiencias de Fabric y los motores analíticos pueden conectarse directamente a los orígenes de datos existentes, como Azure, Amazon Web Services (AWS) y OneLake a través de un espacio de nombres unificado. OneLake administra todos los permisos y credenciales, por lo que no es necesario configurar por separado cada experiencia de Fabric para conectarse a cada origen de datos. Además, puede usar accesos directos para eliminar copias perimetrales de datos y reducir la latencia del proceso asociada a copias de datos y almacenamiento provisional.

¿Qué son los accesos directos?

Los accesos directos son objetos de OneLake que apuntan a otras ubicaciones de almacenamiento. La ubicación puede ser interna o externa a OneLake. La ubicación a la que apunta un acceso directo se conoce como la ruta de acceso de destino del acceso directo. La ubicación en la que aparece el acceso directo se conoce como la ruta de acceso directo. Los accesos directos aparecen como carpetas en OneLake y cualquier experiencia o servicio que tenga acceso a OneLake puede usarlos. Los accesos directos se comportan como vínculos simbólicos. Son un objeto independiente del destino. Si elimina un acceso directo, el destino no se ve afectado. Si mueve, cambia el nombre o elimina una ruta de acceso de destino, el acceso directo puede interrumpirse.

Diagrama que muestra cómo un acceso directo conecta archivos y carpetas almacenados en otras ubicaciones.

¿Dónde puedo crear accesos directos?

Puede crear accesos directos en los almacenes de lago y las bases de datos de Lenguaje de consulta Kusto (KQL). Además, los accesos directos que cree dentro de estos elementos pueden apuntar a otras ubicaciones de OneLake, Azure Data Lake Storage (ADLS) Gen2, cuentas de almacenamiento de Amazon S3 o Dataverse.

Puede usar la interfaz de usuario de Fabric para crear combinaciones de teclas de forma interactiva y puede usar la API de REST para crear combinaciones de teclas mediante programación.

Lakehouse

Al crear accesos directos en un almacén de lago, es importante comprender la estructura de las carpetas del elemento. Los almacenes de lago se componen de dos carpetas de nivel superior: la carpeta Tablas y la carpeta Archivos. La carpeta Tablas representa la parte administrada del almacén de lago mientras que la carpeta Archivos es la parte no administrada del almacén de lago. En la carpeta Tablas, solo puede crear accesos directos en el nivel superior. Los accesos directos no se admiten en otros subdirectorios de la carpeta Tablas. Si el destino del acceso directo contiene datos en el formato Delta\Parquet, el almacén de lago sincroniza automáticamente los metadatos y reconoce la carpeta como una tabla. En la carpeta Archivos, no hay restricciones sobre dónde puede crear accesos directos. Puede crearlos en cualquier nivel de la jerarquía de carpetas. La detección de tablas no se produce en la carpeta Archivos.

Diagrama que muestra la vista de Lago y la vista de Tabla una al lado de la otra.

Base de datos KQL

Al crear un acceso directo en una base de datos KQL, este aparece en la carpeta Accesos directos de la base de datos. La base de datos KQL trata accesos directos como tablas externas. Para consultar el acceso directo, use la función external_table del Lenguaje de consulta Kusto.

Captura de pantalla de accesos directos dentro de una base de datos KQL.

¿Dónde puedo acceder a los accesos directos?

Cualquier servicio de Fabric o que no sea de Fabric que pueda acceder a los datos de OneLake puede usar los accesos directos. Los accesos directos son transparentes para cualquier servicio que acceda a los datos a través de la API de OneLake. Los accesos directos simplemente aparecen como otra carpeta en el lago. Spark, SQL, Análisis en tiempo real y Analysis Services pueden usar los accesos directos al consultar datos.

Spark

Los cuadernos de Spark y los trabajos de Spark pueden usar los accesos directos que cree en OneLake. Las rutas de acceso de archivo relativas se pueden usar para leer directamente los datos de los accesos directos. Además, si crea un acceso directo en la sección Tablas del almacén de lago y está en formato Delta, puede leerlo como una tabla administrada mediante la sintaxis de Spark SQL.

df = spark.read.format("delta").load("Tables/MyShortcut")
display(df)
df = spark.sql("SELECT * FROM MyLakehouse.MyShortcut LIMIT 1000")
display(df)

Nota:

El formato Delta no admite tablas con caracteres de espacio en el nombre. Cualquier acceso directo que contenga un espacio en el nombre no se detectará como una tabla Delta en el almacén de lago.

SQL

También puede leer los accesos directos de la sección Tablas de un almacén de lago a través del punto de conexión análisis SQL para el almacén de lago. Puede acceder al punto de conexión análisis SQL mediante el selector de modo del almacén de lago o a través de SQL Server Management Studio (SSMS).

SELECT TOP (100) *
FROM [MyLakehouse].[dbo].[MyShortcut]

Real-Time Analytics

Los accesos directos en las bases de datos KQL se reconocen como tablas externas. Para consultar el acceso directo, use la función external_table del Lenguaje de consulta Kusto.

external_table('MyShortcut')
| take 100

Analysis Services

Puede crear modelos semánticos para los almacenes de lago que contienen accesos directos en la sección Tablas del almacén de lago. Cuando el modelo semántico se ejecuta en modo Direct Lake, Analysis Services puede leer datos directamente desde el acceso directo.

Fuera de Fabric

Las aplicaciones y los servicios fuera de Fabric también pueden acceder a accesos directos a través de OneLake API. OneLake admite un subconjunto de las API de ADLS Gen2 y Blob Storage. Para más información sobre la API de OneLake, consulte Acceso a OneLake con las API.

https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakhouse/Tables/MyShortcut/MyFile.csv

Tipos de accesos directos

Los accesos directos de OneLake admiten varios orígenes de datos del sistema de archivos. Estos incluyen ubicaciones internas de OneLake, Azure Data Lake Storage Gen2, Amazon S3 y Dataverse.

Accesos directos internos de OneLake

Los accesos directos internos de OneLake permiten hacer referencia a datos dentro de los elementos de Fabric existentes. Estos elementos incluyen almacenes de lago, bases de datos KQL y almacenamientos de datos. El acceso directo puede apuntar a una ubicación de carpeta dentro del mismo elemento, entre elementos dentro de la misma área de trabajo o incluso entre elementos de áreas de trabajo diferentes. Al crear un acceso directo entre elementos, no es necesario que los tipos de elemento coincidan. Por ejemplo, puede crear un acceso directo en un almacén de lago que apunte a los datos de un almacenamiento de datos.

Cuando un usuario accede a los datos a través de un acceso directo a otra ubicación de OneLake, la identidad del usuario que realiza la llamada se usará para autorizar el acceso a los datos en la ruta de acceso de destino del acceso directo*. Este usuario debe tener permisos en la ubicación de destino para leer los datos.

Importante

Al acceder a los accesos directos a través de modelos semánticos de Power BI o T-SQL, la identidad del usuario que realiza la llamada no se pasa al destino de acceso directo. En su lugar, se pasa la identidad del propietario del elemento que realiza la llamada y se delega el acceso al usuario que realiza la llamada.

Accesos directos de ADLS

También se pueden crear accesos directos a cuentas de almacenamiento de ADLS Gen2. Al crear accesos directos a ADLS, la ruta de acceso de destino puede apuntar a cualquier carpeta dentro del espacio de nombres jerárquico. Como mínimo, la ruta de acceso de destino debe incluir un nombre de contenedor.

Acceder

Los accesos directos de ADLS deben apuntar al punto de conexión DFS de la cuenta de almacenamiento. Ejemplo: https://accountname.dfs.core.windows.net/

Si la cuenta de almacenamiento está protegida por un firewall de almacenamiento, puedes configurar el acceso de servicio de confianza. Consulta Acceso al área de trabajo de confianza

Authorization

Los accesos directos de ADLS usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de ADLS y todo el acceso a ese acceso directo se autoriza con esa credencial. Los tipos delegados admitidos son Cuenta organizativa, Clave de cuenta, Firma de acceso compartido (SAS) y Entidad de servicio.

  • Cuenta organizativa: debe tener el rol Lector de datos de Storage Blob, Colaborador de datos de Storage Blob o Propietario de datos de Storage Blob en la cuenta de almacenamiento
  • Firma de acceso compartido (SAS): debe incluir al menos los siguientes permisos: Leer, Enumerar y Ejecutar
  • Entidad de servicio: debe tener el rol Lector de datos de Storage Blob, Colaborador de datos de Storage Blob o Propietario de datos de Storage Blob en la cuenta de almacenamiento

Nota:

Debe tener habilitados espacios de nombres jerárquicos en la cuenta de almacenamiento de ADLS Gen 2.

Accesos directos de S3

También puede crear accesos directos a cuentas de Amazon S3. Al crear accesos directos a Amazon S3, la ruta de acceso de destino debe contener un nombre de cubo como mínimo. S3 no admite de forma nativa espacios de nombres jerárquicos, pero puede usar prefijos para imitar una estructura de directorios. Puede incluir prefijos en la ruta de acceso directo para restringir aún más el ámbito de los datos accesibles a través del acceso directo. Cuando se accede a los datos a través de un acceso directo de S3, los prefijos se representan como carpetas.

Acceder

Los accesos directos S3 deben apuntar al punto de conexión https del cubo S3.

Ejemplo: https://bucketname.s3.region.amazonaws.com/

Nota:

No es necesario deshabilitar la configuración Bloquear acceso público de S3 para la cuenta S3 para que el acceso directo S3 funcione.

El acceso al punto de conexión S3 no debe estar bloqueado por un firewall de almacenamiento o una nube privada virtual.

Autorización

Los accesos directos de S3 usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de S3 y todo el acceso a ese acceso directo se autoriza con esa credencial. La credencial delegada admitida es una clave y un secreto para un usuario de IAM.

El usuario de IAM debe tener los permisos siguientes en el cubo al que apunta el acceso directo.

  • S3:GetObject
  • S3:GetBucketLocation
  • S3:ListBucket

Nota:

Los métodos abreviados S3 son de solo lectura. No admiten operaciones de escritura independientemente de los permisos para el usuario de IAM.

Accesos directos de Google Cloud Storage (versión preliminar)

Se pueden crear accesos directos a Google Cloud Storage (GCS) mediante la API XML para GCS. Al crear accesos directos a Google Cloud Storage, la ruta de acceso de destino debe contener un nombre de cubo como mínimo. También puede restringir el ámbito del acceso directo si especifica el prefijo o la carpeta a la que quiere apuntar dentro de la jerarquía de almacenamiento.

Access

Al configurar la conexión para un acceso directo de GCS, puede especificar el punto de conexión global para el servicio de almacenamiento, o bien usar un punto de conexión específico del cubo.

  • Ejemplo de punto de conexión global: https://storage.googleapis.com
  • Ejemplo de punto de conexión específico del cubo: https://<BucketName>.storage.googleapis.com

Authorization

Los accesos directos de GCS usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de GCS y todo el acceso a ese acceso directo se autoriza con esa credencial. La credencial delegada admitida es una clave y un secreto de HMAC para una cuenta de servicio o una cuenta de usuario.

La cuenta debe tener permiso para acceder a los datos dentro del cubo de GCS. Si se ha usado el punto de conexión específico del cubo en la conexión para el acceso directo, la cuenta debe tener los permisos siguientes:

  • storage.objects.get
  • stoage.objects.list

Si se ha usado el punto de conexión global en la conexión para el acceso directo, la cuenta también debe tener el permiso siguiente:

  • storage.buckets.list

Nota:

Los métodos abreviados GCS son de solo lectura. No admiten operaciones de escritura independientemente de los permisos para la cuenta que se usa.

Accesos directos de Dataverse

La integración directa de Dataverse con Microsoft Fabric permite a las organizaciones ampliar sus aplicaciones empresariales y procesos empresariales de Dynamics 365 a Fabric. Esta integración se realiza a través de accesos directos, que se pueden crear de dos maneras: a través del portal de PowerApps Maker o a través de Fabric directamente.

Creación de accesos directos a través de PowerApps Maker Portal

Los usuarios autorizados de PowerApps pueden acceder a PowerApps Maker Portal y usar la característica Vincular a Microsoft Fabric. A partir de esta única acción, se crea una instancia de Lakehouse en Fabric y los accesos directos se generan automáticamente para cada tabla del entorno de Dataverse. Para obtener más información, consulte Integración directa de Dataverse con Microsoft Fabric.

Creación de accesos directos a través de Fabric

Los usuarios de Fabric también pueden crear accesos directos a Dataverse. En la experiencia de usuario para crear accesos directos, los usuarios pueden seleccionar Dataverse, proporcionar su dirección URL de entorno y examinar las tablas disponibles. Esta experiencia permite a los usuarios elegir de forma selectiva las tablas que se van a incorporar a Fabric en lugar de incorporar todas las tablas.

Nota:

Las tablas de Dataverse deben estar disponibles primero en el lago administrado por Dataverse antes de que estén visibles en la experiencia de usuario de creación de accesos directos de Fabric. Si las tablas no están visibles en Fabric, usa la característica Vincular a Microsoft Fabric desde PowerApps Maker Portal.

Authorization

Los accesos directos de Dataverse usan un modelo de autorización delegado. En este modelo, el creador del acceso directo especifica una credencial para el acceso directo de Dataverse y todo el acceso a ese acceso directo se autoriza con esa credencial. El tipo de credencial delegada admitido es Cuenta organizativa (OAuth2). La cuenta organizativa debe tener permisos de administrador del sistema para acceder a los datos en el lago administrado por Dataverse.

Nota:

Actualmente, las entidades de servicio no se admiten para la autorización de accesos directos de Dataverse.

Almacenamiento en caché (versión preliminar)

El almacenamiento en caché de acceso directo se puede usar para reducir los costes de salida asociados con el acceso a datos entre nubes. A medida que los archivos se leen a través de un acceso directo externo, los archivos se almacenan en una memoria caché para el área de trabajo de Fabric. Las solicitudes de lectura posteriores se proporcionan desde la memoria caché en lugar del proveedor de almacenamiento remoto. Los archivos almacenados en caché tienen un período de retención de 24 horas. Cada vez que se accede al archivo, se restablece el período de retención. Si el archivo del proveedor de almacenamiento remoto es más reciente que el archivo de la memoria caché, la solicitud se atiende desde el proveedor de almacenamiento remoto y el archivo actualizado se almacenará en caché. Si no se ha accedido a un archivo durante más de 24 horas, se purga desde la memoria caché. Los archivos individuales mayores de 1 GB de tamaño no se almacenan en caché.

Nota:

Actualmente, el almacenamiento en caché de accesos directos solo se admite para accesos directos GCS y S3, y compatibles con S3.

Para habilitar el almacenamiento en caché para accesos directos, abre el panel Configuración del área de trabajo. Elige la pestaña OneLake. Cambia la configuración de caché a Activada y haz clic en Guardar.

Captura de pantalla del panel de configuración del área de trabajo con la pestaña OneLake seleccionada.

Uso de métodos abreviados de acceso directo a conexiones en la nube

La autorización de accesos directos de ADLS y S3 se delega mediante conexiones en la nube. Al crear un nuevo acceso directo de ADLS o S3, cree una nueva conexión o seleccione una conexión existente para el origen de datos. Establecer una conexión para un acceso directo es una operación de enlace. Solo los usuarios con permisos en la conexión pueden realizar la operación de enlace. Si no tiene permisos en la conexión, no puede crear nuevos accesos directos mediante esa conexión.

Permisos

Una combinación de los permisos de la ruta del acceso directo y la ruta de acceso de destino rige los permisos para los accesos directos. Cuando un usuario accede a un acceso directo, se aplica el permiso más restrictivo de las dos ubicaciones. Por lo tanto, un usuario que tenga permisos de lectura y escritura en el almacén de lago, pero solo permisos de lectura en el destino del acceso directo no pueden escribir en la ruta del acceso directo de destino. Del mismo modo, un usuario que solo tenga permisos de lectura en el almacén de lago, pero de lectura y escritura en el destino del acceso directo, tampoco podrá escribir en la ruta del acceso directo de destino.

Roles de área de trabajo

La siguiente tabla muestra los permisos relacionados con los accesos directos para cada función del área de trabajo. Para obtener más información, consulte Roles de área de trabajo.

Funcionalidad Administrador Member Colaborador Visor
Crear un acceso directo 1 1 1 -
Leer el contenido de archivo o carpeta del acceso directo 2 2 2 -
Escribir en la ubicación de destino de acceso directo 3 3 3 -
Leer datos de los accesos directos en la sección de tabla del almacén de lago a través del punto de conexión de TDS

1 Los usuarios deben tener un rol que proporcione permiso de escritura a la ubicación del acceso directo y al menos permiso de lectura en la ubicación de destino.

2 Los usuarios deben tener un rol que proporcione permiso de lectura tanto en la ubicación del acceso directo como en la ubicación de destino.

3 Los usuarios deben tener un rol que proporcione permiso de lectura tanto en la ubicación del acceso directo como en la ubicación de destino.

Roles de acceso a datos de OneLake (versión preliminar)

Los roles de acceso a datos de OneLake son una nueva característica que permite aplicar el control de acceso basado en rol (RBAC) a los datos almacenados en OneLake. Puede definir roles de seguridad que concedan acceso de lectura a carpetas específicas dentro de un elemento de Fabric y asignarlos a usuarios o grupos. Los permisos de acceso determinan qué carpetas ven los usuarios al acceder a la vista de lago de los datos, ya sea mediante la experiencia del usuario de almacén de lago, cuadernos o API de OneLake. En el caso de los elementos con la característica de vista previa habilitada, los roles de acceso a datos de OneLake también determinan el acceso de un usuario a un acceso directo.

Los usuarios con los roles de Administrador, Miembro y Colaborador tienen acceso total para leer datos desde un acceso directo, independientemente de los roles de acceso a datos de OneLake definidos. Pero todavía necesitan acceso tanto en el origen como en el destino del acceso directo, como se ha mencionado en Roles de área de trabajo.

Los usuarios con el rol Visor o con los que se haya compartido de forma directa un almacén de lago tienen acceso restringido en función de si el usuario tiene acceso mediante un rol de acceso a datos de OneLake. Para más información sobre el modelo de control de acceso con accesos directos, vea Modelo de control de acceso a datos en OneLake.

¿Cómo controlan los accesos directos las eliminaciones?

Los accesos directos no realizan eliminaciones en cascada. Cuando se realiza una operación de eliminación en un acceso directo, solo se elimina el objeto de acceso directo. Los datos del destino de acceso directo permanecen sin cambios. Sin embargo, si realiza una operación de eliminación en un archivo o carpeta dentro de un acceso directo, y tiene permisos en el destino de acceso directo para realizar la operación de eliminación, los archivos o carpetas se eliminan en el destino. El siguiente ejemplo muestra este aspecto.

Ejemplo de eliminación

El usuario A tiene un lago con la siguiente ruta de acceso:

MyLakehouse\Files\MyShortcut\Foo\Bar

MyShortcut es un acceso directo que apunta a una cuenta de ADLS Gen2 que contiene los directorios Foo\Bar.

Eliminación de un objeto de acceso directo

El usuario A realiza una operación de eliminación en la siguiente ruta de acceso:

MyLakehouse\Files\MyShortcut

En este caso, MyShortcut se elimina del almacén de lago. Los accesos directos no realizan eliminaciones en cascada, por lo que los archivos y directorios de la cuenta de ADLS Gen2 Foo\Bar no se ven afectados.

Eliminación del contenido al que hace referencia un acceso directo

El usuario A realiza una operación de eliminación en la siguiente ruta de acceso:

MyLakehouse\Files\MyShortcut\Foo\Bar

En este caso, si el usuario A tiene permisos de escritura en la cuenta de ADLS Gen2, el directorio Bar se elimina de la cuenta de ADLS Gen2.

Vista de linaje del área de trabajo

Al crear accesos directos entre varios elementos de Fabric dentro de un área de trabajo, puede visualizar las relaciones de acceso directo a través de la vista de linaje del área de trabajo. Seleccione el botón Vista de linaje ( ) en la esquina superior derecha del explorador del área de trabajo.

Captura de pantalla de la pantalla de vista de linaje.

Nota:

La vista de linaje se limita a una sola área de trabajo. No aparecerán accesos directos a ubicaciones fuera del área de trabajo seleccionada.

Limitaciones y consideraciones

  • El número máximo de accesos directos por elemento de Fabric es de 100 000. En este contexto, el término Elemento se refiere a: aplicaciones, almacenes de lago, almacenes, informes y mucho más.
  • El número máximo de accesos directos en una sola ruta de acceso de OneLake es 10.
  • El número máximo de accesos directos a los vínculos de acceso directo es 5.
  • Las rutas de acceso directo de ADLS y S3 no pueden contener caracteres reservados de la sección 2.2 de RCF 3986. Para ver los caracteres permitidos, consulte la sección 2.3 de RFC 3968.
  • Los nombres de los accesos directos de OneLake, las rutas primarias y las rutas de destino no pueden contener caracteres "%" o "+".
  • Los accesos directos no admiten caracteres no latinos.
  • Copia de la API de blobs no compatible con los accesos directos de ADLS o S3.
  • La función copiar no funciona en accesos directos que apuntan directamente a contenedores de ADLS. Se recomienda crear accesos directos de ADLS en un directorio que sea al menos un nivel por debajo de un contenedor.
  • No se pueden crear accesos directos adicionales dentro de los accesos directos de ADLS o S3.
  • El linaje de los accesos directos a almacenes de datos y modelos semánticos no está disponible actualmente.