Uso de Azure Content Delivery Network con SAS
Importante
Azure CDN Estándar de Microsoft (clásico) se retirará el 30 de septiembre de 2027. Para evitar cualquier interrupción del servicio, es importante que migrar los perfiles de Azure CDN Estándar de Microsoft (clásico) al nivel Estándar o Premium de Azure Front Door hasta el 30 de septiembre de 2027. Para más información, consulte Retirada de Azure CDN Estándar de Microsoft (clásico).
Azure CDN de Edgio se retiró el 15 de enero de 2025. Para más información, consulte Preguntas más frecuentes sobre la retirada de Azure CDN de Edgio..
Al configurar una cuenta de almacenamiento para que Azure Content Delivery Network almacene el contenido en la caché, cualquier usuario que conozca las direcciones URL de los contenedores de almacenamiento tiene acceso de manera predeterminada a los archivos que haya cargado. Si quiere proteger los archivos de la cuenta de almacenamiento, puede cambiar el acceso de los contenedores de almacenamiento de público a privado. Pero si lo hace, nadie puede tener acceso a los archivos.
Si quiere conceder acceso limitado a contenedores de almacenamiento privado, puede usar la característica firma de acceso compartido (SAS) de la cuenta de Azure Storage. Una SAS es un identificador URI que concede derechos de acceso restringido a los recursos de Azure Storage sin exponer la clave de cuenta. Puede proporcionar una SAS a los clientes que no son de confianza para entregarles la clave de la cuenta de almacenamiento, pero a los que sí desea delegar acceso a ciertos recursos de la cuenta de almacenamiento. Mediante la distribución de un identificador URI de firma de acceso compartido a estos clientes, les concede acceso a un recurso durante un período de tiempo especificado.
Con una SAS, puede definir diversos parámetros de acceso a un blob, como horas de inicio y expiración, permisos (lectura o escritura) e intervalos IP. En este artículo se describe cómo usar SAS con Azure Content Delivery Network. Para más información sobre la característica SAS, incluido cómo crearla y sus opciones de parámetros, consulte Uso de firmas de acceso compartido (SAS).
Configurar Azure Content Delivery Network para trabajar con SAS de almacenamiento
Se recomiendan las dos opciones siguientes para usar SAS con Azure Content Delivery Network. En todas las opciones se presupone que ya ha creado una SAS en funcionamiento (consulte los requisitos previos).
Requisitos previos
Para comenzar, cree una cuenta de almacenamiento y, luego, genere una SAS para el recurso. Puede generar dos tipos de firmas de acceso compartido: una SAS de servicio o una SAS de cuenta. Para más información, consulte Tipos de firmas de acceso compartido.
Cuando haya generado un token de SAS, tiene acceso a su archivo de Blob Storage mediante la anexión de ?sv=<SAS token>
a la dirección URL. Esta dirección URL tiene el formato siguiente:
https://<account name>.blob.core.windows.net/<container>/<file>?sv=<SAS token>
Por ejemplo:
https://democdnstorage1.blob.core.windows.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=co&sp=r&se=2038-01-02T21:30:49Z&st=2018-01-02T13:30:49Z&spr=https&sig=QehoetQFWUEd1lhU5iOMGrHBmE727xYAbKJl5ohSiWI%3D
Para obtener más información sobre cómo establecer los parámetros, consulte Consideraciones sobre los parámetros de SAS y Parámetros de la firma de acceso compartido.
Uso de SAS con tránsito al almacenamiento de blobs desde Azure Content Delivery Network
Esta opción es la más simple y solo usa un único token de SAS, que se pasa desde Azure Content Delivery Network al servidor de origen.
Elija un punto de conexión, seleccione Reglas de caché y luego, en la lista Almacenamiento en caché de cadenas de consulta, elija Almacenar en caché todas las URL únicas.
Después de configurar SAS en la cuenta de almacenamiento, debe usar el token de SAS con las direcciones URL del punto de conexión de la red de entrega de contenido y del servidor de origen para acceder al archivo.
La dirección URL del punto de conexión de red de entrega de contenido resultante tiene el siguiente formato:
https://<endpoint hostname>.azureedge.net/<container>/<file>?sv=<SAS token>
Por ejemplo:
https://demoendpoint.azureedge.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D
Ajuste la duración de la caché mediante las reglas de caché o al agregar los encabezados
Cache-Control
en el servidor de origen. Debido a que Azure Content Delivery Network trata al token de SAS como una cadena de consulta sin formato, el procedimiento recomendado que debe seguirse es configurar una duración de la caché con la misma hora de expiración que la SAS o una anterior. De lo contrario, si un archivo se almacena en caché más tiempo que el que está activa la SAS, es posible acceder al archivo desde el servidor de origen de Azure Content Delivery Network una vez que haya transcurrido la hora de expiración de la SAS. Si esto ocurre y quiere que el archivo en caché no sea accesible, debe realizar una operación de purga en el archivo para eliminarlo de la memoria caché. Para obtener información sobre cómo establecer la duración de la caché en Azure Content Delivery Network, consulte Control del comportamiento del almacenamiento en caché de Azure Content Delivery Network con reglas de almacenamiento en caché.
Consideraciones sobre los parámetros de SAS
Dado que los parámetros de SAS no son visibles para Azure Content Delivery Network, Azure Content Delivery Network no puede cambiar su comportamiento de entrega en función de ellos. Las restricciones de parámetro definidas solo se aplican a las solicitudes que Azure Content Delivery Network realiza al servidor de origen, no para las solicitudes del cliente a Azure Content Delivery Network. Resulta importante tener en cuenta esta distinción cuando se establecen parámetros de SAS.
Nombre de parámetro de SAS | Descripción |
---|---|
Start | La hora en que Azure Content Delivery Network puede empezar a acceder al archivo de blob. Debido al desplazamiento del reloj (es decir, cuando la señal de un reloj llega a distintas horas para componentes diferentes), elija una hora 15 minutos antes si quiere que el recurso esté disponible de inmediato. |
End | Hora después de la cual Azure Content Delivery Network ya no puede acceder al archivo de blob. Todavía se puede acceder a los archivos almacenados en caché previamente en Azure Content Delivery Network. Para controlar la hora de expiración de los archivos, establezca la hora de expiración correspondiente en el token de seguridad de Azure Content Delivery Network o purgue el recurso. |
Direcciones IP permitidas | Opcional. |
Protocolos admitidos | Protocolos que se permiten para una solicitud realizada con la SAS de cuenta. Se recomienda la configuración HTTPS. |
Pasos siguientes
Para obtener más información acerca de SAS, vea los siguientes artículos:
- Uso de Firmas de acceso compartido (SAS)
- Firmas de acceso compartido, Parte 2: Creación y uso de una SAS con Almacenamiento de blobs
Para más información acerca de cómo configurar la autenticación por tokens, consulte Protección de recursos de Azure Content Delivery Network con la autenticación por tokens.