Share via


Azure Content Delivery Network gebruiken met SAS

Wanneer u een opslagaccount instelt voor Azure Content Delivery Network om inhoud in de cache op te slaan, heeft iedereen die de URL's voor uw opslagcontainers kent standaard toegang tot de bestanden die u hebt geüpload. Als u de bestanden in uw opslagaccount wilt beveiligen, kunt u de toegang van uw opslagcontainers instellen van openbaar naar privé. Als u dit echter doet, heeft niemand toegang tot uw bestanden.

Als u beperkte toegang tot persoonlijke opslagcontainers wilt verlenen, kunt u de SAS-functie (Shared Access Signature) van uw Azure-opslagaccount gebruiken. Een SAS is een URI die beperkte toegangsrechten verleent aan uw Azure Storage-resources zonder uw accountsleutel prijs te geven. U kunt een SAS opgeven voor clients die u niet vertrouwt met de sleutel van uw opslagaccount, maar aan wie u toegang tot bepaalde opslagaccountbronnen wilt delegeren. Door een Shared Access Signature-URI naar deze clients te distribueren, verleent u deze gedurende een opgegeven periode toegang tot een resource.

Met een SAS kunt u verschillende parameters voor toegang tot een blob definiëren, zoals begin- en verlooptijden, machtigingen (lezen/schrijven) en IP-bereiken. In dit artikel wordt beschreven hoe u SAS gebruikt met Azure Content Delivery Network. Zie Shared Access Signatures (SAS) gebruiken voor meer informatie over SAS, waaronder het maken ervan en de bijbehorende parameteropties.

Azure Content Delivery Network instellen voor gebruik met opslag-SAS

De volgende twee opties worden aanbevolen voor het gebruik van SAS met Azure Content Delivery Network. Bij alle opties wordt ervan uitgegaan dat u al een werkende SAS hebt gemaakt (zie vereisten).

Vereisten

Maak eerst een opslagaccount en genereer vervolgens een SAS voor uw asset. U kunt twee typen opgeslagen toegangshandtekeningen genereren: een service-SAS of een account-SAS. Zie Typen handtekeningen voor gedeelde toegang voor meer informatie.

Nadat u een SAS-token hebt gegenereerd, hebt u toegang tot uw blobopslagbestand door deze ?sv=<SAS token> toe te voegen aan uw URL. Deze URL heeft de volgende indeling:

https://<account name>.blob.core.windows.net/<container>/<file>?sv=<SAS token>

Voorbeeld:

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

Zie overwegingen voor SAS-parameters en Shared Access Signature-parameters voor meer informatie over het instellen van parameters.

Schermopname van de SAS-instellingen van het netwerk voor contentlevering.

Optie 1: SAS gebruiken met pass-through naar blob-opslag vanuit Azure Content Delivery Network

Deze optie is het eenvoudigst en maakt gebruik van één SAS-token, dat wordt doorgegeven van Azure Content Delivery Network aan de oorspronkelijke server.

  1. Selecteer een eindpunt, selecteer regels voor opslaan in cache en selecteer vervolgens elke unieke URL in de cachelijst van queryreeksen.

    Schermopname van de regels voor het opslaan van netwerkcaching van inhoudslevering.

  2. Nadat u SAS hebt ingesteld in uw opslagaccount, moet u het SAS-token gebruiken met het eindpunt van het netwerk voor contentlevering en url's van de oorspronkelijke server voor toegang tot het bestand.

    De resulterende URL van het netwerkeindpunt voor contentlevering heeft de volgende indeling: https://<endpoint hostname>.azureedge.net/<container>/<file>?sv=<SAS token>

    Voorbeeld:

    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

  3. Verfijn de cacheduur met behulp van regels voor opslaan in cache of door headers toe te voegen Cache-Control op de oorspronkelijke server. Omdat Azure Content Delivery Network het SAS-token behandelt als een gewone querytekenreeks, moet u als best practice een cacheduur instellen die verloopt op of vóór de SAS-verlooptijd. Als een bestand gedurende een langere periode in de cache wordt opgeslagen dan de SAS actief is, is het bestand mogelijk toegankelijk vanaf de oorspronkelijke Server van het Azure Content Delivery Network nadat de SAS-verlooptijd is verstreken. Als deze situatie zich voordoet en u het in de cache opgeslagen bestand ontoegankelijk wilt maken, moet u een opschoningsbewerking uitvoeren op het bestand om het uit de cache te wissen. Zie Voor informatie over het instellen van de cacheduur in Azure Content Delivery Network het cachegedrag van Azure Content Delivery Network met regels voor opslaan in cache.

Optie 2: Netwerkbeveiligingstokenverificatie voor contentlevering gebruiken met een herschrijfregel

