Opciones de autorización para Azure Storage
Antes de mejorar la aplicación web de imágenes de diagnóstico de pacientes de la empresa, quiere comprender todas las opciones de acceso seguro. Una firma de acceso compartido (SAS) ofrece una forma segura de conceder a los clientes acceso a recursos. pero no es la única manera de proporcionar acceso. En algunas situaciones, es posible que otras opciones sean mejores elecciones para la organización.
Su empresa podría usar algo más que el método SAS de autenticación.
En esta unidad, examinará las diferentes maneras de autenticar el acceso a los archivos almacenados en Azure Storage.
Acceso a Azure Storage
Los clientes acceden a los archivos almacenados en Azure Storage a través de HTTP/HTTPS. Azure comprueba cada solicitud de cliente a fin de obtener autorización para acceder a los datos almacenados. Hay cuatro opciones disponibles para acceder a Blob Storage:
- Acceso público
- Microsoft Entra ID
- Clave compartida
- Firma de acceso compartido (SAS)
Acceso público
El acceso público también se conoce como acceso de lectura público anónimo para contenedores y blobs.
Hay dos configuraciones independientes que afectan al acceso público:
Cuenta de almacenamiento. Configure la cuenta de almacenamiento para permitir el acceso público mediante el establecimiento de la propiedad AllowBlobPublicAccess. Cuando se establece en true, los datos de blob solo están disponibles para el acceso público si también se establece la configuración de acceso público del contenedor.
Contenedor. Solo puede habilitar el acceso anónimo si este se ha permitido para la cuenta de almacenamiento. Un contenedor tiene dos opciones de acceso público posibles: acceso de lectura público para blobs o acceso de lectura público para un contenedor y sus blobs. El acceso anónimo se controla en el nivel de contenedor, no para blobs individuales. Por lo tanto, si quiere proteger algunos archivos, tendrá que colocarlos en un contenedor independiente que no permita el acceso de lectura público.
La configuración de la cuenta de almacenamiento y del contenedor es necesaria para habilitar el acceso público anónimo. Las ventajas de este enfoque son que no es necesario compartir claves con los clientes que necesitan acceso a los archivos. Tampoco es necesario administrar una firma de acceso compartido.
Microsoft Entra ID
Use la opción Microsoft Entra para acceder de forma segura a Azure Storage sin almacenar ninguna credencial en el código. La autorización de AD adopta un enfoque de dos pasos. En primer lugar, se autentica una entidad de seguridad que devuelve un token de OAuth 2.0 si se realiza correctamente. Después, este token se pasa a Azure Storage para habilitar la autorización para el recurso solicitado.
Use esta forma de autenticación si ejecuta una aplicación con identidades administradas o mediante entidades de servicio.
Clave compartida
Azure Storage crea dos claves de acceso de 512 bits para cada cuenta de almacenamiento que se cree. Estas claves se comparten para conceder a los clientes acceso a la cuenta de almacenamiento. Estas claves conceden a cualquiera acceso raíz al almacenamiento.
Se recomienda administrar las claves de almacenamiento con Azure Key Vault porque es fácil girarlas con regularidad para mantener la cuenta de almacenamiento segura.
Firma de acceso compartido
Una SAS permite conceder acceso pormenorizado a los archivos de Azure Storage, como el acceso de solo lectura, de lectura y escritura o la hora de expiración, después de la cual la SAS ya no permite que el cliente acceda a los recursos elegidos. Una firma de acceso compartido es una clave que concede permiso a un recurso de almacenamiento y debe protegerse de la misma manera que una clave de cuenta.
Azure Storage admite tres tipos de firmas de acceso compartido:
- SAS de delegación de usuarios: Una SAS de delegación de usuarios está protegida con credenciales de Microsoft Entra, ya que el token de OAuth 2.0 que se usa para firmar la SAS se solicita en nombre del usuario. Solo se puede usar para Blob Storage.
- SAS de servicio: una SAS de servicio se protege mediante una clave de cuenta de almacenamiento. Una SAS de servicio delega el acceso a un recurso en cualquiera de los cuatro servicios de Azure Storage: Blob, Queue, Table o File.
- SAS de cuenta: una SAS de cuenta se protege con una clave de cuenta de almacenamiento. Una SAS de cuenta tiene los mismos controles que una SAS de servicio, pero también puede controlar el acceso a las operaciones de nivel de servicio, como la obtención de las estadísticas de servicio.
Puede crear una SAS ad hoc si especifica todas las opciones que tiene que controlar, incluida la hora de inicio, la hora de expiración y los permisos.
Si planea crear una SAS de servicio, también hay otra opción para asociarla a una directiva de acceso almacenada. Una directiva de acceso almacenada se puede asociar a hasta cinco SAS activas. Puede controlar el acceso y la expiración en el nivel de directiva de acceso almacenada. Este es un buen enfoque si necesita tener un control pormenorizado para cambiar la expiración o revocar una SAS. La única forma de revocar o cambiar una SAS ad hoc es cambiar las claves de la cuenta de almacenamiento.