Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In den meisten Fällen gewährt eine Rollenzuweisung die Berechtigungen, die Sie für Azure-Ressourcen benötigen. In einigen Fällen sollten Sie jedoch eine genauere Zugriffssteuerung bereitstellen, indem Sie eine Rollenzuweisungsbedingung hinzufügen.
In diesem Tutorial lernen Sie Folgendes:
- Hinzufügen einer Bedingung zu einer Rollenzuweisung
- Einschränkung des Zugriffs auf Blobs basierend auf einem Blob-Index-Tag
Von Bedeutung
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 Anforderungsattribut zum Einschluss des Listenblobs und das Anforderungsattribut von Momentaufnahmen für hierarchische Namespaces 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.
Voraussetzungen
Informationen zu den Voraussetzungen für das Hinzufügen oder Bearbeiten von Rollenzuweisungsbedingungen finden Sie unter Voraussetzungen für Bedingungen.
Zustand
In diesem Tutorial beschränken Sie den Zugriff auf Blobs mit einem bestimmten Tag. Beispielsweise fügen Sie einer Rollenzuweisung eine Bedingung hinzu, damit Chandra nur Dateien mit dem Tag Project=Cascadelesen kann.

Wenn Chandra versucht, ein Blob ohne Tag Project=Cascadezu lesen, ist der Zugriff nicht zulässig.

