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.
Allgemeine Fragen
Symptom - Bedingung wird nicht erzwungen
Ursache 1
Sicherheitsprinzipale verfügen über mindestens eine Rollenzuweisung im gleichen oder einem höheren Bereich.
Lösung 1
Stellen Sie sicher, dass die Sicherheitsprinzipale nicht über mehrere Rollenzuweisungen (mit oder ohne Bedingungen) verfügen, die den Zugriff auf dieselbe Datenaktion gewähren, was zur Nichtdurchsetzung von Bedingungen führt. Informationen zur Auswertungslogik finden Sie unter Wie Azure RBAC bestimmt, ob ein Benutzer Zugriff auf eine Ressource hat.
Ursache 2
Ihre Rollenzuweisung verfügt über mehrere Aktionen, die eine Berechtigung erteilen, und Ihre Bedingung zielt nicht auf alle Aktionen ab. Zum Beispiel können Sie ein Blob erstellen, wenn Sie über eine der /blobs/write- oder /blobs/add/action-Datenaktionen verfügen. Wenn Ihre Rollenzuweisung beide Datenaktionen enthält und Sie nur eine davon in einer Bedingung berücksichtigen, gewährt die Rollenzuweisung die Berechtigung zum Erstellen von Blobs und umgeht die Bedingung.
Lösung 2
Wenn Ihre Rollenzuweisung über mehrere Aktionen verfügt, die eine Berechtigung erteilen, stellen Sie sicher, dass Sie auf alle relevanten Aktionen abzielen.
Ursache 3
Wenn Sie einer Rollenzuweisung eine Bedingung hinzufügen, kann es bis zu 5 Minuten dauern, bis die Bedingung erzwungen wird. Wenn Sie eine Bedingung hinzufügen, werden Ressourcenanbieter (z. B. Microsoft Storage) über das Update benachrichtigt. Ressourcenanbieter nehmen sofort Aktualisierungen an ihren lokalen Caches vor, um sicherzustellen, dass sie über die neuesten Rollenzuweisungen verfügen. Dieser Vorgang wird in 1 oder 2 Minuten abgeschlossen, kann jedoch bis zu 5 Minuten dauern.
Lösung 3
Warten Sie 5 Minuten, und testen Sie die Bedingung erneut.
Symptom - Fehler "Bedingung ist ungültig" beim Hinzufügen einer Bedingung
Wenn Sie versuchen, eine Rollenzuweisung mit einer Bedingung hinzuzufügen, erhalten Sie einen Fehler ähnlich wie:
The given role assignment condition is invalid.
Ursache 1
Die conditionVersion Eigenschaft wird auf "1.0" festgelegt.
Lösung 1
Setzen Sie die Eigenschaft conditionVersion auf "2.0".
Ursache 2
Ihre Bedingung ist nicht richtig formatiert.
Lösung 2
Beheben Sie alle Probleme mit dem Bedingungsformat oder der Syntax . Fügen Sie alternativ die Bedingung mithilfe des visuellen Editors im Azure-Portal hinzu.
Probleme im visuellen Editor
Symptom – Bedingungs-Editor wird beim Bearbeiten einer Bedingung angezeigt
Sie haben eine Bedingung mithilfe einer Vorlage erstellt, die in Delegieren der Azure-Rollenzuweisungsverwaltung an andere unter Berücksichtigung von Bedingungen beschrieben wird. Wenn Sie versuchen, die Bedingung zu bearbeiten, wird der erweiterte Bedingungs-Editor angezeigt.
Wenn Sie die Bedingung zuvor bearbeitet haben, haben Sie die Bedingungsvorlage verwendet.
Ursache
Die Bedingung stimmt nicht mit dem Muster für die Vorlage überein.
Lösung 1
Bearbeiten Sie die Bedingung so, dass sie einem der folgenden Vorlagenmuster entspricht.
| Schablone | Zustand |
|---|---|
| Rollen einschränken | Beispiel: Einschränken von Rollen |
| Einschränken von Rollen und Prinzipaltypen | Beispiel: Einschränken von Rollen und Prinzipaltypen |
| Einschränken von Rollen und Prinzipale | Beispiel: Einschränken von Rollen und bestimmten Gruppen |
| Alle außer bestimmte Rollen zulassen | Beispiel: Zulassen der meisten Rollen, aber nicht zulassen, dass andere Rollen zuweisen |
Lösung 2
Löschen Sie die Bedingung, und erstellen Sie sie mithilfe der Schritte bei der Zuweisung von Azure-Rollenzuweisungen an andere Personen mit Bedingungen neu.
Symptom: Prinzipal wird in der Attributquelle nicht angezeigt
Wenn Sie versuchen, eine Rollenzuweisung mit einer Bedingung hinzuzufügen, wird "Principal " nicht in der Attributquellliste angezeigt.
Stattdessen wird die Meldung angezeigt:
To use principal (user) attributes, you must have Microsoft Entra permissions (such as the [Attribute Assignment Administrator](../active-directory/roles/permissions-reference.md#attribute-assignment-administrator) role) and custom security attributes defined in Microsoft Entra ID.
Ursache
Sie erfüllen nicht die Voraussetzungen. Um Prinzipalattribute verwenden zu können, müssen Sie über Folgendes verfügen:
- Microsoft Entra-Berechtigungen für den angemeldeten Benutzer zum Lesen mindestens eines Attributsatzes
- Benutzerdefinierte Sicherheitsattribute, die in Microsoft Entra ID definiert sind
Lösung
Öffnen Siedie benutzerdefinierten Sicherheitsattribute>.
Wenn die Seite " Erste Schritte " angezeigt wird, verfügen Sie nicht über die Berechtigung zum Lesen mindestens eines Attributsatzes oder benutzerdefinierter Sicherheitsattribute, die noch nicht definiert wurden.
Wenn benutzerdefinierte Sicherheitsattribute definiert wurden, weisen Sie eine der folgenden Rollen im Mandantenbereich oder Attributsatzbereich zu. Weitere Informationen finden Sie unter Verwalten des Zugriffs auf benutzerdefinierte Sicherheitsattribute in Microsoft Entra ID.
- Attributdefinitionsleser
- Attributzuweisungsleser
- Attributdefinitionsadministrator
- Attributzuweisungsadministrator
Von Bedeutung
Standardmäßig verfügen globale Administratoren und andere Administratorrollen nicht über Berechtigungen zum Lesen, Definieren oder Zuweisen von benutzerdefinierten Sicherheitsattributen.
Wenn noch keine benutzerdefinierten Sicherheitsattribute definiert wurden, weisen Sie die Rolle " Attributdefinitionsadministrator " im Mandantenbereich zu, und fügen Sie benutzerdefinierte Sicherheitsattribute hinzu. Weitere Informationen finden Sie unter Hinzufügen oder Deaktivieren von benutzerdefinierten Sicherheitsattributen in der Microsoft Entra-ID.
Wenn Sie fertig sind, sollten Sie in der Lage sein, mindestens einen Attributsatz zu lesen.
Prinzipal sollte nun in der Attributquellliste angezeigt werden, wenn Sie eine Rollenzuweisung mit einer Bedingung hinzufügen.
Symptom: Prinzipal wird bei Verwendung von PIM nicht in der Attributquelle angezeigt
Wenn Sie versuchen, eine Rollenzuweisung mit einer Bedingung mithilfe von Microsoft Entra Privileged Identity Management (PIM) hinzuzufügen, erscheint Prinzipal nicht in der Liste der Attributquellen.
Ursache
PIM unterstützt derzeit die Verwendung des Prinzipalattributes in einer Rollenzuweisungsbedingung nicht.
Fehlermeldungen im visuellen Editor
Symptom - Zustand unbekannt
Nachdem Sie den Code-Editor verwendet haben, wechseln Sie zum visuellen Editor, und erhalten Sie eine Meldung ähnlich der folgenden:
The current expression cannot be recognized. Switch to the code editor to edit the expression or delete the expression and add a new one.
Ursache
Die Bedingung, die der visuelle Editor nicht analysieren kann, wurde aktualisiert.
Lösung
Beheben Sie alle Probleme mit dem Bedingungsformat oder der Syntax . Alternativ können Sie die Bedingung löschen und es erneut versuchen.
Symptom - Attribut wendet keinen Fehler für zuvor gespeicherte Bedingung an
Wenn Sie eine zuvor gespeicherte Bedingung im visuellen Editor öffnen, erhalten Sie die folgende Meldung:
Attribute does not apply for the selected actions. Select a different set of actions.
Ursache
Im Mai 2022 wurde die Aktion "Blob lesen" vom folgenden Format geändert:
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})
So schließen Sie die Blob.List Unteroperation aus:
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})
Wenn Sie vor Mai 2022 eine Bedingung mit der Aktion "Eine Blob-Datei lesen" erstellt haben, wird möglicherweise eine Fehlermeldung im visuellen Editor angezeigt.
Lösung
Öffnen Sie das Fenster Aktionsbereich auswählen und wählen Sie die Aktion Blob lesen erneut aus.
Symptom: Fehler mit Hinweis auf nicht geltendes Attribut
Wenn Sie eine oder mehrere Aktionen im visuellen Editor mit einem vorhandenen Ausdruck auswählen, erhalten Sie die folgende Meldung, und das zuvor ausgewählte Attribut wird entfernt:
Attribute does not apply for the selected actions. Select a different set of actions.
Ursache
Das zuvor ausgewählte Attribut gilt nicht mehr für die aktuell ausgewählten Aktionen.
Lösung 1
Wählen Sie im Abschnitt "Aktion hinzufügen " eine Aktion aus, die für das ausgewählte Attribut gilt. Eine Liste der Speicheraktionen, die jedes Speicherattribute unterstützt, finden Sie unter Aktionen und Attribute für Azure-Rollenzuweisungsbedingungen für Azure Blob Storageund Aktionen und Attribute für Azure-Rollenzuweisungsbedingungen für Azure-Warteschlangen.
Lösung 2
Wählen Sie im Abschnitt "Ausdruck erstellen" ein Attribut aus, das auf die aktuell ausgewählten Aktionen zutrifft. Eine Liste der Speicherattribute, die jede Speicheraktion unterstützt, finden Sie unter Aktionen und Attribute für Azure-Rollenzuweisungsbedingungen für Azure Blob Storageund Aktionen und Attribute für Azure-Rollenzuweisungsbedingungen für Azure-Warteschlangen.
Symptom – Attribut gilt in dieser Kontextwarnung nicht
Wenn Sie Im Code-Editor Bearbeitungen vornehmen und dann zum visuellen Editor wechseln, erhalten Sie die folgende Meldung, und das zuvor ausgewählte Attribut wird entfernt:
Attribute does not apply in this context. Use a different role assignment scope or remove the expression.
Ursache
Das angegebene Attribut ist im aktuellen Bereich nicht verfügbar, zum Beispiel bei der Verwendung von Version ID in einem Speicherkonto mit aktiviertem hierarchischen Namespace.
Lösung
Wenn Sie das derzeit angegebene Attribut verwenden möchten, erstellen Sie die Rollenzuweisungsbedingung in einem anderen Bereich, z. B. dem Ressourcengruppenbereich. Sie können den Ausdruck auch mithilfe der aktuell ausgewählten Aktionen entfernen und erneut erstellen.
Symptom - Attribut wird nicht erkannt Fehler
Wenn Sie Im Code-Editor Bearbeitungen vornehmen und dann zum visuellen Editor wechseln, erhalten Sie die folgende Meldung, und das zuvor ausgewählte Attribut wird entfernt:
Attribute is not recognized. Select a valid attribute or remove the expression.
Ursache
Das angegebene Attribut wird möglicherweise aufgrund eines Tippfehlers nicht erkannt.
Lösung
Beheben Sie im Code-Editor den Tippfehler. Oder entfernen Sie den vorhandenen Ausdruck, und verwenden Sie den visuellen Editor, um ein Attribut auszuwählen.
Symptom - Fehler: Attributwert ist ungültig
Wenn Sie Im Code-Editor Bearbeitungen vornehmen und dann zum visuellen Editor wechseln, erhalten Sie die folgende Meldung, und das zuvor ausgewählte Attribut wird entfernt:
Attribute value is invalid. Select another attribute or value.
Ursache
Die rechte Seite des Ausdrucks enthält ein Attribut oder einen Wert, der ungültig ist.
Lösung
Verwenden Sie den visuellen Editor, um ein Attribut auszuwählen oder einen Wert anzugeben.
Symptom: Fehler „Es wurden keine Aktionen ausgewählt.“
Wenn Sie alle Aktionen im visuellen Editor entfernen, erhalten Sie die folgende Meldung:
No actions selected. Select one or more actions to edit expressions.
Ursache
Es gibt einen vorhandenen Ausdruck, aber es wurden keine Aktionen als Ziel ausgewählt.
Lösung
Fügen Sie im Abschnitt "Aktion hinzufügen" eine oder mehrere Aktionen hinzu, auf die der Ausdruck abzielen soll.
Symptom - Fehler: Keine Optionen verfügbar
Wenn Sie versuchen, einen Ausdruck hinzuzufügen, erhalten Sie die folgende Meldung:
No options available
Ursache
Sie haben mehrere Aktionen ausgewählt, aber es gibt keine Attribute, die auf alle aktuell ausgewählten Aktionen zutreffen.
Lösung
Wählen Sie im Abschnitt "Aktion hinzufügen " weniger Aktionen aus, die als Ziel verwendet werden sollen. Fügen Sie mehrere Bedingungen hinzu, um die entfernten Aktionen als Ziel zu verwenden.
Symptom - Rollendefinitions-IDs nicht gefunden
Wenn Sie versuchen, einen Ausdruck hinzuzufügen, erhalten Sie die folgende Meldung:
Cannot find built-in or custom role definitions with IDs: <role IDs>. These IDs were removed. Check that the IDs are valid and try to add again. You can also refresh the page or sign out and sign in again.
Ursache
Mindestens eine Rollendefinitions-IDs, die Sie für das Attribut "Rollendefinitions-ID " hinzufügen wollten, wurde nicht gefunden oder verfügt nicht über das richtige GUID-Format: 00000000-0000-0000-0000-000000000000.
Lösung
Verwenden Sie den Bedingungs-Editor, um die Rolle auszuwählen. Wenn Sie die benutzerdefinierte Rolle kürzlich hinzugefügt haben, aktualisieren Sie die Seite, oder melden Sie sich ab, und melden Sie sich erneut an.
Symptom – Prinzipal-IDs nicht gefunden
Wenn Sie versuchen, einen Ausdruck hinzuzufügen, erhalten Sie die folgende Meldung:
Cannot find users, groups, or service principals in Azure Active Directory with principal IDs: <principal IDs>. These IDs were removed. Check that the IDs are valid and try to add again. You can also refresh the page or sign out and sign in again.
Ursache
Mindestens eine Principal-ID, die Sie für das Attribut "Principal ID" hinzuzufügen versucht haben, wurde nicht gefunden oder hat nicht das richtige GUID-Format: 00000000-0000-0000-0000-000000000000.
Lösung
Verwenden Sie den Bedingungseditor, um den Prinzipal auszuwählen. Wenn Sie den benutzerdefinierten Prinzipal kürzlich hinzugefügt haben, aktualisieren Sie die Seite, oder melden Sie sich ab, und melden Sie sich erneut an.
Fehlermeldungen in Azure PowerShell
Symptom: Fehler mit Hinweis auf ungültiges Ressourcenattribut
Wenn Sie versuchen, eine Rollenzuweisung mit einer Bedingung mit Azure PowerShell hinzuzufügen, erhalten Sie einen Fehler ähnlich wie:
New-AzRoleAssignment : Resource attribute
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$> is not valid.
Ursache
Wenn Ihre Bedingung ein Dollarzeichen ($) enthält, müssen Sie ihm einen umgekehrten Schrägstrich (`) voranstellen.
Lösung
Fügen Sie vor jedem Dollarzeichen einen umgekehrten Schrägstrich (`) hinzu. Die Folgenden wird ein Beispiel gezeigt. Weitere Informationen zu Regeln für Anführungszeichen in PowerShell finden Sie unter "Regeln zum Anführungszeichen".
$condition = "((!(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`$>] StringEquals 'Cascade'))"
Symptom - Fehler beim Kopieren und Einfügen einer Bedingung
Ursache
Wenn Sie PowerShell verwenden und eine Bedingung aus einem Dokument kopieren, kann sie Sonderzeichen enthalten, die den folgenden Fehler verursachen. Einige Editoren (z. B. Microsoft Word) fügen Steuerzeichen hinzu, wenn Text formatiert wird, der nicht angezeigt wird.
The given role assignment condition is invalid.
Lösung
Wenn Sie eine Bedingung aus einem Rich-Text-Editor kopiert haben und sicher sind, dass die Bedingung korrekt ist, löschen Sie alle Leerzeichen und Umbrüche und fügen Sie dann die relevanten Leerzeichen wieder ein. Alternativ können Sie einen Nur-Text-Editor oder einen Code-Editor verwenden, z. B. Visual Studio Code.
Fehlermeldungen in Azure CLI
Symptom: Fehler mit Hinweis auf ungültiges Ressourcenattribut
Wenn Sie versuchen, eine Rollenzuweisung mit einer Bedingung mithilfe der Azure CLI hinzuzufügen, erhalten Sie einen Fehler ähnlich wie:
Resource attribute Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$> is not valid.
Ursache
Wenn Ihre Bedingung ein Dollarzeichen ($) enthält, müssen Sie ihr einen umgekehrten Schrägstrich (\) voranstellen.
Lösung
Fügen Sie vor jedem Dollarzeichen einen umgekehrten Schrägstrich (\) hinzu. Die Folgenden wird ein Beispiel gezeigt. Weitere Informationen zu Regeln für Anführungszeichen in Bash finden Sie unter "Doppelte Anführungszeichen".
condition="((!(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\$>] StringEquals 'Cascade'))"
Symptom - Unbekannter Argumentfehler
Wenn Sie versuchen, eine Rollenzuweisung mit einer Bedingung mithilfe der Azure CLI hinzuzufügen, erhalten Sie einen Fehler ähnlich wie:
az: error: unrecognized arguments: --description {description} --condition {condition} --condition-version 2.0
Ursache
Sie verwenden wahrscheinlich eine frühere Version von Azure CLI, die Keine Rollenzuweisungsbedingungsparameter unterstützt.
Lösung
Aktualisieren Sie auf die neueste Version von Azure CLI (2.18 oder höher). Weitere Informationen finden Sie unter Installieren der Azure-Befehlszeilenschnittstelle.
Symptom – Fehler beim Zuweisen einer Bedingungszeichenfolge zu einer Variablen in Bash
Wenn Sie versuchen, einer Variablen in Bash eine Bedingungszeichenfolge zuzuweisen, erhalten Sie die bash: !: event not found Nachricht.
Ursache
Wenn die Verlaufserweiterung in Bash aktiviert ist, wird aufgrund des Ausrufezeichens (!) unter Umständen die Meldung bash: !: event not found angezeigt.
Lösung
Deaktivieren Sie die Verlaufserweiterung mit dem Befehl set +H. Verwenden Sie set -H, um die Verlaufserweiterung erneut zu aktivieren.
Fehlermeldungen in der API
Symptom – HTTP 403 Verbotene Antwort beim Löschen einer Rollenzuweisung
Erwägen Sie einen Prinzipal, der über Autorisierungsberechtigungen zum Ändern von Rollenzuweisungen verfügt, und die Autorisierungsberechtigungen enthalten auch eine ABAC-Bedingung. Wenn der Prinzipal versucht, eine bereits gelöschte oder nicht vorhandene Rollenzuweisung zu löschen, erhält er die HTTP 403 Forbidden Antwort HTTP 403 Forbidden anstelle der erwarteten Antwort .
Ursache
Wenn ein Prinzipal über Berechtigungen verfügt, die eine ABAC-Bedingung enthalten, versucht das System, das Attribut während der Bedingungsauswertung zu lesen. Wenn das Attribut nicht vorhanden ist, kann dies zu einer unerwarteten Antwort anstelle des erwarteten Ergebnisses führen.
Lösung
Bei der Behandlung von Antworten für Autorisierungsberechtigungen, die auch eine Bedingung enthalten, sollten Sie auch die 403 Forbidden Antwort behandeln. Die 403 Forbidden Antwort kann potenziell auf unzureichende Berechtigungen hinweisen, dass die Rollenzuweisung bereits gelöscht wurde oder dass die Rollenzuweisung nicht vorhanden ist.