Konfigurieren einer Ablaufrichtlinie für Shared Access Signatures

Sie können eine Shared Access Signature (SAS) verwenden, um den Zugriff auf Ressourcen in Ihrem Azure Storage-Konto zu delegieren. Ein SAS-Token enthält die Zielressource, die gewährten Berechtigungen und das Intervall, über das der Zugriff zulässig ist. Gemäß bewährten Methoden wird empfohlen, das Intervall für eine SAS für den Fall zu beschränken, dass sie kompromittiert wird. Durch das Festlegen einer SAS-Ablaufrichtlinie für Ihre Speicherkonten können Sie eine empfohlene Obergrenze für den Ablauf angeben, wenn ein Benutzer eine Dienst- oder Konto-SAS erstellt.

Weitere Informationen zu SAS (Shared Access Signatures) finden Sie unter Gewähren von eingeschränktem Zugriff auf Azure Storage-Ressourcen mithilfe von SAS (Shared Access Signature).

Grundlegendes zu SAS-Ablaufrichtlinien

Sie können eine SAS-Ablaufrichtlinie für das Speicherkonto konfigurieren. Die SAS-Ablaufrichtlinie gibt die empfohlene Obergrenze für das Feld zur Festlegung des Gültigkeitsablaufs einer Dienst- oder Konto-SAS an. Die empfohlene Obergrenze wird als Datums-/Uhrzeitwert angegeben, und zwar als eine kombinierte Anzahl von Tagen, Stunden, Minuten und Sekunden.

Das Gültigkeitsintervall für die SAS wird berechnet, indem der Datums-/Uhrzeitwert des Felds zum Gültigkeitsbeginn vom Datums-/Uhrzeitwert des Felds zum Gültigkeitsablauf subtrahiert wird. Wenn der Ergebniswert kleiner oder gleich der empfohlenen Obergrenze ist, dann erfüllt die SAS die SAS-Ablaufrichtlinie.

Nach dem Konfigurieren der SAS-Ablaufrichtlinie wird den Benutzern eine Warnung angezeigt, wenn sie eine Dienst-SAS oder Konto-SAS mit einem Intervall erstellen, das die empfohlene Obergrenze überschreitet.

Eine SAS-Ablaufrichtlinie verhindert nicht, dass ein Benutzer eine SAS mit einem Ablauf erstellt, der den von der Richtlinie empfohlenen Grenzwert überschreitet. Wenn ein Benutzer eine SAS erstellt, die gegen die Richtlinie verstößt, wird eine Warnung zusammen mit dem empfohlenen maximalen Intervall angezeigt. Wenn Sie eine Diagnoseeinstellung für die Protokollierung mit Azure Monitor konfiguriert haben, zeichnet Azure Storage eine Meldung in der Eigenschaft SasExpiryStatus in den Protokollen auf, wenn ein Benutzer eine SAS verwendet, die nach dem empfohlenen Intervall abläuft. Die Meldung gibt an, dass das Gültigkeitsintervall der SAS das empfohlene Intervall überschreitet.

Wenn eine SAS-Ablaufrichtlinie für das Speicherkonto in Kraft ist, ist das Feld zum Gültigkeitsbeginn für jede SAS erforderlich. Wenn das Feld zum Gültigkeitsbeginn nicht in der SAS enthalten ist und Sie eine Diagnoseeinstellung für die Protokollierung mit Azure Monitor konfiguriert haben, zeichnet Azure Storage eine Meldung in der Eigenschaft SasExpiryStatus in den Protokollen auf, wenn ein Benutzer eine SAS ohne einen Wert für das Feld zum Gültigkeitsbeginn verwendet.

Konfigurieren einer Richtlinie für den SAS-Ablauf

Wenn Sie eine SAS-Ablaufrichtlinie für ein Speicherkonto konfigurieren, gilt die Richtlinie für jeden SAS-Typ, der mit dem Kontoschlüssel signiert ist. Die beiden SAS-Typen, die mit dem Kontoschlüssel signiert werden, sind die Dienst-SAS und die Konto-SAS.

Muss ich zuerst die Kontozugriffsschlüssel rotieren?

Damit Sie eine Richtlinie für den SAS-Ablauf konfigurieren können, müssen möglicherweise alle Kontozugriffsschlüssel mindestens einmal rotiert werden. Wenn die Eigenschaft keyCreationTime des Speicherkontos einen NULL-Wert für einen der Kontozugriffsschlüssel (key1 und key2) aufweist, müssen Sie diese rotieren. Informationen zum Ermitteln, ob die Eigenschaft keyCreationTime NULL ist, finden Sie unter Abrufen der Erstellungszeit der Kontozugriffsschlüssel für ein Speicherkonto. Wenn Sie versuchen, eine SAS-Ablaufrichtlinie zu konfigurieren, und die Schlüssel zuerst rotiert werden müssen, schlägt der Vorgang fehl.

Konfigurieren einer SAS-Ablaufrichtlinie

Sie können eine SAS-Ablaufrichtlinie über das Azure-Portal, PowerShell oder die Azure CLI konfigurieren.

