Share via


Problemen met Azure-roltoewijzingsvoorwaarden oplossen

Algemene problemen

Symptoom - Voorwaarde wordt niet afgedwongen

Oorzaak 1

Beveiligingsprinciplen hebben een of meer roltoewijzingen in hetzelfde bereik of een hoger bereik.

Oplossing 1

Zorg ervoor dat de beveiligingsprinciplen niet meerdere roltoewijzingen (met of zonder voorwaarden) hebben die toegang verlenen tot dezelfde gegevensactie die leidt tot niet-afdwinging van voorwaarden. Zie Hoe Azure RBAC bepaalt of een gebruiker toegang heeft tot een resource voor meer informatie over de evaluatielogica.

Oorzaak 2

Uw roltoewijzing heeft meerdere acties die een machtiging verlenen en uw voorwaarde is niet gericht op alle acties. U kunt bijvoorbeeld een blob maken als u een of /blobs/add/action meer gegevensacties hebt/blobs/write. Als uw roltoewijzing zowel gegevensacties heeft als u zich op slechts één van deze acties richt in een voorwaarde, verleent de roltoewijzing de machtiging om blobs te maken en de voorwaarde te omzeilen.

Oplossing 2

Als uw roltoewijzing meerdere acties heeft die een machtiging verlenen, moet u ervoor zorgen dat u alle relevante acties richt.

Oorzaak 3

Wanneer u een voorwaarde aan een roltoewijzing toevoegt, kan het tot vijf minuten duren voordat de voorwaarde wordt afgedwongen. Wanneer u een voorwaarde toevoegt, worden resourceproviders (zoals Microsoft Storage) op de hoogte gesteld van de update. Resourceproviders maken onmiddellijk updates voor hun lokale caches om ervoor te zorgen dat ze de meest recente roltoewijzingen hebben. Dit proces wordt binnen 1 of 2 minuten voltooid, maar kan maximaal 5 minuten duren.

Oplossing 3

Wacht vijf minuten en test de voorwaarde opnieuw.

Symptoom - Voorwaarde is ongeldige fout bij het toevoegen van een voorwaarde

Wanneer u een roltoewijzing met een voorwaarde probeert toe te voegen, krijgt u een foutmelding die vergelijkbaar is met:

The given role assignment condition is invalid.

Oorzaak 1

De conditionVersion eigenschap is ingesteld op 1.0.

Oplossing 1

Stel conditionVersion de eigenschap in op '2.0'.

Oorzaak 2

Uw voorwaarde is niet juist opgemaakt.

Oplossing 2

Los eventuele problemen met de indeling of syntaxis van een voorwaarde op. U kunt ook de voorwaarde toevoegen met behulp van de visual-editor in Azure Portal.

Problemen in de visuele editor

Symptoom - Voorwaarde-editor wordt weergegeven bij het bewerken van een voorwaarde

U hebt een voorwaarde gemaakt met behulp van een sjabloon die wordt beschreven in Toewijzingsbeheer van Azure-rollen delegeren aan anderen met voorwaarden. Wanneer u de voorwaarde probeert te bewerken, ziet u de editor voor geavanceerde voorwaarden.

Schermopname van voorwaardeeditor met opties voor het bewerken van een voorwaarde.

Wanneer u de voorwaarde eerder hebt bewerkt, hebt u deze bewerkt met behulp van de voorwaardesjabloon.

Schermopname van voorwaardesjablonen waarvoor overeenkomende sjabloon is ingeschakeld.

Oorzaak

De voorwaarde komt niet overeen met het patroon voor de sjabloon.

Oplossing 1

Bewerk de voorwaarde zodat deze overeenkomt met een van de volgende sjabloonpatronen.

Template Conditie
Rollen beperken Voorbeeld: Rollen beperken
Rollen en principal-typen beperken Voorbeeld: Rollen en principal-typen beperken
Rollen en principals beperken Voorbeeld: Rollen en specifieke groepen beperken
Alle behalve specifieke rollen toestaan Voorbeeld: De meeste rollen toestaan, maar anderen niet toestaan rollen toe te wijzen

Oplossing 2

Verwijder de voorwaarde en maak deze opnieuw met behulp van de stappen bij Toewijzingsbeheer van Azure-rollen delegeren aan anderen met voorwaarden.

Symptoom - Principal wordt niet weergegeven in kenmerkbron

