(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Cómo generar un SAS token para un blob en Azure con la CLI

João Barros 11 de July de 2026 4 min de lectura

Un SAS token (Shared Access Signature) concede acceso temporal a un archivo guardado en Azure Storage sin compartir la clave de la cuenta ni hacer público el blob. Con la Azure CLI puedes generar un SAS token para un blob en pocos segundos, eligiendo los permisos y la fecha de expiración. Es la forma más segura de compartir un informe, una imagen o una copia de seguridad por tiempo limitado, y a continuación aprenderás a hacerlo paso a paso.

Requisitos previos

  • Acceso a Azure Cloud Shell (Bash) en el portal — no requiere instalación — o la Azure CLI instalada localmente.
  • Una cuenta de almacenamiento (Storage Account) con un contenedor y un blob (archivo) ya subido.
  • El rol Storage Blob Data Reader (o Contributor) asignado a tu cuenta, para generar el SAS sin usar la clave de la cuenta.

Paso 1: Abrir Cloud Shell y confirmar el blob

En el portal de Azure, abre Cloud Shell y elige el entorno Bash. Una gran ventaja de Cloud Shell es que ya estás autenticado, así que no necesitas ejecutar az login. Lista los archivos del contenedor para confirmar el nombre exacto del blob que quieres compartir:

az storage blob list \
  --account-name aminhaconta \
  --container-name documentos \
  --auth-mode login \
  --output table

Si tu archivo aparece en la tabla, estás listo para continuar. Anota el nombre exacto, porque lo necesitarás enseguida.

Paso 2: Guardar los nombres en variables

Para que el comando final quede más limpio y fácil de reutilizar, guarda el nombre de la cuenta, del contenedor y del blob en variables. Sustituye los valores de ejemplo por los tuyos:

conta="aminhaconta"
contentor="documentos"
blob="relatorio-2026.pdf"

Así, si más tarde quieres generar otro SAS token, solo necesitas cambiar estos tres valores y repetir el comando final.

Paso 3: Definir la fecha de expiración

Un buen SAS token siempre tiene una vigencia corta: cuanto menor sea la ventana de tiempo, menor será el riesgo. Puedes indicar una fecha fija en formato ISO 8601 en UTC (por ejemplo 2026-07-12T18:00Z) o calcularla automáticamente. El comando siguiente crea una expiración dentro de dos horas y te muestra el valor:

expiry=$(date -u -d "+2 hours" '+%Y-%m-%dT%H:%MZ')
echo "$expiry"

Comprueba en pantalla que la fecha tiene sentido antes de avanzar. Recuerda que una user delegation SAS puede tener, como máximo, 7 días de validez.

Paso 4: Generar el SAS token

Llegamos al paso principal: generar el SAS token para el blob. El método recomendado usa tu identidad de Microsoft Entra mediante --auth-mode login --as-user, por lo que no expone la clave de la cuenta:

az storage blob generate-sas \
  --account-name "$conta" \
  --container-name "$contentor" \
  --name "$blob" \
  --permissions r \
  --expiry "$expiry" \
  --auth-mode login \
  --as-user \
  --full-uri \
  --output tsv

Vale la pena entender cada opción: --permissions r concede solo lectura (podrías usar w para escritura o d para eliminar); --as-user crea una user delegation SAS, firmada por tu identidad y no por la clave de la cuenta; y --full-uri devuelve directamente la URL completa, lista para usar. El resultado se imprime en la terminal gracias a --output tsv.

Verificar el resultado

El comando devuelve una dirección parecida a esta (aquí acortada):

https://aminhaconta.blob.core.windows.net/documentos/relatorio-2026.pdf?sv=2024-11-04&se=2026-07-12T18:00Z&sr=b&sp=r&sig=...

Abre esa URL en una ventana de incógnito del navegador o pruébala con curl para confirmar que la descarga funciona:

curl -o teste.pdf "PEGA_AQUI_LA_URL_CON_SAS"

Una vez pasada la fecha de expiración, la misma URL deja de funcionar y devuelve un error de autenticación. Ese comportamiento es exactamente el esperado y demuestra que el acceso es realmente temporal.

Conclusión

Con un SAS token pasas a controlar exactamente quién accede a un archivo y durante cuánto tiempo, sin revelar secretos ni hacer nada público. A partir de aquí puedes explorar otros permisos, generar un SAS a nivel de contenedor para compartir varios archivos a la vez, o automatizar este comando dentro de un script. ¿Cuál será el primer archivo que compartirás de forma segura con un SAS token?