Verhindern der Autorisierung mit gemeinsam verwendeten Schlüsseln für ein Azure Storage-Konto

Jede sichere Anforderung an ein Azure Storage-Konto muss autorisiert werden. Standardmäßig können Anforderungen entweder mit Microsoft Entra-Anmeldeinformationen oder mithilfe des Kontozugriffsschlüssels für die Autorisierung mit einem gemeinsam verwendeten Schlüssel autorisiert werden. Von diesen beiden Arten der Autorisierung bietet Microsoft Entra ID mehr Sicherheit und Benutzerfreundlichkeit gegenüber einem gemeinsam verwendeten Schlüssel und wird von Microsoft empfohlen. Sie können für Clients die Verwendung von Microsoft Entra ID zur Autorisierung von Anforderungen erzwingen, indem Sie Anforderungen an das Speicherkonto unterbinden, die mit einem gemeinsam verwendeten Schlüssel autorisiert wurden.

Wenn Sie die Autorisierung mit gemeinsam verwendeten Schlüsseln für ein Speicherkonto nicht zulassen, lehnt Azure Storage alle nachfolgenden Anforderungen an dieses Konto ab, die mit den Kontozugriffsschlüsseln autorisiert sind. Nur sichere Anforderungen, die mit Microsoft Entra ID autorisiert wurden, werden erfolgreich ausgeführt. Weitere Informationen zur Verwendung von Microsoft Entra ID finden Sie unter Autorisieren des Zugriffs auf Daten in Azure Storage.

Die AllowSharedKeyAccess-Eigenschaft eines Speicherkontos ist standardmäßig nicht festgelegt und gibt erst dann einen Wert zurück, wenn Sie sie explizit festgelegt haben. Das Speicherkonto lässt Anforderungen zu, die mit einem gemeinsam verwendeten Schlüssel autorisiert wurden, wenn der Eigenschaftswert NULL oder TRUE ist.

In diesem Artikel wird beschrieben, wie Sie ein DRAG-Framework (Detection-Remediation-Audit-Governance) zur kontinuierlichen Verwaltung der Autorisierung mit gemeinsam genutztem Schlüssel für Ihre Speicherkonten verwenden können.

Voraussetzungen

Bevor Sie den Zugriff mit gemeinsam genutztem Schlüssel auf eins Ihrer Speicherkonten untersagen:

Grundlegendes zu den Auswirkungen der Aufhebung gemeinsam verwendeter Schlüssel auf SAS-Token

Wenn der Zugriff mit gemeinsam verwendeten Schlüsseln für das Speicherkonto nicht zulässig ist, verarbeitet Azure Storage SAS-Token basierend auf dem Typ der SAS und dem Dienst, der Ziel der Anforderung ist. In der folgenden Tabelle wird gezeigt, wie die einzelnen SAS-Typen autorisiert werden und wie Azure Storage diese SAS behandelt, wenn die AllowSharedKeyAccess-Eigenschaft für das Speicherkonto FALSE ist.

SAS-Typ Autorisierungstyp Verhalten, wenn AllowSharedKeyAccess FALSE ist
SAS für Benutzerdelegierung (nur Blobspeicher) Microsoft Entra ID Die Anforderung wird zugelassen. Microsoft empfiehlt, für höhere Sicherheit nach Möglichkeit eine SAS für die Benutzerdelegierung zu verwenden.
Dienst-SAS Gemeinsam verwendeter Schlüssel Die Anforderung wird für alle Azure Storage-Dienste verweigert.
Konto-SAS Gemeinsam verwendeter Schlüssel Die Anforderung wird für alle Azure Storage-Dienste verweigert.

Azure-Metriken und die Protokollierung in Azure Monitor unterscheiden nicht zwischen verschiedenen Typen von Shared Access Signatures. Der Filter SAS in Azure-Metrik-Explorer und das Feld SAS bei der Azure Storage-Protokollierung in Azure Monitor melden alle Anforderungen, die mit einem beliebigen SAS-Typ autorisiert wurden. Die verschiedenen Typen von Shared Access Signatures werden jedoch unterschiedlich autorisiert und verhalten sich unterschiedlich, wenn der Zugriff mit gemeinsam verwendeten Schlüsseln nicht zulässig ist:

  • Ein SAS-Token für einen Dienst oder ein Konto wird mit einem gemeinsam verwendeten Schlüssel autorisiert und ist daher für eine Anforderung an Blob Storage nicht zulässig, wenn die AllowSharedKeyAccess-Eigenschaft auf FALSE festgelegt ist.
  • Eine SAS zur Benutzerdelegierung wird mit Microsoft Entra ID autorisiert und ist daher für eine Anforderung an Blob Storage zulässig, wenn die AllowSharedKeyAccess-Eigenschaft auf false festgelegt ist.

