Determinación de cuándo usar firmas de acceso compartido
Use una SAS cuando quiera proporcionar acceso seguro a los recursos de la cuenta de almacenamiento a cualquier cliente que no tenga permisos para acceder a esos recursos de otra manera.
Un escenario común en el que es útil una SAS es un servicio en el que los usuarios leen y escriben sus propios datos en la cuenta de almacenamiento. Existen dos patrones de diseño típicos en los escenarios en los que una cuenta de almacenamiento guarda datos de usuario:
Los clientes cargan y descargan datos mediante un servicio de proxy front-end que realiza la autenticación. Este servicio de proxy front-end cuenta con la ventaja de permitir la validación de reglas de negocio, pero para grandes cantidades de datos o transacciones de gran volumen, la creación de un servicio que pueda escalarse para satisfacer la demanda puede ser complicada o costosa.
Un servicio ligero realiza la autenticación del cliente según sea necesario y, luego, genera una SAS. Una vez que la aplicación cliente recibe la SAS, puede obtener acceso a los recursos de la cuenta de almacenamiento directamente con los permisos definidos por la SAS y para el intervalo permitido por ella. La SAS mitiga la necesidad de enrutar todos los datos a través del servicio de proxy front-end.
Muchos servicios reales pueden usar una combinación de estos dos enfoques. Por ejemplo, se pueden procesar y validar algunos datos mediante el proxy de front-end, mientras que otros datos se guardan o leen directamente mediante SAS.
Además, en ciertos escenarios, se requiere una SAS para autorizar el acceso al objeto de origen en las operaciones de copia:
Cuando copia un blob en otro blob que reside en una cuenta de almacenamiento diferente, debe usar una SAS para autorizar el acceso al blob de origen. Si lo desea, también puede usar una SAS para autorizar el acceso al blob de destino.
Cuando copia un archivo en otro archivo que se encuentra en una cuenta de almacenamiento diferente, debe usar una SAS para autorizar el acceso al archivo de origen. Si lo desea, también puede usar una SAS para autorizar el acceso al archivo de destino.
Si va a copiar un blob en un archivo, o un archivo en un blob, tiene que usar una SAS para autorizar el acceso al objeto de origen, incluso si los objetos de origen y destino residen dentro la misma cuenta de almacenamiento.