Creación de una SAS de cuenta
Importante
Para una seguridad óptima, Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes en datos de blobs, colas y tablas, siempre que sea posible. La autorización con Microsoft Entra ID e identidades administradas proporciona una seguridad superior y facilidad de uso a través de la autorización de clave compartida. Para más información, consulte Autorización con Microsoft Entra ID. 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 se protege con credenciales de Microsoft Entra en lugar de la clave de cuenta. Para obtener información sobre las firmas de acceso compartido, consulte Create 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
Get/Set Service Properties
operaciones 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 se van a aceptar las solicitudes.
Especifique el protocolo HTTP desde el que se van a aceptar solicitudes (HTTPS o HTTP/HTTPS).
Actualmente, las directivas de acceso almacenadas no se admiten para una SAS de cuenta.
Precaución
Las firmas de acceso compartido son claves que conceden permisos a los recursos de almacenamiento y debe protegerlos igual que protegería una clave de cuenta. Es importante proteger una SAS de uso malintencionado o no intencionado. Sea cauto al distribuir una SAS y tenga un plan para revocar una SAS en peligro. Las operaciones que usan firmas de acceso compartido solo se deben realizar 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 Microsoft Entra credenciales para proteger una SAS para un contenedor o blob, cree 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 al 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 cual la firma es válida.
Especificación de 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 que se realiza mediante el URI de SAS de la cuenta. Para obtener más información, consulte Autorización de solicitudes mediante una firma de acceso compartido. |
SignedVersion (sv) |
Necesario. Especifica la versión del servicio de almacenamiento firmado que se 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 Autorización de solicitudes mediante una firma de acceso compartido. |
SignedServices (ss) |
Necesario. Especifica los servicios firmados a los que se puede acceder con la SAS de la cuenta. Los valores posibles son: - Blob ( b )- Queue ( q )- Table ( t )- File ( 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) |
Necesario. Especifica los tipos de recursos firmados a los que se puede acceder con la SAS de 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/Eliminar contenedor, Create/Eliminar cola, Create/Eliminar tabla, Create/Eliminar recurso compartido, Enumerar blobs/archivos 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) |
Necesario. Especifica los permisos firmados para la SAS de cuenta. Los permisos solo son válidos si coinciden con el tipo de recurso firmado especificado. Si no coinciden, se ignoran. - Lectura ( r ): válido para todos los tipos de recursos firmados (Servicio, Contenedor y Objeto). Permite permisos de lectura para el tipo de recurso especificado.- Escritura ( w ): válido para todos los tipos de recursos firmados (Servicio, Contenedor y Objeto). Permite el acceso de escritura para el tipo de recurso especificado, lo que permite a un usuario crear y actualizar recursos.- Eliminación ( d ): válido para los tipos de recursos de contenedor y objeto, excepto para los mensajes de la cola.- Eliminación permanente ( y ): válido solo para el tipo de recurso de objeto de Blob.- Lista ( l ): válido solo para los tipos de recursos de servicio y contenedor.- Adición ( a ): válido solo para los tipos de recursos de objeto siguientes: 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 sobrescriban los recursos existentes.- Actualización ( u ): válido solo para los tipos de recursos de objeto siguientes: mensajes de cola y entidades de tabla.- Proceso ( p ): válido solo para los tipos de recursos de objeto siguientes: mensajes de cola.- Etiqueta ( t ): válido solo para el tipo de recurso de objeto siguiente: blobs. Permite operaciones de etiquetas de blob.- Filtro ( f ): válido solo para el tipo de recurso de objeto siguiente: blob. Permite el filtrado por etiqueta de blob.- Establecimiento de directiva de inmutabilidad ( i ): válido solo para el tipo de recurso de objeto siguiente: blob. Permite establecer o eliminar la directiva de inmutabilidad y la suspensión legal en un blob. |
SignedStart (st) |
Opcional. Hora a la 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 a la 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) |
Necesario. 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 desde las que se van a aceptar las solicitudes. Al especificar un intervalo, tenga en cuenta que el intervalo es inclusivo. Solo se admiten direcciones IPv4. Por ejemplo, sip=168.1.5.65 o sip=168.1.5.60-168.1.5.70 . |
SignedProtocol (spr) |
Opcional. Especifica el protocolo que se permite para una solicitud realizada con la SAS de la cuenta. Los valores posibles son tanto HTTPS como HTTP (https,http ) o solo HTTPS (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) |
Necesario. La parte de firma del URI se usa para autorizar la solicitud que se realiza 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 a través de la cadena a signo y la clave mediante el algoritmo SHA256 y, a continuación, se codifica mediante la codificación Base64. |
Especificar el signedVersion
campo
El signedVersion
campo (sv
) contiene la versión de 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 signature
campo). El valor también especifica la versión del servicio para las solicitudes que se realizan 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 Delegación del acceso con una firma de acceso compartido.
Nombre del campo | Parámetro de consulta | Descripción |
---|---|---|
signedVersion |
sv |
Necesario. Se admite en la versión 2015-04-05 y 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 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.
Al especificar un intervalo de direcciones IP, tenga en cuenta que el intervalo es inclusivoPara ejemplo, especificar sip=168.1.5.65
o sip=168.1.5.60-168.1.5.70
en la SAS restringe la solicitud a esas direcciones IP.
En la tabla siguiente se describe si se debe incluir el signedIp
campo 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 signedIp campo. 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 dentro de la misma región siempre tienen lugar en una dirección IP privada. Para más información, vea Configuración de Firewalls y redes virtuales de Azure Storage. |
Cliente que se ejecuta en Azure | En una región diferente 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 signedIp campo. Una solicitud realizada con la SAS debe originarse en la dirección IP o el intervalo de direcciones especificados. |
Cliente que se ejecuta localmente 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 signedIp campo. 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 signedIp campo. |
Especificación del 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 tanto HTTPS como HTTP (https,http
) o solo HTTPS (https
). El valor predeterminado es https,http
. Tenga en cuenta que HTTP solo no es un valor permitido.
Especificación del ámbito de cifrado
Mediante el uso del signedEncryptionScope
campo 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 antes ses
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 ses
parámetro de consulta respeta la directiva de cifrado de contenedor. Si hay un error de coincidencia entre el parámetro de consulta y x-ms-default-encryption-scope
el ses
encabezado, y el x-ms-deny-encryption-scope-override
encabezado se establece true
en , el servicio devuelve el código de respuesta de error 403 (Prohibido).
Al proporcionar el x-ms-encryption-scope
encabezado y el ses
parámetro de consulta en la solicitud PUT, el servicio devuelve el código de respuesta de error 400 (solicitud incorrecta) si hay un error de coincidencia.
Construir la cadena de firma
Para construir la cadena de firma de una SAS de cuenta, primero construya la cadena para firmar 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 firmar para una SAS de cuenta, use el siguiente formato:
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 firmar para una SAS de cuenta, use el siguiente formato:
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 |
---|---|---|---|
List Containers | Blob (b) | Servicio (s) | Lista (l) |
Get Blob Service Properties | Blob (b) | Servicio (s) | Lectura (r) |
Set Blob Service Properties | Blob (b) | Servicio (s) | Escritura (w) |
Obtener estadísticas del servicio Blob | Blob (b) | Servicio (s) | Lectura (r) |
Creación de un contenedor | Blob (b) | Contenedor (c) | Create(c) o escritura (w) |
Get Container Properties | Blob (b) | Contenedor (c) | Lectura (r) |
Get Container Metadata | Blob (b) | Contenedor (c) | Lectura (r) |
Set Container Metadata | Blob (b) | Contenedor (c) | Escritura (w) |
Lease Container | Blob (b) | Contenedor (c) | Escribir (w) o eliminar (d)1 |
Delete Container | Blob (b) | Contenedor (c) | Eliminar (d)1 |
Búsqueda de blobs por etiquetas en el contenedor | Blob (b) | Contenedor (c) | Filtro (f) |
List Blobs | Blob (b) | Contenedor (c) | Lista (l) |
Put Blob (crear un nuevo blob en bloques) | Blob (b) | Objeto (o) | Create (c) o escritura (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) | Create (c) o escritura (w) |
Put Blob (sobrescribir blob en páginas existente) | Blob (b) | Objeto (o) | Escritura (w) |
Get Blob | Blob (b) | Objeto (o) | Lectura (r) |
Get Blob Properties | Blob (b) | Objeto (o) | Lectura (r) |
Set Blob Properties | Blob (b) | Objeto (o) | Escritura (w) |
Get Blob Metadata | Blob (b) | Objeto (o) | Lectura (r) |
Set Blob Metadata | Blob (b) | Objeto (o) | Escritura (w) |
Obtener etiquetas de blobs | Blob (b) | Objeto (o) | Etiquetas (t) |
Establecer etiquetas de blobs | Blob (b) | Objeto (o) | Etiquetas (t) |
Buscar blobs por etiquetas | Blob (b) | Objeto (o) | Filtro (f) |
Delete Blob | Blob (b) | Objeto (o) | Eliminar (d)1 |
Eliminar instantánea o versión permanentemente | Blob (b) | Objeto (o) | Eliminación permanente (y) |
Lease Blob | Blob (b) | Objeto (o) | Escribir (w) o eliminar (d)1 |
Instantánea de blob | Blob (b) | Objeto (o) | Create (c) o escritura (w) |
Copiar blob (el destino es un nuevo blob) | Blob (b) | Objeto (o) | Create (c) o escritura (w) |
Copiar blob (el destino es un blob existente) | Blob (b) | Objeto (o) | Escritura (w) |
Copia incremental | Blob (b) | Objeto (o) | Create (c) o escritura (w) |
Abort Copy Blob | Blob (b) | Objeto (o) | Escritura (w) |
Put Block | Blob (b) | Objeto (o) | Escritura (w) |
Put Block List (crear un nuevo blob) | Blob (b) | Objeto (o) | Escritura (w) |
Put Block List (actualizar blob existente) | Blob (b) | Objeto (o) | Escritura (w) |
Get Block List | Blob (b) | Objeto (o) | Lectura (r) |
Put Page | Blob (b) | Objeto (o) | Escritura (w) |
Get Page Ranges | Blob (b) | Objeto (o) | Lectura (r) |
Append Block | Blob (b) | Objeto (o) | Agregar (a) o Escribir (w) |
Borrar página | Blob (b) | Objeto (o) | Escritura (w) |
1 El Delete
permiso permite interrumpir una concesión en un blob o contenedor con la versión 2017-07-29 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 |
---|---|---|---|
Get Queue Service Properties | Cola (q) | Servicio (s) | Lectura (r) |
Set Queue Service Properties | Cola (q) | Servicio (s) | Escritura (w) |
Enumeración de las colas | Cola (q) | Servicio (s) | Lista (l) |
Obtener estadísticas del servicio Cola | Cola (q) | Servicio (s) | Lectura (r) |
Crear cola | Cola (q) | Contenedor (c) | Create(c) o escritura (w) |
Eliminar cola | Cola (q) | Contenedor (c) | Delete (d) |
Get Queue Metadata | Cola (q) | Contenedor (c) | Lectura (r) |
Set Queue Metadata | Cola (q) | Contenedor (c) | Escritura (w) |
Put Message | Cola (q) | Objeto (o) | Agregar (a) |
Obtener mensajes | Cola (q) | Objeto (o) | Proceso (p) |
Peek Messages | Cola (q) | Objeto (o) | Lectura (r) |
Eliminar mensaje | Cola (q) | Objeto (o) | Proceso (p) |
Clear Messages | Cola (q) | Objeto (o) | Delete (d) |
Actualizar mensaje | Cola (q) | Objeto (o) | Actualizar (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 |
---|---|---|---|
Get Table Service Properties | Tabla (t) | Servicio (s) | Lectura (r) |
Set Table Service Properties | Tabla (t) | Servicio (s) | Escritura (w) |
Obtener estadísticas del servicio Tabla | Tabla (t) | Servicio (s) | Lectura (r) |
Consultar tablas | Tabla (t) | Contenedor (c) | Lista (l) |
Crear tabla | Tabla (t) | Contenedor (c) | Create (c) o escritura (w) |
Eliminar tabla | Tabla (t) | Contenedor (c) | Delete (d) |
Query Entities | Tabla (t) | Objeto (o) | Lectura (r) |
Insert Entity | Tabla (t) | Objeto (o) | Agregar (a) |
Insert Or Merge Entity | Tabla (t) | Objeto (o) | Agregar (a) y Actualizar (u)1 |
Insert Or Replace Entity | Tabla (t) | Objeto (o) | Agregar (a) y Actualizar (u)1 |
Update Entity | Tabla (t) | Objeto (o) | Actualizar (u) |
Merge Entity | Tabla (t) | Objeto (o) | Actualizar (u) |
Delete Entity | Tabla (t) | Objeto (o) | Delete (d) |
1 Los permisos para agregar y actualizar son necesarios para las operaciones upsert en Table service.
File service
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 |
---|---|---|---|
Recursos compartidos de lista | Archivo (f) | Servicio (s) | Lista (l) |
Obtener propiedades del servicio de archivos | Archivo (f) | Servicio (s) | Lectura (r) |
Establecer las propiedades del servicio de archivos | Archivo (f) | Servicio (s) | Escritura (w) |
Obtener estadísticas del recurso compartido | Archivo (f) | Contenedor (c) | Lectura (r) |
Crear un recurso compartido | Archivo (f) | Contenedor (c) | Create (c) o escritura (w) |
recurso compartido de instantáneas | Archivo (f) | Contenedor (c) | Create (c) o escritura (w) |
Obtención de propiedades de recursos compartidos | Archivo (f) | Contenedor (c) | Lectura (r) |
Establecer las propiedades de recursos compartidos | Archivo (f) | Contenedor (c) | Escritura (w) |
Obtención de metadatos del recurso compartido | Archivo (f) | Contenedor (c) | Lectura (r) |
Establecer metadatos de recursos compartidos | Archivo (f) | Contenedor (c) | Escritura (w) |
Eliminar recurso compartido | Archivo (f) | Contenedor (c) | Eliminar (d) |
Directorios y archivos de lista | Archivo (f) | Contenedor (c) | Lista (l) |
Crear directorio | Archivo (f) | Objeto (o) | Create (c) o Escritura (w) |
Obtención de propiedades de 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) |
archivo de Create (crear nuevo) | Archivo (f) | Objeto (o) | Create (c) o Escritura (w) |
archivo de Create (sobrescribir existente) | Archivo (f) | Objeto (o) | Escritura (w) |
Get File | Archivo (f) | Objeto (o) | Lectura (r) |
Get Container Properties | Archivo (f) | Objeto (o) | Lectura (r) |
Obtener metadatos de archivo | Archivo (f) | Objeto (o) | Lectura (r) |
Set File Metadata | Archivo (f) | Objeto (o) | Escritura (w) |
Eliminar archivo | Archivo (f) | Objeto (o) | Eliminar (d) |
Cambiar nombre de archivo | Archivo (f) | Objeto (o) | Eliminar (d) o Escribir (w) |
Put Range | Archivo (f) | Objeto (o) | Escritura (w) |
List Ranges | Archivo (f) | Objeto (o) | Lectura (r) |
Anular copiar archivo | Archivo (f) | Objeto (o) | Escritura (w) |
Copiar archivo | Archivo (f) | Objeto (o) | Escritura (w) |
Borrar intervalo | Archivo (f) | Objeto (o) | Escritura (w) |
Ejemplo de identificador 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 recurso | https://myaccount.blob.core.windows.net/?restype=service&comp=properties |
El punto de conexión de servicio, con parámetros para obtener propiedades de servicio (cuando se llama con GET) o establecer propiedades de 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 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 blobs. |
Tipos de recursos | srt=sco |
La SAS se aplica a las operaciones de nivel de servicio, de contenedor y de objeto. |
Permisos | sp=rwlc |
Los permisos conceden acceso a las operaciones de lectura, escritura, lista y creación. |
Hora de inicio | st=2019-08-01T22%3A18%3A26Z |
Se especifica en hora UTC. Si desea que la SAS sea válida de inmediato, omita la hora de inicio. |
Hora de expiración | se=2019-08-10T02%3A23%3A26Z |
Se especifica 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, el mismo token de SAS también se puede usar para delegar el acceso a Get Blob Service Stats (lectura).
Consulte también
- Delegar el acceso con una firma de acceso compartido
- Creación de una SAS de delegación de usuario
- Create a service SAS (Creación de una SAS de servicio)
- Códigos de error de SAS