Autorisieren des Zugriffs auf Daten in Azure Storage
Immer wenn Sie auf Daten in Ihrem Speicherkonto zugreifen, sendet Ihre Clientanwendung eine Anforderung über HTTP/HTTPS an Azure Storage. Standardmäßig ist jede Ressource in Azure Storage geschützt, und jede Anforderung an eine sichere Ressource muss autorisiert werden. Die Autorisierung stellt sicher, dass die Clientanwendung die entsprechenden Berechtigungen für den Zugriff auf eine bestimmte Ressource in Ihrem Speicherkonto hat.
Wichtig
Um optimale Sicherheit zu gewährleisten, empfiehlt Microsoft möglichst die Verwendung von Microsoft Entra ID mit verwalteten Identitäten, um Anforderungen für Blob-, Warteschlangen- und Tabellendaten zu autorisieren. Die Autorisierung mit Microsoft Entra ID und verwalteten Identitäten bietet eine höhere Sicherheit und Benutzerfreundlichkeit als die Autorisierung mit gemeinsam verwendetem Schlüssel. Weitere Informationen zu verwalteten Identitäten finden Sie unter Was sind verwaltete Identitäten für Azure-Ressourcen?. Ein Beispiel zum Aktivieren und Verwenden einer verwalteten Identität für eine .NET-Anwendung finden Sie unter Authentifizieren von Azure-gehosteten Apps bei Azure-Ressourcen mit .NET.
Für Ressourcen, die außerhalb von Azure gehostet werden, z. B. lokale Anwendungen, können Sie verwaltete Identitäten über Azure Arc verwenden. Beispielsweise können Apps, die auf Azure Arc-fähigen Servern ausgeführt werden, verwaltete Identitäten verwenden, um eine Verbindung mit Azure-Diensten herzustellen. Weitere Informationen finden Sie unter Authentifizieren bei Azure-Ressourcen mit Azure Arc-fähigen Servern.
Für Szenarien, in denen SAS (Shared Access Signatures) verwendet werden, empfiehlt Microsoft die Verwendung einer Benutzerdelegierungs-SAS. Eine Benutzerdelegierungs-SAS wird mit Microsoft Entra-Anmeldeinformationen und nicht mithilfe des Kontoschlüssels geschützt. Informationen zu Shared Access Signatures finden Sie unter Gewähren von eingeschränktem Zugriff auf Daten mithilfe von SAS (Shared Access Signature). Ein Beispiel zum Erstellen und Verwenden einer Benutzerdelegierungs-SAS mit .NET finden Sie unter Erstellen einer Benutzerdelegierungs-SAS für ein BLOB mit .NET.
Autorisierung für Datenvorgänge
Im folgenden Abschnitt werden Autorisierungsunterstützung und Empfehlungen für jeden Azure Storage-Dienst beschrieben.
Die folgende Tabelle enthält Informationen zu unterstützten Autorisierungsoptionen für Blobs:
Autorisierungsoption | Leitfaden | Empfehlung |
---|---|---|
Microsoft Entra ID | Autorisieren des Zugriffs auf Azure Storage-Daten mit Microsoft Entra ID | Microsoft empfiehlt die Verwendung der Microsoft Entra-ID mit verwalteten Identitäten, um Anforderungen an BLOB-Ressourcen zu autorisieren. |
Gemeinsam verwendeter Schlüssel (Speicherkontoschlüssel) | Autorisieren mit einem gemeinsam verwendeten Schlüssel | Microsoft empfiehlt, die Autorisierung mit gemeinsam verwendetem Schlüssel für Ihr Speicherkonto nicht zuzulassen. |
Shared Access Signature (SAS) | Verwenden von Shared Access Signatures (SAS) | Wenn die SAS-Autorisierung erforderlich ist, empfiehlt Microsoft die Verwendung der SAS-Benutzerdelegierung für eingeschränkten delegierten Zugriff auf Blobressourcen. Eine SAS-Autorisierung wird für Blob Storage und Data Lake Storage unterstützt und kann für Aufrufe an blob -Endpunkte und dfs -Endpunkte verwendet werden. |
Anonymer Lesezugriff | Übersicht: Verhindern des anonymen Lesezugriffs für Blobdaten | Microsoft empfiehlt, anonymen Zugriff für alle Speicherkonten zu deaktivieren. |
Lokale Storage-Benutzer | Wird nur für SFTP unterstützt. Weitere Informationen finden Sie unter Autorisieren des Zugriffs auf Blob Storage für einen SFTP-Client | Weitere Informationen finden Sie unter "Anleitungen für Optionen". |
Im folgenden Abschnitt werden die Autorisierungsoptionen für Azure Storage kurz beschrieben:
Autorisierung mit gemeinsam verwendetem Schlüssel: Gilt für Blobs, Dateien, Warteschlangen und Tabellen. Ein Client mit gemeinsam verwendetem Schlüssel übergibt mit jeder Anforderung einen Header, der mit dem Speicherkonto-Zugriffsschlüssel signiert wird. Weitere Informationen finden Sie unter Authentifizieren mit gemeinsam verwendetem Schlüssel.
Der Speicherkontozugriffsschlüssel sollte mit Vorsicht verwendet werden. Jeder, der über den Zugriffsschlüssel verfügt, kann Anforderungen für das Speicherkonto autorisieren und hat somit Zugriff auf alle Daten. Microsoft empfiehlt, die Autorisierung mit gemeinsam verwendetem Schlüssel für Ihr Speicherkonto nicht zuzulassen. Wenn die Autorisierung mit gemeinsam verwendetem Schlüssel unzulässig ist, müssen Clients Azure AD oder eine SAS für die Benutzerdelegierung verwenden, um Anforderungen für Daten in diesem Speicherkonto zu autorisieren. Weitere Informationen finden Sie unter Verhindern der Autorisierung mit gemeinsam verwendeten Schlüsseln für ein Azure Storage-Konto.
Shared Access Signatures für Blobs, Dateien, Warteschlangen und Tabellen. Shared Access Signatures (SAS) ermöglichen den begrenzten delegierten Zugriff auf Ressourcen in einem Speicherkonto über eine signierte URL. Die signierte URL gibt die Berechtigungen an, die der Ressource und dem Intervall gewährt werden, in dem die Signatur gültig ist. Eine Dienst-SAS oder Konto-SAS ist mit dem Kontoschlüssel signiert, die SAS für die Benutzerdelegierung ist hingegen mit Azure AD-Anmeldeinformationen signiert und gilt nur für Blobs. Weitere Informationen finden Sie unter Verwenden von Shared Access Signatures (SAS).
Microsoft Entra-Integration: Gilt für Blob-, Warteschlangen- und Tabellenressourcen. Microsoft empfiehlt die Verwendung von Azure AD-Anmeldeinformationen innerhalb von verwalteten Identitäten zum Autorisieren von Anforderungen an Daten für optimale Sicherheit und einfache Bedienung, sofern möglich. Weitere Informationen zur Azure AD-Integration finden Sie in den Artikeln zu Blob, Warteschlangen- oder Tabellenressourcen.
Sie können mithilfe der rollenbasierten Zugriffssteuerung von Azure (Role-Based Access Control, Azure RBAC) die Berechtigungen eines Sicherheitsprinzipals für Blob-, Warteschlangen- und Tabellenressourcen in einem Speicherkonto verwalten. Außerdem können Sie mit der attributbasierten Zugriffssteuerung (Attribute-Based Access Control, ABAC) von Azure Bedingungen zu Azure-Rollenzuweisungen für Blobressourcen hinzufügen.
Weitere Informationen zu RBAC finden Sie unter Was ist die rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC)?.
Weitere Informationen zu ABAC finden Sie unter Was ist die attributbasierte Zugriffssteuerung von Azure (Azure ABAC)?. Informationen zum Status der ABAC-Features finden Sie unter Status der ABAC-Bedingungsfeatures in Azure Storage.
Aktivieren der Microsoft Entra Domain Services-Authentifizierung: Gilt für Azure Files. Azure Files unterstützt die identitätsbasierte Autorisierung über SMB (Server Message Block) über Microsoft Entra Domain Services. Sie können die rollenbasierte Zugriffssteuerung in Azure (Azure Role-Based Access Control, Azure RBAC) für eine präzise Steuerung des Clientzugriffs auf Azure Files-Ressourcen in einem Speicherkonto verwenden. Weitere Informationen zur Azure Files-Authentifizierung mit Domänendiensten finden Sie unter Übersicht über identitätsbasierte Azure Files-Authentifizierungsoptionen für den SMB-Zugriff.
Authentifizierung mit lokalen Active Directory Domain Services (AD DS oder lokale AD DS): Gilt für Azure Files. Azure Files unterstützen die identitätsbasierte Autorisierung über SMB durch AD DS. Ihre AD DS-Umgebung kann auf lokalen Computern oder auf Azure-VMs gehostet werden. Der SMB-Zugriff auf Dateien wird mithilfe von AD DS-Anmeldeinformationen von Computern aus unterstützt, die in die Domäne eingebunden sind – entweder lokal oder in Azure. Sie können eine Kombination aus Azure RBAC für die Zugriffssteuerung auf Freigabeebene und aus NTFS-DACLs für die Berechtigungserzwingung auf Verzeichnis-/Dateiebene verwenden. Weitere Informationen zur Azure Files-Authentifizierung mithilfe von Domänendiensten finden Sie in der Übersicht.
Anonymer Lesezugriff: Gilt für BLOB-Ressourcen. Diese Option wird nicht empfohlen. Wenn anonymer Zugriff konfiguriert wurde, können Clients Blobdaten ohne Autorisierung lesen. Es wird empfohlen, anonymen Zugriff für alle Speicherkonten zu deaktivieren. Weitere Informationen finden Sie unter Übersicht: Korrigieren des anonymen öffentlichen Lesezugriffs für Blobdaten.
Lokale Speicherbenutzer: Gilt für Blobs mit SFTP oder Dateien mit SMB. „Lokale Storage-Benutzer“ unterstützt Berechtigungen auf Containerebene für die Autorisierung. Weitere Informationen dazu, wie „Lokale Storage-Benutzer“ mit SFTP verwendet werden kann, finden Sie unter Herstellen einer Verbindung mit Azure Blob Storage mit SFTP (SSH File Transfer Protocol).
Schützen Ihrer Zugriffsschlüssel
Zugriffsschlüssel für Speicherkonten bieten Vollzugriff auf die Daten des Speicherkontos und die Möglichkeit, SAS-Token zu generieren. Achten Sie darauf, die Zugriffsschlüssel immer gut zu schützen. Verwenden Sie Azure Key Vault zum sicheren Verwalten und Rotieren Ihrer Schlüssel. Der Zugriff auf den gemeinsam verwendeten Schlüssel gewährt einem Benutzer Vollzugriff auf die Daten eines Speicherkontos. Der Zugriff auf den gemeinsam verwendeten Schlüssel sollte sorgfältig eingeschränkt und überwacht werden. Verwenden Sie SAS-Token für die Benutzerdelegierung mit eingeschränktem Zugriffsbereich in Szenarien, in denen die auf Microsoft Entra ID basierende Autorisierung nicht verwendet werden kann. Vermeiden Sie die Hartcodierung von Zugriffsschlüsseln, und speichern Sie die Schlüssel nicht irgendwo im Klartext, wo sie für andere zugänglich sind. Rotieren Sie die Schlüssel, wenn Sie glauben, dass sie gefährdet sind.
Wichtig
Wenn Sie verhindern möchten, dass Benutzer mit einem gemeinsam verwendeten Schlüssel auf Daten in Ihrem Speicherkonto zugreifen, können Sie die Autorisierung mit einem gemeinsam verwendeten Schlüssel für das Speicherkonto verweigern. Als bewährte Sicherheitsmethode wird ein präziser Zugriff auf Daten mit den geringsten erforderlichen Berechtigungen empfohlen. Microsoft Entra ID-basierte Autorisierung mit verwalteten Identitäten sollte für Szenarien verwendet werden, die OAuth unterstützen. Kerberos oder SMTP sollte für Azure Files über SMB verwendet werden. Für Azure Files über REST können SAS-Token verwendet werden. Der Zugriff auf gemeinsam verwendete Schlüssel sollte deaktiviert werden, wenn er nicht erforderlich ist, um die unbeabsichtigte Verwendung zu verhindern. Weitere Informationen finden Sie unter Verhindern der Autorisierung mit gemeinsam verwendeten Schlüsseln für ein Azure Storage-Konto.
Um ein Azure Storage-Konto mit Azure AD-Richtlinien für bedingten Zugriff zu schützen, müssen Sie die Autorisierung mit gemeinsam verwendetem Schlüssel für das Speicherkonto untersagen.
Wenn Sie den Zugriff auf gemeinsam genutzte Schlüssel deaktiviert haben und die Autorisierung des freigegebenen Schlüssels in den Diagnoseprotokollen gemeldet wird, bedeutet dies, dass der vertrauenswürdige Zugriff für den Zugriff auf Speicher verwendet wird. Ausführlichere Informationen finden Sie unter Vertrauenswürdiger Zugriff für Ressourcen, die in Ihrem Microsoft Entra-Mandanten registriert sind.
Nächste Schritte
- Autorisieren sie den Zugriff mit Microsoft Entra-ID entweder für Blob, Warteschlangen oder Tabellenressourcen.
- Autorisieren mit einem gemeinsam verwendeten Schlüssel
- Gewähren von eingeschränktem Zugriff auf Azure Storage-Ressourcen mithilfe von SAS (Shared Access Signature)