Wenn Sie den Datenverkehr zu Ihrem Speicherkonto auswerten, sollten Sie beachten, dass Metriken und Protokolle (wie in Ermitteln der von Clientanwendungen verwendeten Autorisierung beschrieben) auch Anforderungen enthalten können, die mit einer Benutzerdelegierungs-SAS erfolgt sind.

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

Kompatibilität mit anderen Azure-Tools und -Diensten

Einige Azure-Dienste verwenden die Autorisierung mit gemeinsam verwendeten Schlüsseln, um mit Azure Storage zu kommunizieren. Wenn Sie die Autorisierung mit gemeinsam verwendeten Schlüsseln für ein Speicherkonto aufheben, können diese Dienste nicht auf Daten in diesem Konto zugreifen, und Ihre Anwendungen können beeinträchtigt werden.

Einige Azure-Tools bieten die Möglichkeit, die Microsoft Entra-Autorisierung für den Zugriff auf Azure Storage zu verwenden. In der folgenden Tabelle sind einige beliebte Azure-Tools aufgelistet, und es ist angegeben, ob sie Microsoft Entra ID für das Autorisieren von Anforderungen an Azure Storage verwenden.

Azure-Tool Microsoft Entra-Autorisierung für Azure Storage
Azure-Portal Unterstützt. Informationen zur Autorisierung mit Ihrem Microsoft Entra-Konto über das Azure-Portal finden Sie unter Auswählen der Autorisierung des Zugriffs auf Blobdaten im Azure-Portal.
AzCopy Für Blob Storage unterstützt. Weitere Informationen zur Autorisierung von AzCopy-Vorgängen finden Sie in der AzCopy-Dokumentation unter Auswählen, wie Sie die Autorisierungsanmeldeinformationen bereitstellen.
Azure Storage-Explorer Unterstützt für Blobspeicher, Warteschlangenspeicher, Tabellenspeicher und Azure Data Lake Storage Gen2. Der Microsoft Entra ID-Zugriff auf Dateispeicher wird nicht unterstützt. Stellen Sie sicher, dass Sie den richtigen Microsoft Entra-Mandanten auswählen. Weitere Informationen finden Sie unter Erste Schritte mit Storage-Explorer.
Azure PowerShell Unterstützt. Informationen zum Autorisieren von PowerShell-Befehlen für Blob- oder Warteschlangenvorgänge mit Microsoft Entra ID finden Sie unter Ausführen von PowerShell-Befehlen mit Microsoft Entra-Anmeldeinformationen für den Zugriff auf Blobdaten und Ausführen von PowerShell-Befehlen mit Microsoft Entra-Anmeldeinformationen für den Zugriff auf Warteschlangendaten.
Azure CLI Unterstützt. Informationen zum Autorisieren von Azure CLI-Befehlen mit Microsoft Entra ID für den Zugriff auf Blob- und Warteschlangendaten finden Sie unter Ausführen von Azure CLI-Befehlen mit Microsoft Entra-Anmeldeinformationen für den Zugriff auf Blob- oder Warteschlangendaten.
Azure IoT Hub Unterstützt. Weitere Informationen finden Sie unter IoT Hub-Unterstützung für virtuelle Netzwerke.
Azure Cloud Shell Azure Cloud Shell ist eine integrierte Shell im Azure-Portal. Azure Cloud Shell hostet Dateien für Persistenz in einer Azure-Dateifreigabe in einem Speicherkonto. Auf diese Dateien kann nicht mehr zugegriffen werden, wenn die Autorisierung mit gemeinsam verwendeten Schlüsseln für dieses Speicherkonto aufgehoben wird. Weitere Informationen finden Sie unter Beibehalten von Dateien in Azure Cloud Shell.

Zum Ausführen von Befehlen in Azure Cloud Shell zur Verwaltung von Speicherkonten, bei denen der Zugriff mit gemeinsam verwendeten Schlüsseln nicht zulässig ist, müssen Sie zuerst sicherstellen, dass Ihnen die erforderlichen Berechtigungen für diese Konten über Azure RBAC erteilt wurden. Weitere Informationen finden Sie unter Was ist die rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC)?.

