Compartir a través de


¿Qué es una firma de acceso compartido (SAS) de OneLake? (Versión preliminar)

Una firma de acceso compartido (SAS) de OneLake proporciona acceso seguro, a corto plazo y delegado a los recursos de la instancia de OneLake. Con una SAS de OneLake, tiene control granular sobre la forma en que un cliente puede tener acceso a los datos. Por ejemplo:

  • A qué recursos puede acceder el cliente.
  • Qué permisos tienen para los recursos.
  • Cuánto tiempo es válida la SAS.

Cada SAS de OneLake (y la clave de delegación de usuarios) siempre está respaldada por una identidad de Microsoft Entra, tiene una duración máxima de 1 hora y solo puede conceder acceso a carpetas y archivos dentro de un elemento de datos, como un almacén de lago.

Importante

Esta característica se encuentra en versión preliminar.

Funcionamiento de una firma de acceso compartido

Una firma de acceso compartido es un token que se anexa al identificador URI de un recurso de OneLake. El token contiene un conjunto especial de parámetros de consulta que indican cómo puede acceder el cliente al recurso. Uno de los parámetros de consulta es la firma. Se construye a partir de los parámetros de la SAS y se firma con la clave que se usó para crear la SAS. OneLake usa esta firma para autorizar el acceso a la carpeta o el archivo en OneLake. Las SAS de OneLake usan el mismo formato y propiedades que las SAS delegadas por el usuario de Azure Storage, pero con más restricciones de seguridad en su duración y ámbito.

Una SAS de OneLake se firma con una clave de delegación de usuario (UDK), que está respaldada por una credencial de Microsoft Entra. Puede solicitar una clave de delegación de usuario con la operación Obtener clave de delegación de usuario. A continuación, usará esta clave (mientras siga siendo válida) para crear la SAS de OneLake. Los permisos de esa cuenta de Microsoft Entra, junto con los permisos concedidos explícitamente a la SAS, determinan el acceso del cliente al recurso.

Autorización de una SAS de OneLake

Cuando un cliente o una aplicación acceden a OneLake con una SAS de OneLake, la solicitud se autoriza mediante las credenciales de Microsoft Entra que solicitó la UDK usada para crear la SAS. Por lo tanto, todos los permisos de OneLake concedidos a esa identidad de Microsoft Entra se aplican a la SAS, lo que significa que una SAS nunca puede superar los permisos del usuario que la ha creado. Además, al crear una SAS, concede explícitamente permisos, lo que le permite proporcionar permisos con un ámbito aún más limitado a la SAS. Con la identidad de Microsoft Entra, los permisos concedidos explícitamente y una duración corta, OneLake sigue los procedimientos recomendados de seguridad para proporcionar acceso delegado a los datos.

Cuándo usar una SAS de OneLake

Las SAS de OneLake delegan el acceso seguro y temporal a OneLake, respaldado por una identidad de Microsoft Entra. Las aplicaciones sin compatibilidad nativa con Microsoft Entra pueden usar una SAS de OneLake para obtener acceso temporal para cargar datos sin un trabajo complicado de configuración e integración.

Las SAS de OneLake también admiten aplicaciones que actúan como servidores proxy entre los usuarios y los datos. Por ejemplo, algunos proveedores de software independientes (ISV) se ejecutan entre los usuarios y su área de trabajo de Fabric, lo que proporciona funcionalidad adicional y posiblemente un modelo de autenticación diferente. Al delegar el acceso con una SAS de OneLake, estos ISV pueden administrar el acceso a los datos subyacentes y proporcionar acceso directo a los datos, incluso si sus usuarios no tienen identidades de Microsoft Entra.

Administración de SAS de OneLake

Hay dos opciones de configuración en el inquilino de Fabric que administran el uso de SAS de OneLake. La primera es una configuración de nivel de inquilino, Usar tokens de SAS de corta duración delegados por el usuario, que administra la generación de claves de delegación de usuario. Dado que las claves de delegación de usuario se generan en el nivel de inquilino, se controlan mediante una configuración de inquilino. Esta configuración está activada de manera predeterminada, ya que estas claves de delegación de usuario tienen permisos equivalentes a la identidad de Microsoft Entra que los solicita y siempre son de corta duración.

Nota:

Desactivar esta característica impedirá que todas las áreas de trabajo usen SAS de OneLake, ya que todos los usuarios no podrán generar claves de delegación de usuario.

La segunda configuración es una configuración del área de trabajo delegada, Autenticar con tokens de SAS delegados por el usuario de OneLake, que controla si un área de trabajo acepta una SAS de OneLake. Esta configuración está desactivada de manera predeterminada y puede activarla un administrador del área de trabajo que quiera permitir la autenticación con una SAS de OneLake en su área de trabajo. Un administrador del inquilino puede activar esta configuración para todas las áreas de trabajo mediante la configuración del inquilino o dejarla para que los administradores del área de trabajo la activen.

También puede supervisar la creación de claves de delegación de usuario mediante el portal de cumplimiento de Microsoft Purview. Puede buscar el nombre de operación generateonelakeudk para ver todas las claves generadas en el inquilino. Dado que la creación de una SAS es una operación del lado cliente, no se puede supervisar ni limitar la creación de una SAS de OneLake, solo la generación de una UDK.

Procedimientos recomendados con SAS de OneLake

  • Use siempre HTTPS para crear o distribuir una SAS para protegerse frente a ataques de tipo "Man in the middle" que buscan interceptar la SAS.
  • Realice un seguimiento de los tiempos de expiración del token, la clave y el token de SAS. Las claves de delegación de usuario y las SAS de OneLake tienen una duración máxima de 1 hora. Si intenta solicitar una UDK o crear una SAS con una duración superior a 1 hora, se producirá un error en la solicitud. Para evitar que la SAS se use para ampliar la duración de los tokens de OAuth que van a expirar, la duración del token también debe ser mayor que el tiempo de expiración de la clave de delegación de usuario y la SAS.
  • Tenga cuidado con la hora de inicio de una SAS. Establecer la hora de inicio de una SAS como la hora actual puede provocar errores durante los primeros minutos, debido a las diferentes horas de inicio entre las máquinas (desfase entre los relojes). Establecer la hora de inicio en unos minutos en el pasado ayuda a protegerse frente a estos errores.
  • Conceda los privilegios mínimos posibles a la SAS. Proporcionar los privilegios mínimos necesarios a los menos recursos posibles es un procedimiento recomendado de seguridad y reduce el impacto si una SAS está en peligro.
  • Supervise la generación de claves de delegación de usuario. Puede auditar la creación de claves de delegación de usuario en el portal de cumplimiento de Microsoft Purview. Busque el nombre de operación "generateonelakeudk" para ver las claves generadas en el inquilino.
  • Comprenda las limitaciones de las SAS de OneLake. Dado que las SAS de OneLake no pueden tener permisos de nivel de área de trabajo, no son compatibles con algunas herramientas de Azure Storage que esperan permisos de nivel de contenedor para recorrer los datos, como el Explorador de Azure Storage.