Autorisieren des Zugriffs auf Azure Blob Storage mithilfe von Bedingungen für die Azure-Rollenzuweisung
Die attributbasierte Zugriffssteuerung (Attribute-Based Access Control, ABAC) ist eine Autorisierungsstrategie, mit der der Zugriff anhand von Attributen definiert wird, die Sicherheitsprinzipalen, Ressourcen, der Umgebung und den Anforderungen selbst zugeordnet sind. Mit ABAC können Sie einem Sicherheitsprinzipal mit diesen Attributen basierend auf einer Bedingung, die als Prädikat ausgedrückt wird, Zugriff auf eine Ressource gewähren.
Azure ABAC baut auf der rollenbasierten Zugriffssteuerung von Azure (Azure Role-Based Access Control, Azure RBAC) auf, indem Azure-Rollenzuweisungen Bedingungen hinzugefügt werden. Sie ermöglicht es Ihnen, Rollenzuweisungsbedingungen basierend auf Prinzipal-, Ressourcen-, Anforderungs- und Umgebungsattributen zu autorisieren.
Wichtig
Die attributbasierte Zugriffssteuerung (Attribute-Based Access Control, ABAC) in Azure ist allgemein verfügbar, um den Zugriff auf Azure Blob Storage, Azure Data Lake Storage Gen2 und Azure-Warteschlangen mithilfe der Attribute request
, resource
, environment
und principal
sowohl auf der standardmäßigen als auch auf der Premium-Speicherkonto-Leistungsstufe zu steuern. Derzeit befinden sich das Ressourcenattribut für Containermetadaten und das Listen-BLOB-Anforderungsattribut in der VORSCHAU. Vollständige Informationen zum Status des ABAC-Features für Azure Storage finden Sie unter Status der Bedingungsfeatures in Azure Storage.
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Übersicht über Bedingungen in Azure Storage
Sie können Microsoft Entra ID verwenden, um Anforderungen an Azure Storage-Ressourcen mithilfe von Azure RBAC (Role-Based Access Control, rollenbasierte Zugriffssteuerung) zu autorisieren. Azure RBAC hilft Ihnen bei der Verwaltung des Zugriffs auf Ressourcen, indem über Rollendefinitionen und Rollenzuweisungen definiert wird, wer Zugriff auf Ressourcen hat und welche Aufgaben mit diesen Ressourcen erledigt werden können. Azure Storage definiert eine Reihe von in Azure integrierten Rollen mit allgemeinen Berechtigungssätzen für den Zugriff auf Azure Storage-Daten. Sie können auch benutzerdefinierte Rollen mit ausgewählten Berechtigungssätzen definieren. Azure Storage unterstützt Rollenzuweisungen sowohl für Speicherkonten als auch für Blobcontainer.
Azure ABAC baut auf Azure RBAC auf und fügt Rollenzuweisungsbedingungen im Kontext bestimmter Aktionen hinzu. Eine Rollenzuweisungsbedingung ist eine zusätzliche Prüfung, die beim Autorisieren der Aktion für die Speicherressource ausgewertet wird. Diese Bedingung wird als Prädikat mit Attributen ausgedrückt, die einem der folgenden Elemente zugeordnet sind:
- Sicherheitsprinzipal, der die Autorisierung anfordert
- Ressource, für die der Zugriff angefordert wird
- Parameter der Anforderung
- Umgebung, in der die Anforderung erfolgt
Die Verwendung von Rollenzuweisungsbedingungen bietet folgende Vorteile:
- Differenzierterer Zugriff auf Ressourcen – Wenn Sie einem Benutzer z. B. nur dann Lesezugriff auf Blobs in Ihren Speicherkonten gewähren möchten, wenn die Blobs als „Project=Sierra“ markiert sind, können Sie Bedingungen für die Leseaktion mithilfe von Tags als Attribut verwenden.
- Geringere Anzahl von Rollenzuweisungen, die Sie erstellen und verwalten müssen – Dazu können Sie eine generalisierte Rollenzuweisung für eine Sicherheitsgruppe verwenden und dann den Zugriff für einzelne Mitglieder der Gruppe über eine Bedingung einschränken, die Attribute eines Prinzipals mit Attributen einer bestimmten Ressource, auf die zugegriffen wird (z. B. ein Blob oder ein Container), abgleicht.
- Ausdrücken von Regeln für die Zugriffssteuerung in Form von Attributen mit geschäftlicher Bedeutung – Sie können Ihre Bedingungen beispielsweise über Attribute ausdrücken, die einen Projektnamen, eine Geschäftsanwendung, eine Organisationsfunktion oder eine Klassifizierungsebene darstellen.
Der Nachteil der Verwendung von Bedingungen ist, dass eine strukturierte und konsistente Taxonomie bei der Verwendung von Attributen in Ihrer Organisation erforderlich ist. Der Zugriff auf Attribute muss geschützt sein, um eine Kompromittierung zu verhindern. Darüber hinaus müssen Bedingungen sorgfältig entworfen und auf ihre Wirksamkeit überprüft werden.
Rollenzuweisungsbedingungen in Azure Storage werden für Azure Blob Storage unterstützt. Sie können auch Bedingungen bei Konten verwenden, für die das Feature hierarchischer Namespace (HNS) aktiviert wurde (Data Lake Storage).
Unterstützte Attribute und Vorgänge
Sie können Bedingungen für Rollenzuweisungen für DataActions konfigurieren, um diese Ziele zu erreichen. Sie können Bedingungen bei einer benutzerdefinierten Rolle verwenden oder integrierte Rollen auswählen. Beachten Sie, dass Bedingungen für Verwaltungsaktionen über den Speicherressourcenanbieter nicht unterstützt werden.
Sie können integrierten Rollen oder benutzerdefinierten Rollen Bedingungen hinzufügen. Die integrierten Rollen, für die Sie Rollenzuweisungsbedingungen verwenden können, umfassen:
Sie können Bedingungen mit benutzerdefinierten Rollen verwenden, solange die Rolle Aktionen, die Bedingungen unterstützen enthält.
Wenn Sie mit Bedingungen arbeiten, die auf Blobindextags basieren, sollten Sie den Besitzer von Speicherblobdaten verwenden, da Berechtigungen für Tagvorgänge in dieser Rolle enthalten sind.
Hinweis
Blobindextags werden bei Data Lake Storage-Speicherkonten, die einen hierarchischen Namespace verwenden, nicht unterstützt. Sie sollten keine Rollenzuweisungsbedingungen mithilfe von Indextags für Speicherkonten autorisieren, bei denen HNS aktiviert wurde.
Das Format für Azure-Rollenzuweisungsbedingungen ermöglicht die Verwendung von @Principal
-, @Resource
-, @Request
- oder @Environment
-Attributen in den Bedingungen. Ein @Principal
-Attribut ist ein benutzerdefiniertes Sicherheitsattribut für einen Prinzipal, z. B. ein Benutzer, eine Unternehmensanwendung (Dienstprinzipal) oder eine verwaltete Identität. Ein @Resource
-Attribut bezieht sich auf ein vorhandenes Attribut einer Speicherressource, auf die zugegriffen wird, z. B. ein Speicherkonto, ein Container oder ein Blob. Ein @Request
-Attribut bezieht sich auf ein Attribut oder einen Parameter, das/der in einer Speichervorgangsanforderung enthalten ist. Ein @Environment
-Attribut bezieht sich auf die Netzwerkumgebung oder das Datum und die Uhrzeit einer Anforderung.
Azure RBAC unterstützt eine begrenzte Anzahl von Rollenzuweisungen pro Abonnement. Wenn Sie viele tausend Azure-Rollenzuweisungen erstellen müssen, wird dieser Grenzwert möglicherweise überschritten. Die Verwaltung von Hunderten oder Tausenden von Rollenzuweisungen kann schwierig sein. In einigen Fällen können Sie Bedingungen verwenden, um die Anzahl der Rollenzuweisungen für Ihr Speicherkonto zu verringern und deren Verwaltung zu vereinfachen. Sie können die Verwaltung von Azure-Rollenzuweisungen skalieren, indem Sie Bedingungen und benutzerdefinierte Microsoft Entra-Sicherheitsattribute für Prinzipale verwenden.
Status der Bedingungsfeatures in Azure Storage
Die attributbasierte Zugriffssteuerung (Attribute-Based Access Control, ABAC) in Azure ist allgemein verfügbar, um den Zugriff auf Azure Blob Storage, Azure Data Lake Storage und Azure Queue Storage mithilfe der Attribute request
, resource
, environment
und principal
sowohl auf der standardmäßigen als auch auf der Leistungsstufe Storage Premium zu steuern. Derzeit befinden sich das Ressourcenattribut für Containermetadaten und das Anforderungsattribut zu möglichen Werten für „list blob“ in der VORSCHAU.
Die folgende Tabelle zeigt den aktuellen Status von ABAC nach Speicherressourcentyp und Attributtyp. Ausnahmen für spezifische Attribute werden ebenfalls angezeigt.
Ressourcentypen | Attributtypen | Attribute | Verfügbarkeit |
---|---|---|---|
BLOBs Data Lake Storage Warteschlangen |
Anfordern Resource Environment Prinzipal |
Alle Attribute außer den in dieser Tabelle aufgeführten Attributen | Allgemein verfügbar |
Data Lake Storage | Resource | Momentaufnahme | Vorschau |
BLOBs Data Lake Storage |
Resource | Containermetadaten | Vorschau |
BLOBs | Anfordern | Mögliche Werte für „list blob“ | Vorschau |
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Hinweis
Einige Speicherfeatures werden bei Data Lake Storage-Speicherkonten, die einen hierarchischen Namespace (HNS) verwenden, nicht unterstützt. Weitere Informationen finden Sie unter Blob Storage-Featureunterstützung.
Die folgenden ABAC-Attribute werden nicht unterstützt, wenn der hierarchische Namespace für ein Speicherkonto aktiviert ist:
Nächste Schritte
- Voraussetzungen für Azure-Rollenzuweisungsbedingungen
- Tutorial: Hinzufügen einer Rollenzuweisungsbedingung zum Einschränken des Zugriffs auf Blobs mit dem Azure-Portal
- Aktionen und Attribute für Azure-Rollenzuweisungsbedingungen in Azure Storage
- Exemplarische Azure-Rollenzuweisungsbedingungen (Vorschau)
- Problembehandlung: Bedingungen für die Azure-Rollenzuweisung
Weitere Informationen
- Was ist die attributbasierte Zugriffssteuerung in Azure (Azure Attribute-Based Access Control, Azure ABAC)?
- Häufig gestellte Fragen zu Azure-Rollenzuweisungsbedingungen
- Format und Syntax von Azure-Rollenzuweisungsbedingungen
- Skalieren der Verwaltung von Azure-Rollenzuweisungen mithilfe von Bedingungen und benutzerdefinierten Sicherheitsattributen
- Sicherheitsüberlegungen zu Azure-Rollenzuweisungsbedingungen in Azure Storage