Dela via


Använda Azure Content Delivery Network med SAS

Viktigt!

Azure CDN Standard från Microsoft (klassisk) dras tillbaka den 30 september 2027. För att undvika avbrott i tjänsten är det viktigt att du migrerar din Azure CDN Standard från Microsofts (klassiska) profiler till Azure Front Door Standard- eller Premium-nivån senast den 30 september 2027. Mer information finns i Azure CDN Standard från Microsoft (klassisk) tillbakadragning.

När du konfigurerar ett lagringskonto för Azure Content Delivery Network som ska användas för att cachelagrar innehåll kan alla som känner till URL:erna för dina lagringscontainrar som standard komma åt de filer som du har laddat upp. För att skydda filerna i ditt lagringskonto kan du ange åtkomsten för dina lagringscontainrar från offentlig till privat. Men om du gör det kan ingen komma åt dina filer.

Om du vill bevilja begränsad åtkomst till privata lagringscontainrar kan du använda sas-funktionen (Signatur för delad åtkomst) i ditt Azure Storage-konto. En SAS är en URI som ger begränsad åtkomst till dina Azure-lagringsresurser utan att du exponerar din kontonyckel. Du kan ange en SAS till klienter som du inte litar på med din lagringskontonyckel men som du vill delegera åtkomst till vissa lagringskontoresurser till. Genom att distribuera en URI för signatur för delad åtkomst till dessa klienter ger du dem åtkomst till en resurs under en angiven tidsperiod.

Med en SAS kan du definiera olika parametrar för åtkomst till en blob, till exempel start- och förfallotider, behörigheter (läsning/skrivning) och IP-intervall. Den här artikeln beskriver hur du använder SAS med Azure Content Delivery Network. Mer information om SAS, inklusive hur du skapar den och dess parameteralternativ, finns i Använda signaturer för delad åtkomst (SAS).

Konfigurera Azure Content Delivery Network för att fungera med lagrings-SAS

Följande två alternativ rekommenderas för att använda SAS med Azure Content Delivery Network. Alla alternativ förutsätter att du redan har skapat en fungerande SAS (se förutsättningar).

Förutsättningar

Börja genom att skapa ett lagringskonto och sedan generera en SAS för din tillgång. Du kan generera två typer av lagrade åtkomstsignaturer: en tjänst-SAS eller ett konto-SAS. Mer information finns i Typer av signaturer för delad åtkomst.

När du har genererat en SAS-token kan du komma åt bloblagringsfilen genom att lägga ?sv=<SAS token> till din URL. Den här URL:en har följande format:

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

Till exempel:

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

Mer information om hur du anger parametrar finns i PARAMETRAR för SAS-parametern och parametrar för signatur för delad åtkomst.

Skärmbild av SAS-inställningarna för innehållsleveransnätverket.

Alternativ 1: Använda SAS med direktströmning till bloblagring från Azure Content Delivery Network

Det här alternativet är det enklaste och använder en enda SAS-token som skickas från Azure Content Delivery Network till ursprungsservern.

  1. Välj en slutpunkt, välj Cachelagringsregler och välj sedan Cachelagra varje unik URL från cachelagringslistan för frågesträngar .

    Skärmbild av cachelagringsregler för innehållsleveransnätverket.

  2. När du har konfigurerat SAS på ditt lagringskonto måste du använda SAS-token med innehållsleveransens nätverksslutpunkt och url:er för ursprungsservern för att få åtkomst till filen.

    Den resulterande innehållsleveransens nätverksslutpunkts-URL har följande format: https://<endpoint hostname>.azureedge.net/<container>/<file>?sv=<SAS token>

    Till exempel:

    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. Finjustera cachevaraktigheten antingen med hjälp av cachelagringsregler eller genom att lägga till Cache-Control rubriker på ursprungsservern. Eftersom Azure Content Delivery Network behandlar SAS-token som en vanlig frågesträng bör du som bästa praxis konfigurera en cachelagringstid som upphör att gälla vid eller före SAS-förfallotiden. Om en fil cachelagras under en längre tid än sas är aktiv kan filen vara tillgänglig från ursprungsservern för Azure Content Delivery Network när SAS-förfallotiden har gått ut. Om den här situationen inträffar och du vill göra den cachelagrade filen otillgänglig måste du utföra en rensningsåtgärd på filen för att rensa den från cacheminnet. Information om hur du anger cachevaraktighet i Azure Content Delivery Network finns i Kontrollera cachelagringsbeteendet för Azure Content Delivery Network med cachelagringsregler.