Untersagen der Autorisierung mit gemeinsam verwendeten Schlüsseln zur Verwendung des bedingten Microsoft Entra-Zugriffs

Wenn Sie ein Azure Storage-Konto mit Microsoft Entra-Richtlinien für bedingten Zugriff schützen möchten, müssen Sie für das Speicherkonto die Autorisierung mit gemeinsam verwendeten Schlüsseln untersagen.

Autorisieren des Zugriffs auf Dateidaten oder Übergang zu Azure Files-Workloads

Azure Storage unterstützt die Microsoft Entra-Autorisierung nur bei Anforderungen an Azure Files, Blob Storage, Queue Storage und Table Storage. Standardmäßig verwendet das Azure-Portal jedoch die Autorisierung durch gemeinsam genutzte Schlüssel für den Zugriff auf Azure-Dateifreigaben. Wenn Sie die Autorisierung durch gemeinsam genutzte Schlüssel für ein Speicherkonto, das nicht mit den richtigen RBAC-Zuweisungen konfiguriert ist, untersagen, schlagen Anforderungen an Azure Files fehl, und Sie können nicht auf Azure-Dateifreigaben im Azure-Portal zugreifen.

Um dies zu entschärfen, empfehlen wir einen dieser drei Ansätze:

  1. Führen Sie diese Schritten aus, um den Zugriff auf Dateidaten mit Ihrem Microsoft Entra-Konto zu autorisieren, oder:
  2. Migrieren Sie alle Azure Files-Daten zu einem separaten Speicherkonto, bevor Sie den Zugriff auf ein Konto über gemeinsam genutzte Schlüssel verbieten, oder:
  3. Wenden Sie diese Einstellung nicht auf Speicherkonten an, die Azure Files-Workloads unterstützen.

Identifizieren von Speicherkonten, die den Zugriff mit gemeinsam genutztem Schlüssel zulassen

Es gibt zwei Möglichkeiten zum Identifizieren von Speicherkonten, die den Zugriff mit gemeinsam genutztem Schlüssel zulassen:

Überprüfen der Einstellung für den Zugriff mit gemeinsam verwendeten Schlüsseln für mehrere Konten

Wenn Sie die Einstellung für den Zugriff mit gemeinsam verwendeten Schlüsseln für mehrere Speicherkonten mit optimaler Leistung überprüfen möchten, können Sie den Azure Resource Graph-Explorer im Azure-Portal verwenden. Weitere Informationen zur Verwendung des Resource Graph-Explorers finden Sie unter Schnellstart: Ausführen Ihrer ersten Resource Graph-Abfrage mithilfe des Azure Resource Graph-Explorers.

Wenn Sie die folgende Abfrage im Resource Graph-Explorer ausführen, wird eine Liste der Speicherkonten zurückgegeben und für jedes Konto die Einstellung für den Zugriff mit gemeinsam verwendeten Schlüsseln angezeigt:

resources
| where type =~ 'Microsoft.Storage/storageAccounts'
| extend allowSharedKeyAccess = parse_json(properties).allowSharedKeyAccess
| project subscriptionId, resourceGroup, name, allowSharedKeyAccess

Konfigurieren von Azure Policy für den Zugriff mit gemeinsam genutztem Schlüssel im Überwachungsmodus

Azure Policy-Speicherkonten sollten den Zugriff mit gemeinsam genutztem Schlüssel verhindern sowie dass Benutzer mit entsprechenden Berechtigungen neue oder vorhandene Speicherkonten so konfigurieren können, dass die Autorisierung mit gemeinsam genutztem Schlüssel zugelassen wird. Konfigurieren Sie diese Richtlinie im Überwachungsmodus, um Speicherkonten zu identifizieren, bei denen die Autorisierung mit gemeinsam genutztem Schlüssel zulässig ist. Nachdem Sie Anwendungen so geändert haben, dass sie Microsoft Entra anstelle eines gemeinsam genutzten Schlüssels für die Autorisierung verwenden, können Sie die Richtlinie aktualisieren, um das Zulassen des Zugriffs mit gemeinsam genutzten Schlüsseln zu verhindern.

Weitere Informationen zur integrierten Richtlinie finden Sie unter Speicherkonten sollten Zugriff mit gemeinsam genutztem Schlüssel verhindern und Liste der integrierten Richtliniendefinitionen.

Zuweisen der integrierten Richtlinie für einen Ressourcenbereich

