¿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 OneLake. Con una SAS de OneLake, tiene un control pormenorizado sobre cómo un cliente puede acceder a los datos. Por ejemplo:
- Qué recursos puede tener acceso el cliente.
- Qué permisos tienen para los recursos.
- Cuánto tiempo es válida la SAS.
Cada SAS de OneLake (y clave de delegación de usuarios) siempre está respaldada por una identidad de Entra de Microsoft, 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 una instancia de LakeHouse.
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 anexado al URI de un recurso de OneLake. El token contiene un conjunto especial de parámetros de consulta que indican cómo el cliente puede acceder al recurso. Uno de los parámetros de consulta es la firma. Se construye a partir de los parámetros de 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 archivo en OneLake. OneLake SAS usa el mismo formato y propiedades que saS delegados por el usuario de Azure Storage, pero con más restricciones de seguridad en su duración y ámbito.
Una SAS de OneLake está firmada con una clave de delegación de usuarios (UDK), respaldada por una credencial de Microsoft Entra. Puede solicitar una clave de delegación de usuarios con la operación Obtener clave de delegación de usuarios. A continuación, usará esta clave (mientras sigue siendo válida) para compilar 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 aplicación accede 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 lo crea. Además, al crear una SAS, concede explícitamente permisos, lo que le permite proporcionar permisos aún más de ámbito a la SAS. Entre la identidad de Microsoft Entra, los permisos concedidos explícitamente y la duración corta, OneLake sigue los procedimientos recomendados de seguridad para proporcionar acceso delegado a los datos.
Cuándo usar una SAS de OneLake
OneLake SASs delega 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.
OneLake SASs también admite aplicaciones que actúan como servidores proxy entre los usuarios y sus 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 OneLake SAS
Dos opciones de configuración en el inquilino de Fabric administran el uso de LAS SAS de OneLake. La primera es una configuración de nivel de inquilino, Usar tokens SAS delegados por el usuario de corta duración, que administra la generación de claves de delegación de usuarios. 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 forma 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 de área de trabajo delegada, Autenticación con tokens 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 forma 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 de inquilinos puede activar esta configuración para todas las áreas de trabajo a través de la configuración del inquilino o dejarla en administradores del área de trabajo para activarla.
También puede supervisar la creación de claves de delegación de usuarios a través del portal de cumplimiento Microsoft Purview. Puede buscar el nombre de la 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 OneLake SAS
- 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 de SAS, la clave y el token de SAS. Las claves de delegación de usuarios y LAS SAS de OneLake tienen una duración máxima de 1 hora. Si intenta solicitar una UDK o compilar una SAS con una duración superior a 1 hora, se producirá un error en la solicitud. Para evitar que SAS se use para ampliar la duración de los tokens de OAuth que expiran, la duración del token también debe ser mayor que la hora de expiración de la clave de delegación de usuarios 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 diferentes horas de inicio entre las máquinas (asimetría del reloj). 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 recursos más pequeños 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 usuarios. Puede auditar la creación de claves de delegación de usuarios en el portal de cumplimiento Microsoft Purview. Busque el nombre de la operación "generateonelakeudk" para ver las claves generadas en el inquilino.
- Comprenda las limitaciones de Las SAS de OneLake. Dado que oneLake SAS no puede 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 atravesar datos, como Explorador de Azure Storage.