Wanneer u een roltoewijzing met een voorwaarde probeert toe te voegen, wordt Principal niet weergegeven in de lijst met kenmerkbronnen .

Schermopname van principal in de lijst met kenmerken bij het toevoegen van een voorwaarde.

In plaats daarvan ziet u het volgende bericht:

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.

Oorzaak

U voldoet niet aan de vereisten. Als u principal-kenmerken wilt gebruiken, moet u het volgende hebben:

  • Microsoft Entra-machtigingen voor de aangemelde gebruiker om ten minste één kenmerkset te lezen
  • Aangepaste beveiligingskenmerken die zijn gedefinieerd in Microsoft Entra-id

Oplossing

  1. Open aangepaste beveiligingskenmerken van Microsoft Entra ID>.

    Als u de pagina Aan de slag ziet, bent u niet gemachtigd om ten minste één kenmerkenet te lezen of aangepaste beveiligingskenmerken nog niet gedefinieerd.

    Schermopname van de pagina Aan de slag met aangepaste beveiligingskenmerken.

  2. Als aangepaste beveiligingskenmerken zijn gedefinieerd, wijst u een van de volgende rollen toe op tenantbereik of kenmerksetbereik. Zie Toegang tot aangepaste beveiligingskenmerken beheren in Microsoft Entra-id voor meer informatie.

    Belangrijk

    Globale beheerder en andere beheerdersrollen hebben standaard geen machtigingen voor het lezen, definiëren en toewijzen van aangepaste beveiligingskenmerken.

  3. Als aangepaste beveiligingskenmerken nog niet zijn gedefinieerd, wijst u de rol Kenmerkdefinitie Beheer istrator toe op tenantbereik en voegt u aangepaste beveiligingskenmerken toe. Zie Aangepaste beveiligingskenmerken toevoegen of deactiveren in Microsoft Entra ID voor meer informatie.

    Wanneer u klaar bent, moet u ten minste één kenmerkset kunnen lezen.

    Schermopname van het kenmerk dat de gebruiker kan lezen.

    Principal moet nu worden weergegeven in de lijst met kenmerkbronnen wanneer u een roltoewijzing met een voorwaarde toevoegt.

Symptoom - Principal wordt niet weergegeven in kenmerkbron bij het gebruik van PIM

Wanneer u probeert een roltoewijzing met een voorwaarde toe te voegen met behulp van Microsoft Entra Privileged Identity Management (PIM), wordt Principal niet weergegeven in de lijst met kenmerkbronnen.

Schermopname van principal in de lijst met kenmerken bij het toevoegen van een voorwaarde met Privileged Identity Management.

Oorzaak

PIM biedt momenteel geen ondersteuning voor het gebruik van het principal-kenmerk in een voorwaarde voor roltoewijzing.

Foutberichten in visuele editor

Symptoom - Voorwaarde niet herkend

Nadat u de code-editor hebt gebruikt, schakelt u over naar de visual-editor en krijgt u een bericht dat er ongeveer als volgt uitziet:

The current expression cannot be recognized. Switch to the code editor to edit the expression or delete the expression and add a new one.

Oorzaak

Er zijn updates aangebracht in de voorwaarde dat de visual-editor niet kan worden geparseerd.

Oplossing

Los eventuele problemen met de indeling of syntaxis van een voorwaarde op. U kunt de voorwaarde ook verwijderen en het opnieuw proberen.

Symptoom - Kenmerk past geen fout toe voor eerder opgeslagen voorwaarde

Wanneer u een eerder opgeslagen voorwaarde opent in de visuele editor, wordt het volgende bericht weergegeven:

Attribute does not apply for the selected actions. Select a different set of actions.

Oorzaak

In mei 2022 is de actie Een blob lezen gewijzigd van de volgende indeling:

!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})

De suboperation uitsluiten Blob.List :

!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})

Als u een voorwaarde hebt gemaakt met de actie Een blob lezen vóór mei 2022, ziet u mogelijk dit foutbericht in de visual-editor.

Oplossing

Open het deelvenster Een actie selecteren en selecteer de actie Een blob lezen opnieuw.

Symptoom - Kenmerk past geen fout toe

Wanneer u een of meer acties in de visual-editor selecteert met een bestaande expressie, krijgt u het volgende bericht en wordt het eerder geselecteerde kenmerk verwijderd:

