Dela via


Konfigurera en förfalloprincip för signaturer för delad åtkomst

Du kan använda en signatur för delad åtkomst (SAS) för att delegera åtkomst till resurser i ditt Azure Storage-konto. En SAS-token innehåller målresursen, de behörigheter som beviljats och det intervall under vilket åtkomst tillåts. Metodtips rekommenderar att du begränsar intervallet för en SAS om den skulle komprometteras. Genom att ange en SAS-förfalloprincip för dina lagringskonton kan du ange en rekommenderad övre förfallogräns när en användare skapar en SAS för användardelegering, en tjänst-SAS eller ett konto-SAS.

Mer information om signaturer för delad åtkomst finns i Bevilja begränsad åtkomst till Azure Storage-resurser med hjälp av signaturer för delad åtkomst (SAS).

Viktigt!

För scenarier där signaturer för delad åtkomst används rekommenderar Microsoft att du använder en SAS för användardelegering. En SAS för användardelegering skyddas med Microsoft Entra-autentiseringsuppgifter i stället för kontonyckeln, vilket ger överlägsen säkerhet.

Om SAS-förfalloprinciper

Du kan konfigurera en SAS-förfalloprincip för lagringskontot. SAS-förfalloprincipen anger den rekommenderade övre gränsen för det signerade förfallofältet på en SAS för användardelegering, en tjänst-SAS eller ett konto-SAS. Den rekommenderade övre gränsen anges som ett datum/tid-värde som är ett kombinerat antal dagar, timmar, minuter och sekunder.

Giltighetsintervallet för SAS beräknas genom att värdet för datum/tid för det signerade startfältet subtraheras från datum-/tidsvärdet för det signerade förfallofältet. Om det resulterande värdet är mindre än eller lika med den rekommenderade övre gränsen är SAS i överensstämmelse med SAS-förfalloprincipen.

När du har konfigurerat SAS-förfalloprincipen visas en varning för alla användare som skapar en SAS med ett intervall som överskrider den rekommenderade övre gränsen.

En SAS-förfalloprincip hindrar inte en användare från att skapa en SAS med en förfallotid som överskrider den gräns som rekommenderas av principen. När en användare skapar en SAS som bryter mot principen visas en varning, tillsammans med det rekommenderade maximala intervallet. Om du har konfigurerat en diagnostikinställning för loggning med Azure Monitor skriver Azure Storage ett meddelande till egenskapen SasExpiryStatus i loggarna när en användare använder en SAS som upphör att gälla efter det rekommenderade intervallet. Meddelandet anger att giltighetsintervallet för SAS överskrider det rekommenderade intervallet.

När en SAS-förfalloprincip gäller för lagringskontot krävs det signerade startfältet för varje SAS. Om det signerade startfältet inte ingår i SAS och du har konfigurerat en diagnostikinställning för loggning med Azure Monitor skriver Azure Storage ett meddelande till egenskapen SasExpiryStatus i loggarna när en användare använder en SAS utan värde för det signerade startfältet.

Konfigurera en SAS-förfalloprincip

När du konfigurerar en SAS-förfalloprincip för ett lagringskonto gäller principen för varje typ av SAS: sas för användardelegering, tjänst-SAS och konto-SAS. SAS- och konto-SAS-typerna för tjänsten signeras med kontonyckeln, medan SAS för användardelegering är signerad med Microsoft Entra-autentiseringsuppgifter.

Kommentar

En SAS för användardelegering signeras med en användardelegeringsnyckel som hämtas med Microsoft Entra-autentiseringsuppgifter. Användarens delegeringsnyckel har ett eget utgångsintervall som inte omfattas av SAS-förfalloprincipen. SAS-förfalloprincipen gäller endast för sas för användardelegering, inte den användardelegeringsnyckel som den är signerad med.

En SAS för användardelegering har ett maximalt utgångsintervall på 7 dagar, oavsett SAS-förfalloprincipen. Om SAS-förfalloprincipen är inställd på ett värde som är större än 7 dagar har principen ingen effekt för en SAS för användardelegering. Om användardelegeringsnyckeln upphör att gälla är alla SAS-användardelegeringar som är signerade med den nyckeln ogiltiga och alla försök att använda SAS returnerar ett fel.

Behöver jag rotera kontoåtkomstnycklarna först?

Det här avsnittet gäller för SAS- och konto-SAS-typer som är signerade med kontonyckeln. Innan du kan konfigurera en SAS-förfalloprincip kan du behöva rotera var och en av dina kontoåtkomstnycklar minst en gång. Om egenskapen keyCreationTime för lagringskontot har ett null-värde för någon av kontoåtkomstnycklarna (key1 och key2) måste du rotera dem. Information om huruvida egenskapen keyCreationTime är null finns i Hämta skapandetiden för kontoåtkomstnycklarna för ett lagringskonto. Om du försöker konfigurera en SAS-förfalloprincip och nycklarna måste roteras först misslyckas åtgärden.

