Freigeben über


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. Indem Sie eine SAS-Ablaufrichtlinie für Ihre Storage-Konten festlegen, können Sie eine obere Ablaufgrenze (maximales Gültigkeitsintervall) empfehlen oder erzwingen, wenn ein Benutzer eine Benutzerdelegierung SAS, einen Dienst SAS oder ein 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).

Wichtig

Für Szenarien, in denen Shared Access Signatures verwendet werden, empfiehlt Microsoft die Verwendung einer Benutzerdelegierungs-SAS. Ein SAS für die Benutzerdelegation wird mit Microsoft Entra Anmeldeinformationen anstelle des Kontoschlüssels gesichert, was eine höhere Sicherheit bietet.

Grundlegendes zu SAS-Ablaufrichtlinien

Sie können eine SAS-Ablaufrichtlinie für das Speicherkonto konfigurieren. Die SAS-Ablaufrichtlinie legt die Obergrenze für das Gültigkeitsintervall einer Benutzerdelegation SAS, eines Dienstes SAS oder eines Kontos SAS fest. Die 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 signierten Startfelds vom Datums-/Uhrzeitwert des signierten Ablauffeldes subtrahiert wird. Wenn der Ergebniswert kleiner oder gleich der empfohlenen Obergrenze ist, dann erfüllt die SAS die SAS-Ablaufrichtlinie.

Wenn eine SAS-Ablaufrichtlinie für das Speicherkonto in Kraft ist, ist das signierte Startfeld 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.

Nachdem Sie die SAS-Ablaufrichtlinie konfiguriert haben, wird jedem Benutzer, der einen SAS mit einem Intervall erstellt, das die empfohlene Obergrenze überschreitet, eine Warnung zusammen mit dem empfohlenen maximalen Intervall angezeigt.

Definieren Sie die SAS-Ablaufaktion

Die SAS-Ablaufrichtlinie unterstützt zwei Aktionen:

  • [Standard] Protokollieren: Anfragen, die mit SAS außerhalb der Richtlinie gestellt werden, sind möglich. 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. Diese Option wird für die Überwachung und Prüfung von Zugriffen empfohlen, ohne Workflows zu unterbrechen. 

  • Blockieren: Anfragen, die mit SAS außerhalb der Richtlinie gestellt werden, werden verweigert. Dies ist die strengste Option zur Durchsetzung von Zugriffssteuerungen in Übereinstimmung mit Ihren organisatorischen Anforderungen. 

Nicht richtlinienkonforme SAS sind solche, die keinen signierten Start haben oder deren Gültigkeitsintervall größer als die Obergrenze ist.

Beginnen Sie damit, Ihre aktuelle SAS-Token-Nutzung zu überprüfen und eine angemessene Richtlinie für das Auslaufen Ihrer Storage-Kontos festzulegen. Wir empfehlen, mit der Aktion Log zu beginnen, um Ihre Diagnoseprotokolle auf Verletzungen der Richtlinie zu überwachen. Wir empfehlen dringend, die Aktion Sperren zu verwenden, um sicherzustellen, dass der Zugriff auf den Storage blockiert werden muss, wenn ein SAS Token die Gültigkeit des auf dem Storage-Konto festgelegten Verfallszeitraums überschritten hat.

Wichtig

Die SAS-Ablaufaktion wird nicht unterstützt für die Delegierung von SAS-Benutzern über den HDFS-Endpunkt oder für gemeinsame Zugriffssignaturen auf Servicelevel mit einer gespeicherten Zugriffsrichtlinie.

Konfigurieren einer SAS-Ablaufrichtlinie

Wenn Sie eine SAS-Ablaufrichtlinie für ein Storage-Konto konfigurieren, gilt die Richtlinie für jeden SAS-Typ: Benutzer-Delegation SAS, Service SAS und Account SAS. Dienst-SAS und Konto-SAS werden mit dem Kontoschlüssel signiert, während Benutzerdelegierungs-SAS mit Anmeldeinformationen von Microsoft Entra signiert wird.

