2015-03-13 3 views
6

Je tente d'incorporer Azure pour stocker la majorité de mes fichiers pour une application. Je veux télécharger ces fichiers vers un conteneur privé et un blob privé dans azure, et faire copier ces ajouts via le CDN Azure vers tous les autres nœuds (toujours en tant que conteneurs privés et blobs). Je veux ensuite que mon application fasse une demande à un blob stocké, et donne-moi le lien de la signature d'accès partagé au blob pendant un certain temps. Cependant, je veux que le lien généré soit donné pour le centre de données le plus proche de l'utilisateur. Je vais générer le SAS chaque fois qu'un blob est nécessaire, mais je dois pouvoir utiliser l'option SAS à travers le CDN. Est-ce possible avec Azure ou puis-je utiliser SAS avec un seul centre de données?Utilisation de CDN Azure avec des signatures d'accès partagées

Modifier je ne voudrais notre CDN d'agir comme si sa copie de notre centre de données principal, donc je ne veux pas que les objets CDN à retirer jamais à moins qu'ils soient retirés du centre de données principal. Si je crée un SAS et le lance à la fin de l'URL du CDN, si la date d'expiration sur le SAS est dépassée, mais pas la durée du cache, l'utilisateur pourrait-il revenir et accéder au fichier?

Heres mon exemple:

Il est évident que l'utilisateur peut accéder à cette URL jusqu'à 01/04/2015, mais s'ils reviennent sur 2/4/2015, auraient-ils encore accès? Par exemple, disons que je mets l'en-tête de contrôle de cache du blob à expirer en même temps que l'URL SAS, qui est également après la durée du cache. J'ai alors un utilisateur qui revient pour ce même blob le 08/04/2015, on génèrerait un nouveau SAS et le donnerais à l'utilisateur, le blob serait-il toujours sur le CDN ou l'en-tête de contrôle du cache le supprimerait du CDN ?

Répondre

5

Vous pouvez utiliser des URL SAS avec le CDN. Tout ce que vous devez faire est de fournir la bonne signature SAS ajoutée à l'URL du CDN.

Il ressemblerait à ceci:

Quelques mises en garde avec cette approche:

  • Toute personne avec cette URL peut accéder au fichier, vous devez avoir un mécanisme pour maintenir cette URL privée. Cela signifie également que si l'URL s'échappe, tout le monde peut accéder au fichier, vous devez donc déterminer si ce niveau de sécurité est acceptable. Le CDN mettra en cache l'objet en utilisant l'URL complète, y compris SAS, de sorte que l'objet mis en cache sera valide pour la durée du cache qui est de 7 jours par défaut. Cela signifie que vous devez vous assurer que les en-têtes de contrôle de cache sur le blob ont la même durée que votre URL SAS afin que l'objet CDN mis en cache expire en même temps que l'URL SAS.
+0

Voir mon article original pour plus d'info/clarification. – SchaF