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 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).

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 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 tjänst-SAS eller konto-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 som är signerad med kontonyckeln. De typer av signaturer för delad åtkomst som är signerade med kontonyckeln är tjänsten SAS och kontots SAS.

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

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-portalen, PowerShell eller Azure CLI.

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

  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 :

    Screenshot showing the option to configure a SAS expiration policy is grayed out in the 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.

    Screenshot showing how to configure a SAS expiration policy in the 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 de här stegen för att tilldela den inbyggda principen till rätt omfång i Azure-portalen:

  1. I Azure-portalen 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.

    Screenshot showing how to select the built-in policy to monitor validity intervals for shared access signatures for your storage accounts

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

    Screenshot showing how to create the policy assignment

Ö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.

    Screenshot showing how to view the compliance report for the SAS expiration built-in policy

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