Så här konfigurerar du en SAS-förfalloprincip

Du kan konfigurera en SAS-förfalloprincip med hjälp av Azure Portal, PowerShell eller Azure CLI.

Följ dessa steg för att konfigurera en SAS-förfalloprincip i Azure Portal:

  1. Navigera till ditt lagringskonto i Azure-portalen.

  2. Under Inställningar väljer du Konfiguration.

  3. Leta upp inställningen för Tillåt rekommenderad övre gräns för sas-utgångsintervall (signatur för delad åtkomst) och ställ in den på Aktiverad.

    Kommentar

    Om inställningen är nedtonad och meddelandet visas i bilden nedan måste du rotera båda kontoåtkomstnycklarna innan du kan ange den rekommenderade övre gränsen för SAS-förfallointervallvärden :

    Skärmbild som visar alternativet för att konfigurera en SAS-förfalloprincip är nedtonat i Azure Portal.

  4. Ange tidsvärdena under Rekommenderad övre gräns för SAS-förfallointervall för det rekommenderade intervallet för alla nya signaturer för delad åtkomst som skapas på resurser i det här lagringskontot.

    Skärmbild som visar hur du konfigurerar en SAS-förfalloprincip i Azure Portal.

  5. Välj Spara för att spara dina ändringar.

Frågeloggar för principöverträdelser

Om du vill logga användningen av en SAS som är giltig över ett längre intervall än vad SAS-förfalloprincipen rekommenderar skapar du först en diagnostikinställning som skickar loggar till en Azure Log Analytics-arbetsyta. Mer information finns i Skicka loggar till Azure Log Analytics.

Använd sedan en Azure Monitor-loggfråga för att övervaka om principen har överträtts. Skapa en ny fråga på Log Analytics-arbetsytan, lägg till följande frågetext och tryck på Kör.

StorageBlobLogs 
| where SasExpiryStatus startswith "Policy violated"
| summarize count() by AccountName, SasExpiryStatus

Använda en inbyggd princip för att övervaka efterlevnad

Du kan övervaka dina lagringskonton med Azure Policy för att säkerställa att lagringskonton i din prenumeration har konfigurerat SAS-förfalloprinciper. Azure Storage tillhandahåller en inbyggd princip för att säkerställa att konton har den här inställningen konfigurerad. Mer information om den inbyggda principen finns i Lagringskonton bör ha sas-principer (signatur för delad åtkomst) konfigurerade i Lista över inbyggda principdefinitioner.

Tilldela den inbyggda principen för ett resursomfång

Följ dessa steg för att tilldela den inbyggda principen till rätt omfång i Azure Portal:

  1. I Azure Portal söker du efter Princip för att visa Instrumentpanelen för Azure Policy.

  2. I avsnittet Redigering väljer du Tilldelningar.

  3. Välj Tilldela princip.

  4. På fliken Grundinställningarsidan Tilldela princip anger du omfånget för principtilldelningen i avsnittet Omfång . Välj knappen Mer för att välja prenumerationen och den valfria resursgruppen.

  5. I fältet Principdefinition väljer du knappen Mer och anger lagringskontonycklar i fältet Sök . Välj principdefinitionen med namnet Lagringskontonycklar ska inte ha upphört att gälla.

    Skärmbild som visar hur du väljer den inbyggda principen för att övervaka giltighetsintervall för signaturer för delad åtkomst för dina lagringskonton

  6. Välj Granska + skapa för att tilldela principdefinitionen till det angivna omfånget.

    Skärmbild som visar hur du skapar principtilldelningen

Övervaka efterlevnaden av nyckelns förfalloprincip

Följ dessa steg för att övervaka dina lagringskonton för efterlevnad av nyckelförfalloprincipen:

  1. Leta upp den inbyggda principdefinitionen för det omfång som du angav i principtilldelningen på Instrumentpanelen för Azure Policy. Du kan söka efter Storage accounts should have shared access signature (SAS) policies configured i sökrutan för att filtrera efter den inbyggda principen.

  2. Välj principnamnet med önskat omfång.

  3. På sidan Principtilldelning för den inbyggda principen väljer du Visa efterlevnad. Alla lagringskonton i den angivna prenumerationen och resursgruppen som inte uppfyller principkraven visas i efterlevnadsrapporten.

    Skärmbild som visar hur du visar efterlevnadsrapporten för den inbyggda sas-förfalloprincipen

Om du vill att ett lagringskonto ska följas konfigurerar du en SAS-förfalloprincip för det kontot enligt beskrivningen i Konfigurera en SAS-förfalloprincip.

Se även