Eine Benutzerdelegierung-SAS wird mit einem Benutzerdelegierungsschlüssel signiert, der mit Microsoft Entra-Anmeldeinformationen abgerufen wird. Der Schlüssel der Benutzerdelegation hat ein eigenes Ablaufintervall, das nicht der Richtlinie für das Ablaufdatum der SAS unterliegt. Die SAS-Ablaufrichtlinie gilt nur für die Benutzerdelegierung-SAS, nicht für den Benutzerdelegierungsschlüssel, mit dem sie signiert ist.

Ein SAS der Benutzerdelegation hat ein maximales Ablaufintervall von 7 Tagen, unabhängig von der SAS-Ablaufrichtlinie. Wenn die SAS-Ablaufrichtlinie auf einen Wert von mehr als 7 Tagen festgelegt ist, hat die Richtlinie keine Wirkung für eine Benutzer-Delegation SAS. Wenn der Schlüssel der Benutzerdelegation abläuft, ist jeder mit diesem Schlüssel signierte Benutzerdelegations-SAS ungültig und jeder Versuch, den SAS zu verwenden, führt zu einem Fehler.

Azure File Sync erfordert ein Mindestintervall für den SAS-Ablauf von 3 Tagen. Wenn Sie den Oberen Grenzwert für das SAS-Ablaufintervall auf weniger als 3 Tage konfigurieren, wird verhindert, dass der Dateisynchronisierungs-Agent sein SAS-Token erneuert, wodurch Synchronisierungs- und Cloudrückrufvorgänge unterbrochen werden. Legen Sie die Obergrenze auf 3 Tage oder höher fest.

Muss ich zuerst die Kontozugriffsschlüssel rotieren?

Dieser Abschnitt gilt für Dienst-SAS und Konto-SAS, die mit dem Kontoschlüssel signiert sind. Bevor Sie eine SAS-Ablaufrichtlinie konfigurieren können, müssen Sie möglicherweise alle Kontozugriffsschlüssel mindestens einmal rotieren. 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, mit PowerShell oder der 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 für Ablaufrichtlinie für gemeinsame Zugriffssignatur (SAS) und legen Sie sie auf Aktiviert fest.

    Hinweis

    Wenn die Einstellung ausgegraut ist, müssen Sie möglicherweise beide Kontoschlüssel rotieren, bevor Sie eine Ablaufrichtlinie festlegen können.

  4. Geben Sie unter Obergrenze für SAS-Ablaufintervall einen Zeitwert für das gewünschte maximale Intervall für neue Shared Access Signatures an, die auf Ressourcen in diesem Storage-Konto erstellt werden.

  5. [Optional] Definieren Sie die Ablaufaktion. Die Standardaktion Protokollieren hilft Ihnen, Trends zu erkennen und den Zugriff zu untersuchen, ohne die Benutzenden zu stören, während Sie mit der Aktion Sperren eine Nulltoleranz für SAS-Tokens durchsetzen können, die nicht den Richtlinien entsprechen.

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

Screenshot: Konfigurieren einer SAS-Ablaufrichtlinie im Azure-Portal

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 der Compliance

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 Grundlagen 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, der zeigt, wie Sie die integrierte Richtlinie auswählen, um Gültigkeitsintervalle für freigegebene Zugriffssignaturen für Ihre Speicherkonten zu überwachen

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

    Screenshot zeigt das Erstellen der Richtlinienzuweisung

Überwachen der Compliance mit 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 zum Anzeigen des Complianceberichts für die integrierte SAS-Ablaufrichtlinie

Um die Konformität eines Speicherkontos herzustellen, konfigurieren Sie eine SAS-Ablaufrichtlinie für dieses Konto, wie unter Konfigurieren einer SAS-Ablaufrichtlinie beschrieben.

Weitere Informationen