Führen Sie die folgenden Schritte aus, um eine SAS-Ablaufrichtlinie im Azure-Portal zu konfigurieren:

  1. Navigieren Sie zum Speicherkonto im Azure-Portal.

  2. Klicken Sie unter Einstellungen auf Konfiguration.

  3. Suchen Sie die Einstellung Empfohlene Obergrenze für das SAS (Shared Access Signature)-Ablaufintervall zulassen, und legen Sie sie auf Aktiviertfest.

    Hinweis

    Wenn die Einstellung abgeblendet ist und die in der folgenden Abbildung dargestellte Meldung angezeigt wird, müssen Sie beide Kontozugriffsschlüssel rotieren, bevor Sie die Werte für Empfohlene Obergrenze für das SAS-Ablaufintervall festlegen können:

    Screenshot showing the option to configure a SAS expiration policy is grayed out in the Azure portal.

  4. Geben Sie unter Empfohlene Obergrenze für das SAS-Ablaufintervall die Zeitwerte für das empfohlene Intervall für neue Shared Access Signatures an, die für Ressourcen in diesem Speicherkonto erstellt werden.

    Screenshot showing how to configure a SAS expiration policy in the Azure portal.

  5. Wählen Sie Speichern, um Ihre Änderungen zu speichern.

Abfrageprotokolle für Richtlinienverstöße

Erstellen Sie zunächst eine Diagnoseeinstellung, die Protokolle an einen Azure Log Analytics-Arbeitsbereich sendet, um die Verwendung einer SAS zu protokollieren, die über ein längeres Intervall gültig ist, als von der SAS-Ablaufrichtlinie empfohlen. Weitere Informationen finden Sie unter Senden von Protokollen an Azure Log Analytics.

Verwenden Sie als Nächstes eine Azure Monitor-Protokollabfrage, um zu überwachen, ob die Richtlinie verletzt wurde. Erstellen Sie eine neue Abfrage in Ihrem Log Analytics-Arbeitsbereich, fügen Sie den folgenden Abfragetext hinzu, und klicken Sie auf Ausführen.

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

Verwenden einer integrierten Richtlinie zum Überwachen auf Einhaltung

Sie können Ihre Speicherkonten mit Azure Policy überwachen, um sicherzustellen, dass für Speicherkonten in Ihrem Abonnement SAS-Ablaufrichtlinien konfiguriert wurden. Azure Storage bietet eine integrierte Richtlinie, mit der Sie sicherstellen können, dass diese Einstellung für Konten konfiguriert ist. Weitere Informationen zur integrierten Richtlinie finden Sie unter Für Storage-Konten sollten SAS-Richtlinien (Shared Access Signature) konfiguriert sein in der Liste der integrierten Richtliniendefinitionen.

Zuweisen der integrierten Richtlinie für einen Ressourcenbereich

Führen Sie die folgenden Schritte aus, um die integrierte Richtlinie dem entsprechenden Bereich im Azure-Portal zuzuweisen:

  1. Suchen Sie im Azure-Portal nach Richtlinie, um das Azure Policy-Dashboard anzuzeigen.

  2. Wählen Sie im Abschnitt Erstellen die Option Zuweisungen aus.

  3. Wählen Sie Richtlinie zuweisen aus.

  4. Geben Sie auf der Registerkarte Allgemeine Informationen der Seite Richtlinie zuweisen im Abschnitt Bereich den Bereich für die Richtlinienzuweisung an. Wählen Sie die Schaltfläche Mehr aus, um das Abonnement und ggf. die Ressourcengruppe auszuwählen.

  5. Wählen Sie für das Feld Richtliniendefinition die Schaltfläche Mehr aus, und geben Sie Speicherkontoschlüssel in das Feld Suchen ein. Wählen Sie die Richtliniendefinition namens Speicherkontoschlüssel sollten nicht abgelaufen sein aus.

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

  6. Wählen Sie Überprüfen + erstellen aus, um die Richtliniendefinition dem angegebenen Bereich zuzuweisen.

    Screenshot showing how to create the policy assignment

Überwachen der Einhaltung der Schlüsselablaufrichtlinie

Führen Sie die folgenden Schritte aus, um Ihre Speicherkonten auf die Einhaltung der Schlüsselablaufrichtlinie zu überwachen:

  1. Suchen Sie im Azure Policy-Dashboard die Definition der integrierten Richtlinie für den Bereich, den Sie in der Richtlinienzuweisung angegeben haben. Sie können nach Storage accounts should have shared access signature (SAS) policies configured im Suchfeld suchen, um nach der integrierten Richtlinie zu filtern.

  2. Wählen Sie den Namen der Richtlinie mit dem gewünschten Bereich aus.

  3. Wählen Sie auf der Seite Richtlinienzuweisung für die integrierte Richtlinie die Option Konformität anzeigen aus. Alle Speicherkonten im angegebenen Abonnement und in der Ressourcengruppe, welche die Richtlinienanforderungen nicht erfüllen, werden im Konformitätsbericht angezeigt.

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

Um Compliance für ein Speicherkonto bereitzustellen, konfigurieren Sie eine SAS-Ablaufrichtlinie für dieses Konto, wie unter Konfigurieren einer Richtlinie für den SAS-Ablauf beschrieben.

Weitere Informationen