Führen Sie die folgenden Schritte aus, um die integrierte Richtlinie für den 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 eine optionale Ressourcengruppe auszuwählen.

  5. Wählen Sie für das Feld Richtliniendefinition die Schaltfläche Mehr (...) aus, und geben Sie Zugriff mit gemeinsam genutztem Schlüssel in das Feld Suchen ein. Wählen Sie die Richtliniendefinition mit dem Namen Speicherkonten sollten den Zugriff mit gemeinsam genutztem Schlüssel verhindern aus.

    Screenshot des Auswählens der integrierten Richtlinie zum Verhindern des Zulassens des Zugriffs mit gemeinsam genutztem Schlüssel für Ihre Speicherkonten.

  6. Klicken Sie auf Überprüfen + erstellen.

  7. Überprüfen Sie auf der Registerkarte Überprüfen + erstellen die Richtlinienzuweisung, und wählen Sie dann Erstellen aus, um die Richtliniendefinition dem angegebenen Bereich zuzuweisen.

Überwachen der Einhaltung der Richtlinie

Führen Sie die folgenden Schritte aus, um Ihre Speicherkonten auf die Einhaltung der „Zugriff mit gemeinsam genutztem Schlüssel“-Richtlinie zu überwachen:

  1. Wählen Sie im Azure Policy-Dashboard unter Erstellung die Option Zuweisungen aus.

  2. Suchen Sie die Richtlinienzuweisung, die Sie im vorherigen Abschnitt erstellt haben, und wählen Sie sie aus.

  3. Wählen Sie die Registerkarte Konformität anzeigen aus.

  4. Alle Speicherkonten im Bereich der Richtlinienzuweisung, die die Richtlinienanforderungen nicht erfüllen, werden im Compliancebericht angezeigt.

    Screenshot zum Anzeigen des Complianceberichts für die integrierte Richtlinie „Zugriff mit gemeinsam genutztem Schlüssel“.

Um weitere Informationen darüber zu erhalten, warum ein Speicherkonto nicht konform ist, wählen Sie unter Grund für Nichtkonformität die Option Details aus.

Ermitteln der von Clientanwendungen verwendeten Autorisierung

Um vor dieser Änderung zu verstehen, welche Auswirkungen das Aufheben der Autorisierung mithilfe von gemeinsam verwendeten Schlüsseln auf Clientanwendungen haben kann, aktivieren Sie Protokollierung und Metriken für das Speicherkonto. Anschließend können Sie Muster der Anforderungen an Ihr Konto über einen Zeitraum analysieren und ermitteln, wie Anforderungen autorisiert werden.

Verwenden Sie Metriken, um zu ermitteln, wie viele Anforderungen, die mit einem gemeinsam verwendeten Schlüssel oder einer Shared Access Signature (SAS) autorisiert wurden, das Speicherkonto empfängt. Ermitteln Sie anhand der Protokolle, welche Clients diese Anforderungen senden.

Eine SAS kann entweder mit einem gemeinsam verwendeten Schlüssel oder mit Microsoft Entra ID autorisiert werden. Weitere Informationen zum Interpretieren von Anforderungen, die mit einer Shared Access Signature ausgeführt werden, finden Sie unter Grundlegendes zu den Auswirkungen der Aufhebung gemeinsam verwendeter Schlüssel auf SAS-Token.

Bestimmen der Anzahl und Häufigkeit von Anforderungen, die mit gemeinsam genutztem Schlüssel autorisiert wurden

Verwenden Sie den Azure-Metrik-Explorer im Azure-Portal, um die Autorisierung von Anforderungen an ein Speicherkonto nachzuverfolgen. Weitere Informationen zum Metrik-Explorer finden Sie unter Analysieren von Metriken mit dem Azure Monitor-Metrik-Explorer.

