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 oder eine Benutzerin eine Benutzerdelegierung-SAS, 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).
Wichtig
Für Szenarien, in denen SAS verwendet werden, empfiehlt Microsoft die Verwendung einer SAS für die Benutzerdelegierung. Eine Benutzerdelegierung-SAS wird mit Microsoft Entra-Anmeldeinformationen anstelle des Kontoschlüssels geschützt, was eine höhere Sicherheit bietet.
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 Benutzerdelegierung-, 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.
Nachdem Sie die Ablaufrichtlinie für SAS konfiguriert haben, wird allen Benutzern und Benutzerinnen, die einen SAS mit einem Intervall erstellen, das die empfohlene Obergrenze überschreitet, eine Warnung angezeigt.
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: Benutzerdelegierung-SAS, Dienst-SAS und Konto-SAS. Dienst-SAS- und Konto-SAS-Typen werden mit dem Kontoschlüssel signiert, während die SAS für die Benutzerdelegierung mit Microsoft Entra-Anmeldeinformationen signiert wird.
Hinweis
Eine Benutzerdelegierung-SAS wird mit einem Benutzerdelegierungsschlüssel signiert, der mit Microsoft Entra-Anmeldeinformationen abgerufen wird. Der Benutzerdelegierungsschlüssel verfügt über ein eigenes Ablaufintervall, für das die SAS-Ablaufrichtlinie nicht gilt. Die SAS-Ablaufrichtlinie gilt nur für die SAS für die Benutzerdelegierung, nicht für den Benutzerdelegierungsschlüssel, mit dem diese signiert ist.
Eine Benutzerdelegierung-SAS hat unabhängig von der SAS-Ablaufrichtlinie ein maximales Ablaufintervall von 7 Tagen. Wenn die SAS-Ablaufrichtlinie auf einen Wert festgelegt ist, der größer als 7 Tage ist, hat die Richtlinie keine Auswirkungen auf eine Benutzerdelegierung-SAS. Wenn der Benutzerdelegierungsschlüssel abläuft, ist jede mit diesem Schlüssel signierte Benutzerdelegierung-SAS ungültig, und jeder Versuch, die SAS zu verwenden, resultiert in einem Fehler.
Muss ich zuerst die Kontozugriffsschlüssel rotieren?
Dieser Abschnitt bezieht sich auf Dienst-SAS- und Konto-SAS-Typen, die mit dem Kontoschlüssel signiert sind. 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:
Navigieren Sie zum Speicherkonto im Azure-Portal.
Klicken Sie unter Einstellungen auf Konfiguration.
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:
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.
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:
Suchen Sie im Azure-Portal nach Richtlinie, um das Azure Policy-Dashboard anzuzeigen.
Wählen Sie im Abschnitt Erstellen die Option Zuweisungen aus.
Wählen Sie Richtlinie zuweisen aus.
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.
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.
Wählen Sie Überprüfen + erstellen aus, um die Richtliniendefinition dem angegebenen Bereich zuzuweisen.
Überwachen der Einhaltung der Schlüsselablaufrichtlinie
Führen Sie die folgenden Schritte aus, um Ihre Speicherkonten auf die Einhaltung der Schlüsselablaufrichtlinie zu überwachen:
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.Wählen Sie den Namen der Richtlinie mit dem gewünschten Bereich aus.
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.
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.