So sieht die Bedingung im Code aus:
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
AND NOT
SubOperationMatches{'Blob.List'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
)
)
Schritt 1: Erstellen eines Benutzers
Melden Sie sich beim Azure-Portal als Besitzer eines Abonnements an.
Wählen Sie Microsoft Entra ID aus.
Erstellen Sie einen Benutzer, oder suchen Sie einen vorhandenen Benutzer. In diesem Lernprogramm wird Chandra als Beispiel verwendet.
Schritt 2: Einrichten von Speicher
Erstellen Sie ein Speicherkonto, das mit dem Feature "Blobindextags" kompatibel ist. Weitere Informationen finden Sie unter Verwalten und Finden von Azure-Blobdaten mit Blobindextags.
Erstellen Sie einen neuen Container innerhalb des Speicherkontos, und legen Sie die Anonyme Zugriffsebene auf "Privat" fest (kein anonymer Zugriff).
Wählen Sie im Container "Hochladen" aus, um den Blobbereich "Hochladen" zu öffnen.
Suchen Sie eine Textdatei, die hochgeladen werden soll.
Wählen Sie "Erweitert" aus, um den Bereich zu erweitern.
Fügen Sie der Textdatei im Abschnitt Blobindextags das folgende Blobindextag hinzu.
Falls der Abschnitt „Blobindextags“ nicht angezeigt wird und Sie Ihr Abonnement eben erst registriert haben, warten Sie ggf. einige Minuten, damit die Änderungen weitergegeben werden können. Weitere Informationen finden Sie unter Verwenden von BLOB-Indextags zum Verwalten und Suchen von Daten in Azure Blob Storage.
Hinweis
Von Blobs wird auch das Speichern beliebiger benutzerdefinierter Schlüssel-Wert-Metadaten unterstützt. Metadaten sind zwar mit Blobindextags vergleichbar, für Bedingungen müssen jedoch Blobindextags verwendet werden.
Schlüssel Wert Projekt Cascade
Wählen Sie die Schaltfläche "Hochladen " aus, um die Datei hochzuladen.
Laden Sie eine zweite Textdatei hoch.
Fügen Sie der zweiten Textdatei das folgende Blobindextag hinzu:
Schlüssel Wert Projekt Bäcker
Schritt 3: Zuweisen einer Rolle für Speicher-BLOB-Daten
Öffnen Sie die Ressourcengruppe.
Wählen Sie Zugriffssteuerung (IAM) aus.
Wählen Sie die Registerkarte Rollenzuweisungen aus, um die Rollenzuweisungen für diesen Bereich anzuzeigen.
Wählen Sie Hinzufügen>Rollenzuweisung hinzufügen. Die Seite "Rollenzuweisung hinzufügen" wird geöffnet:
- Wählen Sie auf der Registerkarte "Rollen " die Rolle " Storage Blob Data Reader " aus.
- Wählen Sie auf der Registerkarte " Mitglieder " den Benutzer aus, den Sie zuvor erstellt haben.
(Optional) Geben Sie im Feld Beschreibung den Text Lesezugriff auf Blobs mit dem Tag Project=Cascade ein.
Wählen Sie Weiteraus.
Schritt 4: Hinzufügen einer Bedingung
- Wählen Sie auf der Registerkarte "Bedingungen" (optional) die Option "Bedingung hinzufügen" aus. Die Seite "Rollenzuweisungsbedingung hinzufügen" wird angezeigt:
Wählen Sie im Abschnitt "Aktion hinzufügen" die Option "Aktion hinzufügen" aus.
Der Bereich "Aktion auswählen" wird angezeigt. In diesem Bereich wird eine gefilterte Liste mit Datenaktionen angezeigt, die auf der Rollenzuweisung basiert, die als Ziel Ihrer Bedingung verwendet wird. Aktivieren Sie das Kontrollkästchen neben "Blob lesen" und wählen Sie "Auswählen".
Wählen Sie im Abschnitt "Ausdruck erstellen" "Ausdruck hinzufügen" aus.
Der Abschnitt "Expression" wird erweitert.
Geben Sie die folgenden Ausdruckseinstellungen an:
Konfiguration Wert Attributquelle Ressource Merkmal Blobindextags [Werte im Schlüssel] Schlüssel Projekt Bediener StringEqualsIgnoreCase Wert Cascade
Scrollen Sie nach oben zum Editortyp , und wählen Sie "Code" aus.
Die Bedingung wird als Code angezeigt. Sie können änderungen an der Bedingung in diesem Code-Editor vornehmen. Um zum visuellen Editor zurückzukehren, wählen Sie "Visual" aus.
Wählen Sie "Speichern" aus, um die Bedingung hinzuzufügen und zur Seite "Rollenzuweisung hinzufügen" zurückzukehren.
Wählen Sie Weiteraus.
Wählen Sie auf der Registerkarte "Überprüfen+ Zuweisen" die Option "Überprüfen" aus, um die Rolle mit einer Bedingung zuzuweisen.
Nach einigen Augenblicken wird dem Sicherheitsprinzipal die Rolle für den Bereich zugewiesen.
Schritt 5: Zuweisen der Rolle „Leser“
Wiederholen Sie die vorherigen Schritte, um die Reader-Rolle dem Benutzer zuzuweisen, den Sie zuvor im Ressourcengruppenbereich erstellt haben.
Hinweis
In der Regel müssen Sie die Rolle „Leser“ nicht zuweisen. Dies geschieht jedoch, damit Sie die Bedingung mithilfe des Azure-Portals testen können.
Schritt 6: Testen der Bedingung
Melden Sie sich in einem neuen Fenster beim Azure-Portal an.
Melden Sie sich als der Benutzer an, den Sie zuvor erstellt haben.
Öffnen Sie das von Ihnen erstellte Speicherkonto und den von Ihnen erstellten Container.
Stellen Sie sicher, dass die Authentifizierungsmethode auf das Microsoft Entra-Benutzerkonto und nicht auf den Zugriffsschlüssel festgelegt ist.
Wählen Sie die Baker-Textdatei aus.
Sie sollten nicht in der Lage sein, das Blob anzuzeigen oder herunterzuladen, und eine Fehlermeldung zur Autorisierung sollte angezeigt werden.
Wählen Sie "Cascade"-Textdatei aus.
Sie sollten das Blob anzeigen und herunterladen können.
Schritt 7: Bereinigen der Ressourcen
Entfernen Sie die hinzugefügte Rollenzuweisung.
Löschen Sie das erstellte Testspeicherkonto.
Löschen Sie den von Ihnen erstellten Benutzer.