Gehen Sie wie folgt vor, um eine Metrik zur Nachverfolgung von Anforderungen mit einem gemeinsam verwendeten Schlüssel oder einer Shared Access Signature zu erstellen:

  1. Navigieren Sie zum Speicherkonto im Azure-Portal. Wählen Sie im Abschnitt Überwachung die Option Metriken aus.

  2. Das Feld „Neue Metrik“ sollte angezeigt werden:

    Screenshot des Dialogfelds „Neue Metrik“.

    Wenn dies nicht der Fall ist, wählen Sie Metrik hinzufügen aus.

  3. Geben Sie im Dialogfeld Metrik die folgenden Werte an:

    1. Behalten Sie im Feld Bereich den Namen des Speicherkontos bei.
    2. Legen Sie Metriknamespace auf Konto fest. Mit dieser Metrik werden alle Anforderungen für das Speicherkonto gemeldet.
    3. Legen Sie das Feld Metrik auf Transaktionen fest.
    4. Legen Sie das Feld Aggregation auf Summe fest.

    Die neue Metrik liefert die Summe der Transaktionen für das Speicherkonto in einem bestimmten Zeitraum. Die resultierende Metrik sieht wie folgt aus:

    Screenshot des Konfigurierens einer Metrik zum Summieren von Transaktionen, die mit einem gemeinsam genutzten Schlüssel oder einer SAS erfolgt sind.

  4. Wählen Sie als Nächstes die Schaltfläche Filter hinzufügen aus, um einen Filter für die Metrik für den Autorisierungstyp zu erstellen.

  5. Geben Sie im Dialogfeld Filter die folgenden Werte an:

    1. Legen Sie Eigenschaft auf Authentifizierung fest.
    2. Legen Sie das Feld Operator auf das Gleichheitszeichen (=) fest.
    3. Wählen Sie im Feld Werte die Optionen Kontoschlüssel und SAS aus.
  6. Wählen Sie rechts oben den gewünschten Zeitbereich für die Metrik aus. Sie können auch angeben, wie präzise die Aggregation von Anforderungen sein soll. Hierzu können Intervalle zwischen einer Minute und einem Monat angegeben werden. Legen Sie z. B. Zeitbereich auf 30 Tage und Zeitgranularität auf 1 Tag fest, um die Anforderungen anzuzeigen, die pro Tag in den letzten 30 Tagen aggregiert wurden.

Nachdem Sie die Metrik konfiguriert haben, werden nach und nach Anforderungen an Ihr Speicherkonto im Diagramm angezeigt. In der folgenden Abbildung sind Anforderungen aufgeführt, die mit einem gemeinsam verwendeten Schlüssel autorisiert oder mit einem SAS-Token durchgeführt wurden. Anforderungen werden tageweise für die letzten 30 Tage aggregiert.

Screenshot aggregierter Anforderungen, die mit einem gemeinsam genutzten Schlüssel autorisiert wurden.

Sie können auch eine Warnungsregel konfigurieren, um benachrichtigt zu werden, wenn eine bestimmte Anzahl von Anforderungen an Ihr Speicherkonto gerichtet wird, die mit einem gemeinsam verwendeten Schlüssel autorisiert wurden. Weitere Informationen finden Sie unter Erstellen, Anzeigen und Verwalten von Metrikwarnungen mit Azure Monitor.

Analysieren von Protokollen zum Identifizieren von Clients, die Anforderungen mit gemeinsam verwendeten Schlüsseln oder SAS autorisieren

In Azure Storage-Protokollen werden Details zu Anforderungen für das Speicherkonto erfasst. Hierzu zählt auch die Information, wie eine Anforderung autorisiert wurde. Sie können die Protokolle analysieren, um zu ermitteln, welche Clients Anforderungen mit gemeinsam verwendeten Schlüsseln oder SAS-Token autorisieren.

Wenn Sie Anforderungen an Ihr Azure Storage-Konto protokollieren möchten, um deren Autorisierung zu untersuchen, können Sie die Azure Storage-Protokollierung in Azure Monitor verwenden. Weitere Informationen finden Sie unter Überwachen von Azure Storage.

Die Azure Storage-Protokollierung in Azure Monitor unterstützt die Verwendung von Protokollabfragen für die Analyse von Protokolldaten. Für die Abfrage von Protokollen können Sie einen Azure Log Analytics-Arbeitsbereich verwenden. Weitere Informationen zu Protokollabfragen finden Sie unter Tutorial: Erste Schritte mit Log Analytics-Abfragen.

Erstellen einer Diagnoseeinstellung im Azure-Portal

