Az - Blob Storage
Información Básica
Desde la documentación: Azure Blob storage es la solución de almacenamiento de objetos de Microsoft para la nube. El almacenamiento de blobs está optimizado para almacenar grandes cantidades de datos no estructurados. Los datos no estructurados son datos que no se adhieren a un modelo o definición de datos particular, como datos de texto o binarios.
El almacenamiento de blobs ofrece tres tipos de recursos:
La cuenta de almacenamiento (nombre único)
Un contenedor en la cuenta de almacenamiento (carpeta)
Un blob en un contenedor
Diferentes tipos de almacenamiento
Almacenamiento de Blob |
|
Azure Data Lake Storage Gen2 |
|
Azure Files |
|
Almacenamiento de Cola |
|
Almacenamiento de Tabla |
|
Acceso al Almacenamiento
Utiliza principios de Azure AD a través de roles de RBAC admitidos.
Claves de acceso: Utiliza las claves de acceso de la cuenta de almacenamiento. Esto proporciona acceso completo a la cuenta de almacenamiento.
Firma de acceso compartido (SAS): Limitada en el tiempo y con permisos específicos.
Puedes generar una URL de SAS con una clave de acceso (más complicado de detectar).
Como el SAS se genera a partir de la clave de acceso, si se renueva la clave, el SAS deja de funcionar.
Exposición Pública
Si se habilita "Permitir acceso público a blobs" (deshabilitado de forma predeterminada), es posible:
Dar acceso público para leer blobs (necesitas conocer el nombre).
Listar blobs del contenedor y leerlos.
Conectar al Almacenamiento
Si encuentras algún almacenamiento al que puedas conectarte, podrías utilizar la herramienta Microsoft Azure Storage Explorer para hacerlo.
URLs de SAS
Desde la documentación: Una firma de acceso compartido (SAS) proporciona acceso delegado seguro a recursos en tu cuenta de almacenamiento. Con un SAS, tienes un control detallado sobre cómo un cliente puede acceder a tus datos. Por ejemplo:
A qué recursos puede acceder el cliente.
Qué permisos tienen para esos recursos.
Cuánto tiempo es válido el SAS.
Una URL de SAS se ve así: https://<container_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D
Utiliza Storage Explorer para acceder a los datos o python:
SAS de delegación de usuario
Puede asegurar un token de firma de acceso compartido (SAS) para acceder a un contenedor, directorio o blob utilizando tanto las credenciales de Azure Active Directory (Azure AD) como una clave de cuenta. Para crear un SAS de delegación de usuario, primero debe solicitar una clave de delegación de usuario, que luego utilizará para firmar el SAS.
Se proporciona soporte para un SAS de delegación de usuario tanto en Azure Blob Storage como en Azure Data Lake Storage Gen2. Sin embargo, es importante tener en cuenta que las Directivas de acceso almacenadas no son compatibles con un SAS de delegación de usuario.
Tenga en cuenta que el SAS de delegación de usuario está asegurado con credenciales de Azure AD en lugar de claves de cuenta de almacenamiento. Esto evita que los clientes/aplicaciones almacenen/recuperen claves de almacenamiento para crear SAS.
SAS de servicio
Un SAS de servicio está asegurado con la clave de cuenta de almacenamiento. Un SAS de servicio delega acceso a un recurso en solo uno de los servicios de almacenamiento de Azure: almacenamiento de blobs, almacenamiento de colas, almacenamiento de tablas o archivos de Azure. La URI para un SAS a nivel de servicio consta de la URI al recurso para el cual el SAS delegará acceso, seguido por el token SAS.
Para utilizar las credenciales de Azure Active Directory (Azure AD) para asegurar un SAS para un contenedor o blob, utilice un SAS de delegación de usuario.
SAS de cuenta
Un SAS de cuenta está asegurado con una de las claves de cuenta de almacenamiento (hay 2). Un SAS de cuenta delega acceso a recursos en uno o más de los servicios de almacenamiento. Todas las operaciones disponibles a través de un SAS de servicio o de delegación de usuario también están disponibles a través de un SAS de cuenta.
de la documentación: Al crear un SAS de cuenta, puede:
Delegar acceso a operaciones a nivel de servicio que actualmente no están disponibles con un SAS específico del servicio, como las operaciones
Get/Set Service Properties
yGet Service Stats
.Delegar acceso a más de un servicio en una cuenta de almacenamiento a la vez. Por ejemplo, puede delegar acceso a recursos tanto en Azure Blob Storage como en Azure Files mediante un SAS de cuenta.
Delegar acceso a operaciones de escritura y eliminación para contenedores, colas, tablas y recursos compartidos de archivos, que no están disponibles con un SAS específico del objeto.
Especificar una dirección IP o un rango de direcciones IP desde las cuales aceptar solicitudes.
Especificar el protocolo HTTP desde el cual aceptar solicitudes (ya sea HTTPS o HTTP/HTTPS).
Enumeración
Referencias
Última actualización