Attribute does not apply for the selected actions. Select a different set of actions.

Oorzaak

Het eerder geselecteerde kenmerk is niet meer van toepassing op de geselecteerde acties.

Oplossing 1

Selecteer in de sectie Actie toevoegen een actie die van toepassing is op het geselecteerde kenmerk. Voor een lijst met opslagacties die door elk opslagkenmerk worden ondersteund, raadpleegt u Acties en kenmerken voor azure-roltoewijzingsvoorwaarden voor Azure Blob Storage en Acties en kenmerken voor voorwaarden voor Azure-roltoewijzingen voor Azure-wachtrijen.

Oplossing 2

Selecteer in de sectie Build-expressie een kenmerk dat van toepassing is op de geselecteerde acties. Voor een lijst met opslagkenmerken die door elke opslagactie worden ondersteund, raadpleegt u Acties en kenmerken voor azure-roltoewijzingsvoorwaarden voor Azure Blob Storage en Acties en kenmerken voor voorwaarden voor Azure-roltoewijzingen voor Azure-wachtrijen.

Symptoom - Kenmerk is niet van toepassing in deze contextwaarschuwing

Wanneer u wijzigingen aanbrengt in de code-editor en vervolgens overschakelt naar de visual-editor, krijgt u het volgende bericht en wordt het eerder geselecteerde kenmerk verwijderd:

Attribute does not apply in this context. Use a different role assignment scope or remove the expression.

Oorzaak

Het opgegeven kenmerk is niet beschikbaar in het huidige bereik, zoals het gebruik Version ID in een opslagaccount waarvoor hiërarchische naamruimte is ingeschakeld.

Oplossing

Als u het momenteel opgegeven kenmerk wilt gebruiken, maakt u de voorwaarde voor roltoewijzing in een ander bereik, zoals het bereik van de resourcegroep. U kunt de expressie ook verwijderen en opnieuw maken met behulp van de geselecteerde acties.

Symptoom - Kenmerk wordt fout niet herkend

Wanneer u wijzigingen aanbrengt in de code-editor en vervolgens overschakelt naar de visual-editor, krijgt u het volgende bericht en wordt het eerder geselecteerde kenmerk verwijderd:

Attribute is not recognized. Select a valid attribute or remove the expression.

Oorzaak

Het opgegeven kenmerk wordt niet herkend, mogelijk vanwege een typefout.

Oplossing

Herstel de typfout in de code-editor. Of verwijder de bestaande expressie en gebruik de visual-editor om een kenmerk te selecteren.

Symptoom - Kenmerkwaarde is ongeldige fout

Wanneer u wijzigingen aanbrengt in de code-editor en vervolgens overschakelt naar de visual-editor, krijgt u het volgende bericht en wordt het eerder geselecteerde kenmerk verwijderd:

Attribute value is invalid. Select another attribute or value.

Oorzaak

De rechterkant van de expressie bevat een kenmerk of waarde die niet geldig is.

Oplossing

Gebruik de visuele editor om een kenmerk te selecteren of een waarde op te geven.

Symptoom: geen geselecteerde fout

Wanneer u alle acties in de visual-editor verwijdert, krijgt u het volgende bericht:

No actions selected. Select one or more actions to edit expressions.

Oorzaak

Er is een bestaande expressie, maar er zijn geen acties geselecteerd als doel.

Oplossing

Voeg in de sectie Actie toevoegen een of meer acties toe waarop de expressie moet zijn gericht.

Symptoom : er zijn geen beschikbare opties

Wanneer u een expressie probeert toe te voegen, krijgt u het volgende bericht:

No options available

Oorzaak

U hebt geselecteerd om meerdere acties te richten en er zijn geen kenmerken die van toepassing zijn op alle geselecteerde acties.

Oplossing

Selecteer in de sectie Actie toevoegen minder acties om het doel te bereiken. Als u de acties wilt richten die u hebt verwijderd, voegt u meerdere voorwaarden toe.

Symptoom - Roldefinitie-id's niet gevonden

Wanneer u een expressie probeert toe te voegen, krijgt u het volgende bericht:

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.

Oorzaak

Een of meer roldefinitie-id's die u hebt geprobeerd toe te voegen voor het kenmerk Roldefinitie-id , zijn niet gevonden of hebben niet de juiste GUID-indeling: 00000000-0000-0000-0000-000000000000.