Wenn Sie Azure Storage-Daten mit Azure Monitor protokollieren und mit Azure Log Analytics analysieren möchten, müssen Sie zunächst eine Diagnoseeinstellung erstellen, die angibt, welche Anforderungstypen und für welche Speicherdienste Daten protokolliert werden sollen. Führen Sie zum Erstellen einer Diagnoseeinstellung im Azure-Portal die folgenden Schritte aus:

  1. Erstellen Sie in dem Abonnement, das Ihr Azure Storage-Konto enthält, einen neuen Log Analytics-Arbeitsbereich, oder verwenden Sie einen vorhandenen. Nachdem Sie die Protokollierung für Ihr Speicherkonto konfiguriert haben, sind die Protokolle im Log Analytics-Arbeitsbereich verfügbar. Weitere Informationen finden Sie unter Erstellen eines Log Analytics-Arbeitsbereichs im Azure-Portal.

  2. Navigieren Sie zum Speicherkonto im Azure-Portal.

  3. Wählen Sie im Abschnitt Überwachung die Option Diagnoseeinstellungen aus.

  4. Wählen Sie den Azure Storage-Dienst aus, für den Sie Anforderungen protokollieren möchten. Wählen Sie beispielsweise Blob aus, um Anforderungen an den Blobspeicher zu protokollieren.

  5. Klicken Sie auf Diagnoseeinstellung hinzufügen.

  6. Geben Sie einen Namen für die Diagnoseeinstellung an.

  7. Wählen Sie im Abschnitt Protokoll unter Kategoriedetails die Optionen StorageRead, StorageWrite und StorageDelete aus, um alle Datenanforderungen an den ausgewählten Dienst zu protokollieren.

  8. Wählen Sie unter Zieldetails die Option An Log Analytics senden aus. Wählen Sie Ihr Abonnement und den zuvor erstellten Log Analytics-Arbeitsbereich aus, wie in der folgenden Abbildung zu sehen:

    Screenshot des Erstellens einer Diagnoseeinstellung für die Protokollierung von Anforderungen.

Sie können für jeden Typ von Azure Storage-Ressource in Ihrem Speicherkonto eine Diagnoseeinstellung erstellen.

Nachdem Sie die Diagnoseeinstellung erstellt haben, werden Anforderungen für das Speicherkonto gemäß dieser Einstellung protokolliert. Weitere Informationen finden Sie unter Erstellen von Diagnoseeinstellungen zum Senden von Plattformprotokollen und Metriken an verschiedene Ziele.

Eine Referenz der Felder, die in Azure Storage-Protokollen in Azure Monitor verfügbar sind, finden Sie unter Ressourcenprotokolle.

Abfrageprotokolle für Anforderungen, die mit einem gemeinsam verwendeten Schlüssel oder einer SAS ausgeführt wurden

Azure Storage-Protokolle in Azure Monitor enthalten die Art der Autorisierung, die bei einer Anforderung für ein Speicherkonto verwendet wurde. Zum Abrufen von Protokollen für Anforderungen, die in den letzten sieben Tagen durchgeführt und mit einem gemeinsam verwendeten Schlüssel oder einer SAS autorisiert wurden, öffnen Sie den Log Analytics-Arbeitsbereich. Fügen Sie dann die folgende Abfrage in eine neue Protokollabfrage ein, und führen Sie sie aus. Diese Abfrage zeigt die zehn IP-Adressen an, die am häufigsten mit einem gemeinsam verwendeten Schlüssel oder SAS autorisierte Anforderungen gesendet haben:

StorageBlobLogs
| where AuthenticationType in ("AccountKey", "SAS") and TimeGenerated > ago(7d)
| summarize count() by CallerIpAddress, UserAgentHeader, AccountName
| top 10 by count_ desc

Sie können auch eine auf dieser Abfrage basierende Warnungsregel konfigurieren, um über Anforderungen informiert zu werden, die mit einem gemeinsam verwendeten Schlüssel oder einer SAS autorisiert wurden. Weitere Informationen finden Sie unter Erstellen, Anzeigen und Verwalten von Protokollwarnungen mithilfe von Azure Monitor.

Aufheben der Autorisierung mit gemeinsam verwendeten Schlüsseln

Nachdem Sie analysiert haben, wie Anforderungen an Ihr Speicherkonto autorisiert werden, können Sie Maßnahmen ergreifen, um den Zugriff mit gemeinsam verwendeten Schlüsseln zu verhindern. Zuerst müssen Sie jedoch alle Anwendungen, die eine Autorisierung mit gemeinsam verwendeten Schlüsseln nutzen, so aktualisieren, dass sie stattdessen Microsoft Entra ID verwenden. Sie können Protokolle und Metriken überwachen, wie in Ermitteln der von Clientanwendungen verwendeten Autorisierung beschrieben, um den Übergang nachzuverfolgen. Weitere Informationen zur Verwendung von Microsoft Entra ID in einem Speicherkonto finden Sie unter Autorisieren des Zugriffs auf die Daten in Azure Storage.