Alternativ 2: Använda nätverkssäkerhetstokenautentisering för innehållsleverans med en omskrivningsregel

Om du vill använda säkerhetstokenautentisering för Azure Content Delivery Network måste du ha en Azure CDN Premium från Edgio-profilen . Det här alternativet är det säkraste och mest anpassningsbara alternativet. Klientåtkomst baseras på de säkerhetsparametrar som du anger på säkerhetstoken. När du har skapat och konfigurerat säkerhetstoken krävs den på alla innehållsleveransnätverksslutpunkts-URL:er. Men på grund av url-omskrivningsregeln krävs inte SAS-token på nätverksslutpunkten för innehållsleverans. Om SAS-token senare blir ogiltig kan Azure Content Delivery Network inte återanvända innehållet från ursprungsservern.

  1. Skapa en säkerhetstoken för Azure Content Delivery Network och aktivera den med hjälp av regelmotorn för innehållsleveransens nätverksslutpunkt och sökväg där användarna kan komma åt filen.

    En slutpunkts-URL för säkerhetstoken har följande format:

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

    Till exempel:

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

    Parameteralternativen för en säkerhetstokenautentisering skiljer sig från parameteralternativen för en SAS-token. Om du väljer att använda en förfallotid när du skapar en säkerhetstoken bör du ange den till samma värde som förfallotiden för SAS-token. Detta säkerställer att förfallotiden är förutsägbar.

  2. Använd regelmotorn för att skapa en URL-omskrivningsregel för att aktivera SAS-tokenåtkomst till alla blobar i containern. Det tar upp till 4 timmar att sprida nya regler.

    Följande exempelregel för URL-omskrivning använder ett mönster för reguljära uttryck med en insamlingsgrupp och en slutpunkt med namnet sasstoragedemo:

    Källa:

    (container1/.*)

    Mål:

    $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%3DSkärmbild av innehållsleveransens nätverks-URL Skriv om regel – vänster.Skärmbild av innehållsleveransens nätverks-URL Skriv om regel – höger.

  3. Om du förnyar SAS kontrollerar du att du uppdaterar url-omskrivningsregeln med den nya SAS-token.

Överväganden för SAS-parameter

Eftersom SAS-parametrar inte är synliga för Azure Content Delivery Network kan Azure Content Delivery Network inte ändra sitt leveransbeteende baserat på dem. De definierade parameterbegränsningarna gäller endast för begäranden som Azure Content Delivery Network gör till ursprungsservern, inte för begäranden från klienten till Azure Content Delivery Network. Den här skillnaden är viktig att tänka på när du anger SAS-parametrar. Om dessa avancerade funktioner krävs och du använder alternativ 2 anger du lämpliga begränsningar för säkerhetstoken för Azure Content Delivery Network.

SAS-parameternamn beskrivning
Start Den tid då Azure Content Delivery Network kan börja komma åt blobfilen. På grund av klocksnedställning (när en klocksignal kommer vid olika tidpunkter för olika komponenter) väljer du en tid 15 minuter tidigare om du vill att tillgången ska vara tillgänglig omedelbart.
Slut Den tid efter vilken Azure Content Delivery Network inte längre kan komma åt blobfilen. Tidigare cachelagrade filer i Azure Content Delivery Network är fortfarande tillgängliga. Om du vill kontrollera filens förfallotid anger du antingen lämplig förfallotid på säkerhetstoken för Azure Content Delivery Network eller rensar tillgången.
Tillåtna IP-adresser Valfritt. Om du använder Azure CDN från Edgio kan du ange den här parametern till de intervall som definieras i Azure Content Delivery Network från Edgio Edge Server IP-intervall.
Tillåtna protokoll Protokollen som tillåts för en begäran som görs med kontots SAS. HTTPS-inställningen rekommenderas.

Nästa steg

Mer information om SAS finns i följande artiklar:

Mer information om hur du konfigurerar tokenautentisering finns i Skydda Azure Content Delivery Network-tillgångar med tokenautentisering.