Oplossing

Gebruik de voorwaardeeditor om de rol te selecteren. Als u onlangs de aangepaste rol hebt toegevoegd, vernieuwt u de pagina of meldt u zich af en meldt u zich opnieuw aan.

Symptoom - Principal-id's niet gevonden

Wanneer u een expressie probeert toe te voegen, krijgt u het volgende bericht:

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.

Oorzaak

Een of meer principal-id's die u hebt geprobeerd toe te voegen voor het kenmerk Principal ID , zijn niet gevonden of hebben niet de juiste GUID-indeling: 00000000-0000-0000-0000-000000000000.

Oplossing

Gebruik de voorwaardeeditor om de principal te selecteren. Als u onlangs de principal hebt toegevoegd, vernieuwt u de pagina of meldt u zich af en meldt u zich opnieuw aan.

Foutberichten in Azure PowerShell

Symptoom: resourcekenmerk is ongeldige fout

Wanneer u probeert een roltoewijzing toe te voegen met een voorwaarde met behulp van Azure PowerShell, krijgt u een foutmelding die vergelijkbaar is met:

New-AzRoleAssignment : Resource attribute
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$> is not valid.

Oorzaak

Als uw voorwaarde een dollarteken ($) bevat, moet u het voorvoegsel voorzien van een backtick (').

Oplossing

Voeg vóór elk dollarteken een backtick (') toe. Hieronder ziet u een voorbeeld. Zie Over quotingsregels voor regels voor aanhalingstekens in PowerShell voor meer informatie over regels voor aanhalingstekens.

$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'))"

Symptoom: fout bij het kopiëren en plakken van een voorwaarde

Oorzaak

Als u PowerShell gebruikt en een voorwaarde uit een document kopieert, kan dit speciale tekens bevatten die de volgende fout veroorzaken. Sommige editors (zoals Microsoft Word) voegen besturingstekens toe bij het opmaken van tekst die niet wordt weergegeven.

The given role assignment condition is invalid.

Oplossing

Als u een voorwaarde hebt gekopieerd uit een rtf-editor en u zeker weet dat de voorwaarde juist is, verwijdert u alle spaties en retourneert en voegt u vervolgens de relevante spaties terug. U kunt ook een editor voor tekst zonder opmaak of een code-editor gebruiken, zoals Visual Studio Code.

Foutberichten in Azure CLI

Symptoom: resourcekenmerk is ongeldige fout

Wanneer u probeert een roltoewijzing toe te voegen met een voorwaarde met behulp van Azure CLI, krijgt u een foutmelding die vergelijkbaar is met:

Resource attribute Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$> is not valid.

Oorzaak

Als uw voorwaarde een dollarteken ($) bevat, moet u dit voorvoegsel met een backslash (\).

Oplossing

Voeg vóór elk dollarteken een backslash (\) toe. Hieronder ziet u een voorbeeld. Zie Dubbele aanhalingstekens voor meer informatie over regels voor aanhalingstekens in Bash.

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'))"

Symptoom : fout met niet-herkende argumenten

Wanneer u probeert een roltoewijzing toe te voegen met een voorwaarde met behulp van Azure CLI, krijgt u een foutmelding die vergelijkbaar is met:

az: error: unrecognized arguments: --description {description} --condition {condition} --condition-version 2.0

Oorzaak

U gebruikt waarschijnlijk een eerdere versie van Azure CLI die geen ondersteuning biedt voor parameters voor voorwaarde voor roltoewijzing.

Oplossing

Werk bij naar de nieuwste versie van Azure CLI (2.18 of hoger). Zie De Azure CLI installeren voor meer informatie.

Symptoom: fout bij het toewijzen van een voorwaardetekenreeks aan een variabele in Bash

Wanneer u een voorwaardetekenreeks probeert toe te wijzen aan een variabele in Bash, wordt het bash: !: event not found bericht weergegeven.

Oorzaak

Als geschiedenisuitbreiding is ingeschakeld in Bash, ziet u mogelijk het bericht bash: !: event not found vanwege het uitroepteken (!).

Oplossing

Schakel geschiedenisuitbreiding uit met de opdracht set +H. Als u de geschiedenisuitbreiding opnieuw wilt inschakelen, gebruikt u set -H.

Volgende stappen