Wenn Sie sicher sind, dass Sie Anforderungen, die mit gemeinsam genutzten Schlüsseln autorisiert wurden, ablehnen können, können Sie die AllowSharedKeyAccess-Eigenschaft für das Speicherkonto auf FALSE festlegen.

Warnung

Wenn ein Client derzeit mit einem gemeinsam verwendeten Schlüssel auf Daten in Ihrem Speicherkonto zugreift, empfiehlt Microsoft, diese Clients zu Microsoft Entra ID zu migrieren, bevor Sie den Zugriff auf das Speicherkonto mit einem gemeinsam verwendeten Schlüssel unterbinden.

Berechtigungen zum Zulassen oder Ablehnen des Zugriffs mit gemeinsam verwendeten Schlüsseln

Zum Festlegen der Eigenschaft AllowSharedKeyAccess für das Speicherkonto muss ein Benutzer Berechtigungen zum Erstellen und Verwalten von Speicherkonten haben. Azure RBAC-Rollen (Role-Based Access Control, rollenbasierte Zugriffssteuerung), die diese Berechtigungen bieten, enthalten die Aktion Microsoft.Storage/storageAccounts/write oder Microsoft.Storage/storageAccounts/. In diese Aktion sind folgende Rollen integriert:

Diese Rollen bieten keinen Zugriff auf Daten in einem Speicherkonto über Microsoft Entra ID. Sie enthalten jedoch die Aktion Microsoft.Storage/storageAccounts/listkeys/action, die Zugriff auf die Kontozugriffsschlüssel gewährt. Bei dieser Berechtigung kann ein Benutzer mithilfe der Kontozugriffsschlüssel auf alle Daten in einem Speicherkonto zuzugreifen.

Rollenzuweisungen müssen auf die Ebene des Speicherkontos oder höher eingeschränkt werden, damit ein Benutzer den Zugriff mit gemeinsam verwendeten Schlüsseln für das Speicherkonto zulassen oder ablehnen darf. Weitere Informationen zum Rollenbereich finden Sie unter Grundlegendes zum Bereich für Azure RBAC.

Beschränken Sie die Zuweisung dieser Rollen unbedingt auf diejenigen Benutzer, denen es möglich sein muss, ein Speicherkonto zu erstellen oder dessen Eigenschaften zu aktualisieren. Verwenden Sie das Prinzip der geringsten Rechte, um sicherzustellen, dass Benutzer die geringsten Berechtigungen haben, die sie zum Ausführen ihrer Aufgaben benötigen. Weitere Informationen zum Verwalten des Zugriffs mit Azure RBAC finden Sie unter Bewährte Methoden für Azure RBAC.

Hinweis

Die zu „Administrator für klassisches Abonnement“ gehörigen Rollen „Dienstadministrator“ und „Co-Administrator“ schließen die Entsprechung der Azure Resource Manager-Rolle Besitzer ein. Weil die Rolle Besitzer alle Aktionen einschließt, kann ein Benutzer mit einer dieser administrativen Rollen auch Speicherkonten erstellen und verwalten. Weitere Informationen finden Sie unter Azure-Rollen, Microsoft Entra-Rollen und Administratorrollen für klassische Abonnements.

Deaktivieren der Autorisierung mit gemeinsam verwendetem Schlüssel

Deaktivieren Sie mithilfe eines Kontos, das über die erforderlichen Berechtigungen verfügt, die Autorisierung mit gemeinsam genutztem Schlüssel im Azure-Portal, mit PowerShell oder mithilfe der Azure CLI.

Befolgen Sie diese Schritte, um die Autorisierung mit gemeinsam verwendeten Schlüsseln für ein Speicherkonto im Azure-Portal zu verweigern:

  1. Navigieren Sie zum Speicherkonto im Azure-Portal.

  2. Suchen Sie unter Einstellungen die Einstellung Konfiguration.

  3. Legen Sie Zugriff auf Speicherkontoschlüssel erlauben auf Deaktiviert fest.

    Screenshot des Verweigerns des Zugriffs mit gemeinsam genutztem Schlüssel für ein Speicherkonto.

Nachdem Sie die Autorisierung mit gemeinsam verwendeten Schlüsseln aufgehoben haben, führen Anforderungen an das Speicherkonto, die mit gemeinsam verwendeten Schlüsseln autorisiert wurden, zu einem Fehler mit dem Fehlercode 403 (Verboten). Azure Storage gibt einen Fehler zurück, der angibt, dass die schlüsselbasierte Autorisierung für das Speicherkonto nicht zulässig ist.

