Elegir 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 esos recursos.
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 de front-end tiene la ventaja de permitir la validación de reglas de negocio, pero para grandes cantidades de datos o transacciones de gran volumen, crear un servicio que se pueda escalar para satisfacer la demanda puede ser costoso o difícil.
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 acceder a los recursos de la cuenta de almacenamiento directamente con los permisos definidos por la SAS y para el intervalo permitido por la SAS. La SAS mitiga la necesidad de enrutar todos los datos a través del servicio de proxy front-end.
Muchos servicios reales pueden usar un híbrido de estos dos enfoques. Por ejemplo, es posible que algunos datos se procesen y validen a través del proxy 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:
Al copiar un blob a otro blob que se encuentra en una cuenta de almacenamiento diferente, debe usar un 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.
Al copiar un archivo en otro archivo que reside en otra cuenta de almacenamiento, debe usar una SAS para autorizar el acceso al archivo de origen. También puede usar una SAS para autorizar el acceso al archivo de destino.
Cuando copia 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 de la misma cuenta de almacenamiento.