Als u azure Content Delivery Network-beveiligingstokenverificatie wilt gebruiken, moet u een Azure CDN Premium van Edgio-profiel hebben. Deze optie is de veiligste en aanpasbare optie. Clienttoegang is gebaseerd op de beveiligingsparameters die u hebt ingesteld op het beveiligingstoken. Nadat u het beveiligingstoken hebt gemaakt en ingesteld, is dit vereist voor alle URL's van het netwerkeindpunt voor contentlevering. Vanwege de regel voor het herschrijven van url's is het SAS-token echter niet vereist voor het netwerkeindpunt voor contentlevering. Als het SAS-token later ongeldig wordt, kan Azure Content Delivery Network de inhoud van de oorspronkelijke server niet opnieuwvalideren.

  1. Maak een Azure Content Delivery Network-beveiligingstoken en activeer het met behulp van de regelengine voor het netwerkeindpunt voor contentlevering en het pad waar uw gebruikers toegang hebben tot het bestand.

    Een eindpunt-URL voor een beveiligingstoken heeft de volgende indeling:

    https://<endpoint hostname>.azureedge.net/<container>/<file>?<security_token>

    Voorbeeld:

    https://sasstoragedemo.azureedge.net/container1/demo.jpg?a4fbc3710fd3449a7c99986bkquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

    De parameteropties voor een verificatie van een beveiligingstoken verschillen van de parameteropties voor een SAS-token. Als u ervoor kiest om een verlooptijd te gebruiken wanneer u een beveiligingstoken maakt, moet u dit instellen op dezelfde waarde als de verlooptijd voor het SAS-token. Dit zorgt ervoor dat de verlooptijd voorspelbaar is.

  2. Gebruik de regelengine om een regel voor het herschrijven van URL's te maken om toegang tot alle blobs in de container in te schakelen voor SAS-token. Het duurt maximaal 4 uur voordat nieuwe regels zijn doorgegeven.

    De volgende voorbeeld-URL-herschrijfregel maakt gebruik van een normaal expressiepatroon met een vastleggende groep en een eindpunt met de naam sasstoragedemo:

    Bron:

    (container1/.*)

    Bestemming:

    $1&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%3DSchermopname van de regel voor het herschrijven van de netwerk-URL voor contentlevering, links.Schermopname van de regel voor het herschrijven van de netwerk-URL voor contentlevering - rechts.

  3. Als u de SAS vernieuwt, moet u ervoor zorgen dat u de REGEL voor het herschrijven van de URL bijwerkt met het nieuwe SAS-token.

Overwegingen voor SAS-parameters

Omdat SAS-parameters niet zichtbaar zijn voor Azure Content Delivery Network, kan Azure Content Delivery Network het leveringsgedrag ervan niet wijzigen op basis van deze parameters. De gedefinieerde parameterbeperkingen gelden alleen voor aanvragen die azure Content Delivery Network doet op de oorspronkelijke server, niet voor aanvragen van de client naar Azure Content Delivery Network. Dit onderscheid is belangrijk om rekening mee te houden wanneer u SAS-parameters instelt. Als deze geavanceerde mogelijkheden vereist zijn en u optie 2 gebruikt, stelt u de juiste beperkingen in voor het azure Content Delivery Network-beveiligingstoken.

SAS-parameternaam Beschrijving
Start Het tijdstip waarop Azure Content Delivery Network toegang kan krijgen tot het blobbestand. Als gevolg van klokverschil (wanneer een kloksignaal op verschillende tijdstippen voor verschillende onderdelen aankomt), kiest u een tijd van 15 minuten eerder als u wilt dat de asset onmiddellijk beschikbaar is.
Eind De tijd waarna Azure Content Delivery Network geen toegang meer heeft tot het blobbestand. Eerder in de cache opgeslagen bestanden in Azure Content Delivery Network zijn nog steeds toegankelijk. Als u de verlooptijd van het bestand wilt beheren, stelt u de juiste verlooptijd in op het Azure Content Delivery Network-beveiligingstoken of schoont u de asset op.
Toegestane IP-adressen Optioneel. Als u Azure CDN van Edgio gebruikt, kunt u deze parameter instellen op de bereiken die zijn gedefinieerd in Azure Content Delivery Network vanuit IP-adresbereiken van Edgio Edge Server.
Toegestane protocollen De protocollen die zijn toegestaan voor een aanvraag die is gedaan met de account-SAS. De HTTPS-instelling wordt aanbevolen.

Volgende stappen

Zie de volgende artikelen voor meer informatie over SAS:

Zie Azure Content Delivery Network-assets beveiligen met tokenverificatie voor meer informatie over het instellen van tokenverificatie.