Die Eigenschaft AllowSharedKeyAccess wird nur bei Speicherkonten unterstützt, die das Azure Resource Manager-Bereitstellungsmodell verwenden. Informationen dazu, welche Speicherkonten das Azure Resource Manager-Bereitstellungsmodell verwenden, finden Sie unter Typen von Speicherkonten.

Überprüfen, ob der Zugriff mit gemeinsam verwendeten Schlüsseln verhindert wird

Um zu überprüfen, ob die Autorisierung von Shared Key nicht mehr erlaubt ist, können Sie die Einstellungen des Azure Storage-Kontos mit dem folgenden Befehl abfragen. Ersetzen Sie die Platzhalterwerte in den Klammern durch Ihre eigenen Werte.

az storage account show \
    --name <storage-account-name> \
    --resource-group <resource-group-name> \
    --query "allow-shared-key-access"

Dieser Aufruf gibt false zurück, wenn die Autorisierung mit Shared Key für das Speicherkonto nicht länger zulässig ist.

Sie können dies weiter überprüfen, indem Sie versuchen, eine Datenoperation mit dem Zugriffsschlüssel für das Konto aufzurufen. Im folgenden Beispiel wird versucht, mit dem Zugriffsschlüssel einen Container zu erstellen. Dieser Aufruf führt zu einem Fehler, wenn die Autorisierung mit gemeinsam verwendeten Schlüsseln für das Speicherkonto nicht zulässig ist. Ersetzen Sie die Platzhalterwerte in den Klammern durch Ihre eigenen Werte:

az storage container create \
    --account-name <storage-account-name> \
    --name sample-container \
    --account-key <key> \
    --auth-mode key

Hinweis

Anonyme Anforderungen werden nicht autorisiert und können weiter verwendet werden, wenn Sie das Speicherkonto und den Container für den anonymen Lesezugriff konfiguriert haben. Weitere Informationen finden Sie unter Konfigurieren des anonymen Lesezugriffs für Container und Blobs.

Überwachen von Azure Policy auf Konformität

Nachdem Sie den Zugriff mit gemeinsam genutztem Schlüssel auf die gewünschten Speicherkonten untersagt haben, überwachen Sie die zuvor erstellte Richtlinie auf fortlaufende Konformität. Ergreifen Sie basierend auf den Überwachungsergebnissen nach Bedarf die geeigneten Maßnahmen, einschließlich des Änderns des Geltungsbereichs der Richtlinie, des Untersagens des Zugriffs mit gemeinsam genutztem Schlüssel für weitere Konten oder des Zulassens dieses Zugriffs für Konten, bei denen mehr Zeit für die Korrektur erforderlich ist.

Aktualisieren von Azure Policy, um das Zulassen des Zugriffs mit gemeinsam genutztem Schlüssel zu verhindern

Um mit dem Erzwingen der Azure Policy-Zuweisung zu beginnen, die Sie zuvor für die Richtlinie Speicherkonten sollten den Zugriff mit gemeinsam genutztem Schlüssel verhindern erstellt haben, ändern Sie den Effekt der Richtlinienzuweisung in Verweigern, um zu verhindern, dass autorisierte Benutzer den Zugriff mit gemeinsam genutztem Schlüssel auf Speicherkonten zulassen. Führen Sie die folgenden Schritte aus, um den Effekt der Richtlinie zu ändern:

  1. Suchen Sie im Azure Policy-Dashboard nach der zuvor erstellten Richtlinienzuweisung, und wählen Sie sie aus.

  2. Wählen Sie Zuweisung bearbeiten aus.

  3. Wechseln Sie zur Registerkarte Parameter.

  4. Deaktivieren Sie das Kontrollkästchen Nur Parameter anzeigen, die eine Eingabe oder Überprüfung erfordern.

  5. Ändern Sie in der Dropdownliste Effekt die Option Überwachen in Verweigern, und wählen Sie dann Überprüfen + speichern aus.

  6. Überprüfen Sie auf der Registerkarte Überprüfen + speichern Ihre Änderungen, und wählen Sie dann Speichern aus.

Hinweis

Es kann bis zu 30 Minuten dauern, bis Ihre Richtlinienänderung wirksam wird.

Nächste Schritte