Creación de una SAS de cuenta
Importante
Para lograr una seguridad óptima, Microsoft recomienda usar el identificador de Entra de Microsoft con identidades administradas para autorizar solicitudes en datos de blobs, colas y tablas, siempre que sea posible. La autorización con el identificador de Entra de Microsoft e identidades administradas proporciona mayor seguridad y facilidad de uso a través de la autorización de clave compartida. Para obtener más información, consulte Autorizar con el identificador de Entra de Microsoft. Para más información sobre las identidades administradas, consulte ¿Qué son las identidades administradas para los recursos de Azure?
En el caso de los recursos hospedados fuera de Azure, como las aplicaciones locales, puede usar identidades administradas a través de Azure Arc. Por ejemplo, las aplicaciones que se ejecutan en servidores habilitados para Azure Arc pueden usar identidades administradas para conectarse a los servicios de Azure. Para más información, consulte Autenticación en recursos de Azure con servidores habilitados para Azure Arc.
En escenarios en los que se usan firmas de acceso compartido (SAS), Microsoft recomienda usar una SAS de delegación de usuarios. Una SAS de delegación de usuarios está protegida con credenciales de Microsoft Entra en lugar de la clave de cuenta. Para obtener información sobre las firmas de acceso compartido, consulte Creación de una SAS de delegación de usuarios.
A partir de la versión 2015-04-05, Azure Storage admite la creación de un nuevo tipo de firma de acceso compartido (SAS) en el nivel de la cuenta de almacenamiento. Mediante la creación de una SAS de cuenta, puede hacer lo siguiente:
Delegar el acceso a las operaciones de nivel de servicio que no están disponibles actualmente con una SAS específica del servicio, como las operaciones de
Get/Set Service Properties
yGet Service Stats
.Delegar el acceso a más de un servicio en una cuenta de almacenamiento a la vez. Por ejemplo, puede delegar el acceso a los recursos de Azure Blob Storage y Azure Files mediante una SAS de cuenta.
Delegar el acceso a operaciones de escritura y eliminación para contenedores, colas, tablas y recursos compartidos de archivos, que no están disponibles con una SAS específica del objeto.
Especifique una dirección IP o un intervalo de direcciones IP desde las que aceptar solicitudes.
Especifique el protocolo HTTP desde el que se van a aceptar solicitudes (HTTPS o HTTP/HTTPS).
Actualmente no se admiten directivas de acceso almacenadas para una SAS de cuenta.
Cautela
Las firmas de acceso compartido son claves que conceden permisos a los recursos de almacenamiento y debe protegerlas igual que protegería una clave de cuenta. Es importante proteger una SAS del uso malintencionado o no deseado. Use discreción para distribuir una SAS y tener un plan en vigor para revocar una SAS en peligro. Las operaciones que usan firmas de acceso compartido solo deben realizarse a través de una conexión HTTPS y los URI de SAS solo se deben distribuir en una conexión segura, como HTTPS.
Autorización de una SAS de cuenta
Puede proteger una SAS de cuenta mediante una clave de cuenta de almacenamiento. Al crear una SAS de cuenta, la aplicación cliente debe poseer la clave de cuenta.
Para usar las credenciales de Microsoft Entra para proteger una SAS para un contenedor o blob, crear una SAS de delegación de usuarios.
Construcción de un URI de SAS de cuenta
El URI de SAS de la cuenta consta del URI del recurso para el que la SAS delegará el acceso, seguido de un token de SAS. El token de SAS es la cadena de consulta que incluye toda la información necesaria para autorizar una solicitud al recurso. Especifica el servicio, el recurso y los permisos que están disponibles para el acceso y el período de tiempo durante el que la firma es válida.
Especificar los parámetros de SAS de la cuenta
Los parámetros obligatorios y opcionales para el token de SAS se describen en la tabla siguiente:
Parámetro de consulta de SAS | Descripción |
---|---|
api-version |
Opcional. Especifica la versión del servicio de almacenamiento que se va a usar para ejecutar la solicitud realizada mediante el URI de SAS de la cuenta. Para obtener más información, consulte Autorizar solicitudes mediante una firma de acceso compartido. |
SignedVersion (sv) |
Obligatorio. Especifica la versión del servicio de almacenamiento firmado que se va a usar para autorizar las solicitudes realizadas con esta SAS de cuenta. Debe establecerse en la versión 2015-04-05 o posterior. Para obtener más información, consulte Autorizar solicitudes mediante una firma de acceso compartido. |
SignedServices (ss) |
Obligatorio. Especifica los servicios firmados a los que se puede acceder con la SAS de la cuenta. Entre los valores posibles se incluyen: - Blob ( b )- Cola ( q )- Tabla ( t )- Archivo ( f )Puede combinar valores para proporcionar acceso a más de un servicio. Por ejemplo, ss=bf especifica el acceso a los puntos de conexión de Blob Storage y Azure Files. |
SignedResourceTypes (srt) |
Obligatorio. Especifica los tipos de recursos firmados a los que se puede acceder con la SAS de la cuenta. - Servicio ( s ): acceso a las API de nivel de servicio (por ejemplo, Get/Set Service Properties, Get Service Stats, List Containers/Queues/Tables/Shares).- Contenedor ( c ): acceso a las API de nivel de contenedor (por ejemplo, Create/Delete Container, Create/Delete Queue, Create/Delete Table, Create/Delete Share, List Blobs/Files y Directorios).- Object ( o ): acceso a las API de nivel de objeto para blobs, mensajes de cola, entidades de tabla y archivos (por ejemplo, Put Blob, Query Entity, Get Messages, Create File).Puede combinar valores para proporcionar acceso a más de un tipo de recurso. Por ejemplo, srt=sc especifica el acceso a los recursos de servicio y contenedor. |
SignedPermissions (sp) |
Obligatorio. Especifica los permisos firmados para la SAS de la cuenta. Los permisos solo son válidos si coinciden con el tipo de recurso firmado especificado. Si no coinciden, se omiten. - Read ( r ): válido para todos los tipos de recursos firmados (Service, Container y Object). Permite permisos de lectura para el tipo de recurso especificado.- Write ( w ): válido para todos los tipos de recursos firmados (Service, Container y Object). Permite el acceso de escritura para el tipo de recurso especificado, lo que permite a un usuario crear y actualizar recursos.- Delete ( d ): válido para los tipos de recursos Container y Object, excepto para los mensajes de cola.- Eliminar versión ( x ): válido solo para el tipo de recurso Object de Blob.- Eliminación permanente ( y ): válido solo para el tipo de recurso Object de Blob.- List ( l ): válido solo para los tipos de recursos Service y Container.- Add ( a ): válido solo para los siguientes tipos de recursos Object: mensajes de cola, entidades de tabla y blobs en anexos.- Create ( c ): válido para los tipos de recursos container y los siguientes tipos de recursos object: blobs y archivos. Los usuarios pueden crear nuevos recursos, pero es posible que no sobrescriba los recursos existentes.- Update ( u ): válido solo para los siguientes tipos de recursos object: mensajes de cola y entidades de tabla.- Process ( p ): válido solo para el siguiente tipo de recurso Object: mensajes de cola.- Etiqueta ( t ): válido solo para el siguiente tipo de recurso Object: blobs. Permite operaciones de etiquetas de blob.- Filter ( f ): válido solo para el siguiente tipo de recurso Object: blob. Permite el filtrado por etiqueta de blob.- Establecer directiva de inmutabilidad ( i ): válido solo para el siguiente tipo de recurso Object: blob. Permite establecer o eliminar la directiva de inmutabilidad y la suspensión legal en un blob. |
SignedStart (st) |
Opcional. Hora en que la SAS es válida, expresada en uno de los formatos ISO 8601 UTC aceptados. Si se omite, se supone que la hora de inicio es la hora en que el servicio de almacenamiento recibe la solicitud. Para obtener más información sobre los formatos UTC aceptados, vea Formato de valores DateTime. |
SignedExpiry (se) |
Obligatorio. Hora en que la firma de acceso compartido deja de ser válida, expresada en uno de los formatos ISO 8601 UTC aceptados. Para obtener más información sobre los formatos UTC aceptados, vea Formato de valores DateTime. |
SignedIP (sip) |
Opcional. Especifica una dirección IP o un intervalo de direcciones IP de las que se van a aceptar solicitudes. Al especificar un intervalo, tenga en cuenta que el intervalo es inclusivo. Solo se admiten direcciones IPv4. Por ejemplo, sip=198.51.100.0 o sip=198.51.100.10-198.51.100.20 . |
SignedProtocol (spr) |
Opcional. Especifica el protocolo permitido para una solicitud realizada con la SAS de la cuenta. Los valores posibles son HTTPS y HTTP (https,http ) o HTTPS solo (https ). El valor predeterminado es https,http .Tenga en cuenta que HTTP solo no es un valor permitido. |
SignedEncryptionScope (ses) |
Opcional. Indica el ámbito de cifrado que se va a usar para cifrar el contenido de la solicitud. Este campo es compatible con la versión 2020-12-06 y posteriores. |
Signature (sig) |
Obligatorio. La parte de firma del URI se usa para autorizar la solicitud realizada con la firma de acceso compartido. La cadena a signo es una cadena única que se construye a partir de los campos que se deben comprobar para autorizar la solicitud. La firma es un código de autenticación de mensajes basado en hash (HMAC) que se calcula en la cadena a signo y la clave mediante el algoritmo SHA256 y, a continuación, se codifica mediante la codificación Base64. |
Especificar el campo signedVersion
El campo signedVersion
(sv
) contiene la versión del servicio de la firma de acceso compartido. Este valor especifica la versión de autorización de clave compartida que usa esta firma de acceso compartido (en el campo signature
). El valor también especifica la versión del servicio para las solicitudes realizadas con esta firma de acceso compartido.
Para obtener información sobre qué versión se usa al ejecutar solicitudes a través de una firma de acceso compartido, consulte Control de versiones para los servicios de Azure Storage.
Para obtener información sobre cómo afecta este parámetro a la autorización de las solicitudes realizadas con una firma de acceso compartido, consulte Delegar acceso con una firma de acceso compartido.
Nombre del campo | Parámetro de consulta | Descripción |
---|---|---|
signedVersion |
sv |
Obligatorio. Compatible con la versión 2015-04-05 y versiones posteriores. La versión del servicio de almacenamiento que se va a usar para autorizar y controlar las solicitudes que realice con esta firma de acceso compartido. Para más información, consulte Control de versiones de para los servicios de Azure Storage. |
Especificar una dirección IP o un intervalo IP
A partir de la versión 2015-04-05, el campo opcional signedIp
(sip
) especifica una dirección IP pública o un intervalo de direcciones IP públicas desde las que aceptar solicitudes. Si la dirección IP desde la que se origina la solicitud no coincide con la dirección IP o el intervalo de direcciones especificado en el token de SAS, la solicitud no está autorizada. Solo se admiten direcciones IPv4.
Cuando especifique un intervalo de direcciones IP, tenga en cuenta que el intervalo es inclusivo. Por ejemplo, especificar sip=198.51.100.0
o sip=198.51.100.10-198.51.100.20
en la SAS restringe la solicitud a esas direcciones IP.
En la tabla siguiente se describe si se debe incluir el campo signedIp
en un token de SAS para un escenario especificado, en función del entorno de cliente y la ubicación de la cuenta de almacenamiento.
Entorno de cliente | Ubicación de la cuenta de almacenamiento | Recomendación |
---|---|---|
Cliente que se ejecuta en Azure | En la misma región que el cliente | Una SAS que se proporciona al cliente en este escenario no debe incluir una dirección IP de salida para el campo signedIp . Se producirá un error en las solicitudes realizadas desde dentro de la misma región que usan una SAS con una dirección IP de salida especificada.En su lugar, use una red virtual de Azure para administrar las restricciones de seguridad de red. Las solicitudes a Azure Storage desde la misma región siempre tienen lugar en una dirección IP privada. Para más información, consulte Configuración de firewalls y redes virtuales de Azure Storage. |
Cliente que se ejecuta en Azure | En otra región del cliente | Una SAS que se proporciona al cliente en este escenario puede incluir una dirección IP pública o un intervalo de direcciones para el campo signedIp . Una solicitud realizada con la SAS debe originarse en la dirección IP o el intervalo de direcciones especificados. |
Cliente que se ejecuta de forma local o en un entorno de nube diferente | En cualquier región de Azure | Una SAS que se proporciona al cliente en este escenario puede incluir una dirección IP pública o un intervalo de direcciones para el campo signedIp . Una solicitud realizada con la SAS debe originarse en la dirección IP o el intervalo de direcciones especificados.Si la solicitud pasa a través de un proxy o puerta de enlace, proporcione la dirección IP de salida pública de ese proxy o puerta de enlace para el campo signedIp . |
Especificar el protocolo HTTP
A partir de la versión 2015-04-05, el campo opcional signedProtocol
(spr
) especifica el protocolo permitido para una solicitud realizada con la SAS. Los valores posibles son HTTPS y HTTP (https,http
) o HTTPS solo (https
). El valor predeterminado es https,http
. Tenga en cuenta que HTTP solo no es un valor permitido.
Especificar el ámbito de cifrado
Mediante el campo signedEncryptionScope
en el URI, puede especificar el ámbito de cifrado que puede usar la aplicación cliente. Aplica el cifrado del lado servidor con el ámbito de cifrado especificado al cargar blobs (PUT) con el token de SAS. Get y HEAD no se restringirán ni se realizarán como antes.
En la tabla siguiente se describe cómo hacer referencia a un ámbito de cifrado firmado en el URI:
Nombre del campo | Parámetro de consulta | Descripción |
---|---|---|
signedEncryptionScope |
ses |
Opcional. Indica el ámbito de cifrado que se va a usar para cifrar el contenido de la solicitud. |
Este campo es compatible con la versión 2020-12-06 o posterior. Si agrega el ses
antes de la versión admitida, el servicio devuelve el código de respuesta de error 403 (Prohibido).
Si establece el ámbito de cifrado predeterminado para el contenedor o el sistema de archivos, el parámetro de consulta ses
respeta la directiva de cifrado de contenedor. Si hay un error de coincidencia entre el parámetro de consulta ses
y x-ms-default-encryption-scope
encabezado, y el encabezado x-ms-deny-encryption-scope-override
se establece en true
, el servicio devuelve el código de respuesta de error 403 (Prohibido).
Al proporcionar el encabezado x-ms-encryption-scope
y el parámetro de consulta ses
en la solicitud PUT, el servicio devuelve el código de respuesta de error 400 (solicitud incorrecta) si hay un error de coincidencia.
Construcción de la cadena de firma
Para construir la cadena de firma para una SAS de cuenta, primero construya la cadena a signo a partir de los campos que componen la solicitud y, a continuación, codifique la cadena como UTF-8 y calcule la firma mediante el algoritmo HMAC-SHA256.
Nota
Los campos que se incluyen en la cadena a signo deben estar descodificados por url.
Para construir la cadena a inicio de sesión para una SAS de cuenta, use el formato siguiente:
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n"
La versión 2020-12-06 agrega compatibilidad con el campo de ámbito de cifrado firmado. Para construir la cadena a inicio de sesión para una SAS de cuenta, use el formato siguiente:
StringToSign = accountname + "\n" +
signedpermissions + "\n" +
signedservice + "\n" +
signedresourcetype + "\n" +
signedstart + "\n" +
signedexpiry + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedversion + "\n" +
signedEncryptionScope + "\n"
Permisos de SAS de cuenta por operación
En las tablas de las secciones siguientes se enumeran varias API para cada servicio y los tipos de recursos firmados y los permisos firmados que se admiten para cada operación.
Blob service
En la tabla siguiente se enumeran las operaciones de Blob Service e indica qué tipo de recurso firmado y permisos firmados se especifican al delegar el acceso a esas operaciones.
Operación | Servicio firmado | Tipo de recurso firmado | Permiso firmado |
---|---|---|---|
Enumerar contenedores | Blob (b) | Servicio (s) | Lista (l) |
Obtener propiedades de Blob Service | Blob (b) | Servicio (s) | Lectura (r) |
Establecimiento de propiedades de Blob Service | Blob (b) | Servicio (s) | Escritura (w) |
Obtención de estadísticas de Blob Service | Blob (b) | Servicio (s) | Lectura (r) |
Creación de un contenedor | Blob (b) | Contenedor (c) | Create(c) o Write (w) |
Obtener propiedades de contenedor | Blob (b) | Contenedor (c) | Lectura (r) |
Obtención de metadatos de contenedor | Blob (b) | Contenedor (c) | Lectura (r) |
Establecimiento de metadatos de contenedor | Blob (b) | Contenedor (c) | Escritura (w) |
Contenedor de concesión | Blob (b) | Contenedor (c) | Escritura (w) o Eliminación (d)1 |
Eliminar contenedor | Blob (b) | Contenedor (c) | Eliminar (d)1 |
Búsqueda de blobs por etiquetas en el contenedor | Blob (b) | Contenedor (c) | Filtro (f) |
Enumerar blobs | Blob (b) | Contenedor (c) | Lista (l) |
Put Blob (crear un blob en bloques) | Blob (b) | Objeto (o) | Crear (c) o Escribir (w) |
Put Blob (sobrescribir blob en bloques existente) | Blob (b) | Objeto (o) | Escritura (w) |
Put Blob (crear un nuevo blob en páginas) | Blob (b) | Objeto (o) | Crear (c) o Escribir (w) |
Put Blob (sobrescribir el blob en páginas existente) | Blob (b) | Objeto (o) | Escritura (w) |
Obtención de blobs | Blob (b) | Objeto (o) | Lectura (r) |
Obtención de propiedades de blobs | Blob (b) | Objeto (o) | Lectura (r) |
Establecer propiedades de blob | Blob (b) | Objeto (o) | Escritura (w) |
Obtención de metadatos de blobs | Blob (b) | Objeto (o) | Lectura (r) |
Establecimiento de metadatos de blobs | Blob (b) | Objeto (o) | Escritura (w) |
Obtención de etiquetas de blobs | Blob (b) | Objeto (o) | Etiquetas (t) |
Establecimiento de etiquetas de blobs | Blob (b) | Objeto (o) | Etiquetas (t) |
Búsqueda de blobs por etiquetas | Blob (b) | Objeto (o) | Filtro (f) |
Eliminar blob | Blob (b) | Objeto (o) | Eliminar (d)1 |
Eliminar versión del blob | Blob (b) | Objeto (o) | Eliminar versión (x)2 |
Eliminar instantánea o versión permanentemente | Blob (b) | Objeto (o) | Eliminación permanente (y)3 |
Concesión de blobs | Blob (b) | Objeto (o) | Escritura (w) o Eliminación (d)1 |
Blob de instantáneas | Blob (b) | Objeto (o) | Crear (c) o Escribir (w) |
Copiar blob (el destino es un blob nuevo) | Blob (b) | Objeto (o) | Crear (c) o Escribir (w) |
Copiar blob (el destino es un blob existente) | Blob (b) | Objeto (o) | Escritura (w) |
Copia incremental | Blob (b) | Objeto (o) | Crear (c) o Escribir (w) |
Abort Copy Blob | Blob (b) | Objeto (o) | Escritura (w) |
Colocar bloque | Blob (b) | Objeto (o) | Escritura (w) |
Colocar lista de bloques (crear un nuevo blob) | Blob (b) | Objeto (o) | Escritura (w) |
Colocar lista de bloques (actualizar el blob existente) | Blob (b) | Objeto (o) | Escritura (w) |
Obtener lista de bloqueos | Blob (b) | Objeto (o) | Lectura (r) |
Put Page | Blob (b) | Objeto (o) | Escritura (w) |
Obtener intervalos de páginas | Blob (b) | Objeto (o) | Lectura (r) |
Anexar bloque | Blob (b) | Objeto (o) | Agregar (a) o Escribir (w) |
Borrar página | Blob (b) | Objeto (o) | Escritura (w) |
1 El permiso Delete
permite interrumpir una concesión en un blob o contenedor con la versión 2017-07-29 y posteriores.
2 El permiso Delete Version
permite la eliminación de versiones de blobs con la versión 2019-12-12 y posteriores.
3 El permiso Permanent Delete
permite la eliminación permanente de una instantánea o versión de blobs con la versión 2020-02-10 y posteriores.
Queue Service
En la tabla siguiente se enumeran las operaciones de Queue Service e indica qué tipo de recurso firmado y permisos firmados se especifican al delegar el acceso a esas operaciones.
Operación | Servicio firmado | Tipo de recurso firmado | Permiso firmado |
---|---|---|---|
Obtener propiedades de Queue Service | Cola (q) | Servicio (s) | Lectura (r) |
Establecer propiedades de Queue Service | Cola (q) | Servicio (s) | Escritura (w) |
Enumerar colas | Cola (q) | Servicio (s) | Lista (l) |
Obtener estadísticas de Queue Service | Cola (q) | Servicio (s) | Lectura (r) |
Crear cola | Cola (q) | Contenedor (c) | Create(c) o Write (w) |
Eliminar cola | Cola (q) | Contenedor (c) | Eliminar (d) |
Obtener metadatos de cola | Cola (q) | Contenedor (c) | Lectura (r) |
Establecer metadatos de cola | Cola (q) | Contenedor (c) | Escritura (w) |
Colocar mensaje | Cola (q) | Objeto (o) | Agregar (a) |
Obtener mensajes | Cola (q) | Objeto (o) | Proceso (p) |
Ver mensajes | Cola (q) | Objeto (o) | Lectura (r) |
Eliminar mensaje | Cola (q) | Objeto (o) | Proceso (p) |
Borrar mensajes | Cola (q) | Objeto (o) | Eliminar (d) |
Actualizar mensaje | Cola (q) | Objeto (o) | Actualización (u) |
Table service
En la tabla siguiente se enumeran las operaciones de Table service e indica qué tipo de recurso firmado y permisos firmados se especifican al delegar el acceso a esas operaciones.
Operación | Servicio firmado | Tipo de recurso firmado | Permiso firmado |
---|---|---|---|
Obtener propiedades de Table Service | Tabla (t) | Servicio (s) | Lectura (r) |
Establecer propiedades de Table Service | Tabla (t) | Servicio (s) | Escritura (w) |
Obtener estadísticas de Table Service | Tabla (t) | Servicio (s) | Lectura (r) |
Tablas de consulta | Tabla (t) | Contenedor (c) | Lista (l) |
Crear tabla | Tabla (t) | Contenedor (c) | Crear (c) o Escribir (w) |
Eliminar tabla | Tabla (t) | Contenedor (c) | Eliminar (d) |
Entidades de consulta | Tabla (t) | Objeto (o) | Lectura (r) |
Insertar entidad | Tabla (t) | Objeto (o) | Agregar (a) |
Insertar o combinar entidad | Tabla (t) | Objeto (o) | Agregar (a) y Actualizar (u)1 |
Insertar o reemplazar entidad | Tabla (t) | Objeto (o) | Agregar (a) y Actualizar (u)1 |
Actualizar entidad | Tabla (t) | Objeto (o) | Actualización (u) |
Combinar entidad | Tabla (t) | Objeto (o) | Actualización (u) |
Eliminar entidad | Tabla (t) | Objeto (o) | Eliminar (d) |
1 los permisos Agregar y actualizar son necesarios para las operaciones upsert en Table service.
Servicio de archivos
En la tabla siguiente se enumeran las operaciones del servicio de archivos e indica qué tipo de recurso firmado y permisos firmados se especifican al delegar el acceso a esas operaciones.
Operación | Servicio firmado | Tipo de recurso firmado | Permiso firmado |
---|---|---|---|
Enumerar recursos compartidos | Archivo (f) | Servicio (s) | Lista (l) |
Obtener propiedades del servicio de archivos | Archivo (f) | Servicio (s) | Lectura (r) |
Establecer propiedades del servicio de archivos | Archivo (f) | Servicio (s) | Escritura (w) |
Obtener estadísticas de recursos compartidos | Archivo (f) | Contenedor (c) | Lectura (r) |
Crear recurso compartido | Archivo (f) | Contenedor (c) | Crear (c) o Escribir (w) |
Recurso compartido de instantáneas | Archivo (f) | Contenedor (c) | Crear (c) o Escribir (w) |
Obtener propiedades de recurso compartido | Archivo (f) | Contenedor (c) | Lectura (r) |
Establecer propiedades de recurso compartido | Archivo (f) | Contenedor (c) | Escritura (w) |
Obtener metadatos de recurso compartido | Archivo (f) | Contenedor (c) | Lectura (r) |
Establecer metadatos de recurso compartido | Archivo (f) | Contenedor (c) | Escritura (w) |
Eliminar recurso compartido | Archivo (f) | Contenedor (c) | Eliminar (d) |
Enumerar directorios y archivos | Archivo (f) | Contenedor (c) | Lista (l) |
Crear directorio | Archivo (f) | Objeto (o) | Crear (c) o Escribir (w) |
Obtener propiedades del directorio | Archivo (f) | Objeto (o) | Lectura (r) |
Obtener metadatos de directorio | Archivo (f) | Objeto (o) | Lectura (r) |
Establecer metadatos de directorio | Archivo (f) | Objeto (o) | Escritura (w) |
Eliminar directorio | Archivo (f) | Objeto (o) | Eliminar (d) |
Crear archivo (crear nuevo) | Archivo (f) | Objeto (o) | Crear (c) o Escribir (w) |
Crear archivo (sobrescribir existente) | Archivo (f) | Objeto (o) | Escritura (w) |
Obtener archivo | Archivo (f) | Objeto (o) | Lectura (r) |
Obtener propiedades de archivo | Archivo (f) | Objeto (o) | Lectura (r) |
Obtener metadatos de archivo | Archivo (f) | Objeto (o) | Lectura (r) |
Establecer metadatos de archivo | Archivo (f) | Objeto (o) | Escritura (w) |
Eliminar archivo | Archivo (f) | Objeto (o) | Eliminar (d) |
Cambiar nombre de archivo | Archivo (f) | Objeto (o) | Delete (d) o Write (w) |
Put Range | Archivo (f) | Objeto (o) | Escritura (w) |
Rangos de lista | Archivo (f) | Objeto (o) | Lectura (r) |
Anular el archivo de copia | Archivo (f) | Objeto (o) | Escritura (w) |
Copiar archivo | Archivo (f) | Objeto (o) | Escritura (w) |
Borrar intervalo | Archivo (f) | Objeto (o) | Escritura (w) |
Ejemplo de URI de SAS de cuenta
En el ejemplo siguiente se muestra un URI de Blob service con un token de SAS de cuenta anexado a él. El token de SAS de cuenta proporciona permisos para el servicio, el contenedor y los objetos. La tabla desglosa cada parte del URI:
https://blobsamples.blob.core.windows.net/?sv=2022-11-02&ss=b&srt=sco&sp=rwlc&se=2023-05-24T09:51:36Z&st=2023-05-24T01:51:36Z&spr=https&sig=<signature>
Nombre | Parte de SAS | Descripción |
---|---|---|
URI de recursos | https://myaccount.blob.core.windows.net/?restype=service&comp=properties |
El punto de conexión de servicio, con parámetros para obtener las propiedades del servicio (cuando se llama con GET) o establecer las propiedades del servicio (cuando se llama con SET). En función del valor del campo de servicios firmados (ss ), esta SAS se puede usar con Blob Storage o Azure Files. |
Delimitador | ? |
Delimitador que precede a la cadena de consulta. El delimitador no forma parte del token de SAS. |
Versión de los servicios de almacenamiento | sv=2022-11-02 |
En el caso de los servicios de Azure Storage, versión 2012-02-12 y posteriores, este parámetro indica qué versión se va a usar. |
Servicios | ss=b |
La SAS se aplica a los servicios de blob. |
Tipos de recursos | srt=sco |
La SAS se aplica a las operaciones de nivel de servicio, de nivel de contenedor y de nivel de objeto. |
Permisos | sp=rwlc |
Los permisos conceden acceso a las operaciones de lectura, escritura, lista y creación. |
Hora de comienzo | st=2019-08-01T22%3A18%3A26Z |
Especificado en hora UTC. Si desea que la SAS sea válida inmediatamente, omita la hora de inicio. |
Hora de expiración | se=2019-08-10T02%3A23%3A26Z |
Especificado en hora UTC. |
Protocolo | spr=https |
Solo se permiten las solicitudes que usan HTTPS. |
Firma | sig=<signature> |
Se usa para autorizar el acceso al blob. La firma es un HMAC que se calcula a través de una cadena a signo y una clave mediante el algoritmo SHA256 y, a continuación, se codifica mediante la codificación Base64. |
Dado que los permisos están restringidos al nivel de servicio, las operaciones accesibles con esta SAS son Obtener propiedades de Blob Service (lectura) y Establecer propiedades de Blob Service (escritura). Sin embargo, con un URI de recurso diferente, también se podría usar el mismo token de SAS para delegar el acceso a Obtener estadísticas de Blob Service (lectura).