Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Problèmes généraux
Symptôme - La condition n’est pas appliquée
Cause 1
Les principaux de sécurité présentent au moins une attribution de rôle dans une étendue identique ou supérieure.
Solution 1
Assurez-vous que les principaux de sécurité n’ont pas plusieurs attributions de rôles (avec ou sans conditions) qui accordent l’accès à la même action de données, ce qui entraîne une non-application des conditions. Pour plus d’informations sur la logique d’évaluation, consultez comment Azure RBAC détermine si un utilisateur a accès à une ressource.
Cause 2
Votre attribution de rôle a plusieurs actions qui accordent une autorisation et votre condition ne cible pas toutes les actions. Par exemple, vous pouvez créer un objet BLOB si vous avez des actions de données /blobs/write ou /blobs/add/action. Si votre attribution de rôle contient des actions de données et que vous en ciblez uniquement une dans une condition, l’attribution de rôle vous accordera la permission de créer des blobs et de contourner la condition.
Solution 2
Si votre attribution de rôle a plusieurs actions qui accordent une autorisation, vérifiez que vous ciblez toutes les actions pertinentes.
Cause 3
Lorsque vous ajoutez une condition à une attribution de rôle, l’application de la condition peut prendre jusqu’à 5 minutes. Lorsque vous ajoutez une condition, les fournisseurs de ressources (tels que Le Stockage Microsoft) sont avertis de la mise à jour. Les fournisseurs de ressources effectuent immédiatement des mises à jour de leurs caches locaux pour s’assurer qu’ils disposent des dernières attributions de rôles. Ce processus se termine en 1 ou 2 minutes, mais peut prendre jusqu’à 5 minutes.
Solution 3
Attendez 5 minutes et testez à nouveau la condition.
Symptôme - Erreur Condition non valide lors de l’ajout d’une condition
Lorsque vous essayez d’ajouter une attribution de rôle avec une condition, vous obtenez une erreur similaire à :
The given role assignment condition is invalid.
Cause 1
La conditionVersion propriété est définie sur « 1.0 ».
Solution 1
Définissez la propriété conditionVersion sur « 2.0 ».
Cause 2
Votre condition n’est pas correctement mise en forme.
Solution 2
Corrigez les problèmes de format de condition ou de syntaxe . Vous pouvez également ajouter la condition à l’aide de l’éditeur visuel dans le portail Azure.
Problèmes dans l’éditeur visuel
Symptôme : l’éditeur de condition s’affiche lors de la modification d’une condition
Vous avez créé une condition à l’aide d’un modèle décrit dans Déléguer la gestion des attributions de rôles Azure à d’autres personnes avec des conditions. Lorsque vous essayez de modifier la condition, vous voyez l’éditeur de condition avancé.
Lorsque vous avez précédemment modifié la condition, vous avez modifié à l’aide du modèle de condition.
Cause
La condition ne correspond pas au schéma du modèle.
Solution 1
Modifiez la condition pour qu’elle corresponde à l’un des modèles de référence suivants.
| Modèle | État |
|---|---|
| Limiter les rôles | Exemple : Limiter les rôles |
| Limiter les rôles et les types principaux | Exemple : Limiter les rôles et les types principaux |
| Limiter les rôles et les principaux | Exemple : Limiter les rôles et les groupes spécifiques |
| Autoriser tous sauf certains rôles | Exemple : Autoriser la plupart des rôles, mais n’autorisez pas d’autres utilisateurs à attribuer des rôles |
Solution 2
Supprimez la condition et recréez-la en suivant les étapes dans le guide Gérer l’attribution de rôle Azure déléguée à d’autres personnes avec des conditions.
Symptôme : le principal n’apparaît pas dans la source d’attribut
Lorsque vous essayez d’ajouter une attribution de rôle avec une condition, le principal n’apparaît pas dans la liste source d’attribut .
Au lieu de cela, le message s’affiche :
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.
Cause
Vous ne remplissez pas les conditions préalables. Pour utiliser les attributs du principal, vous devez disposer des éléments suivants :
- Autorisations Microsoft Entra permettant à l’utilisateur connecté de lire au moins un ensemble d’attributs
- Attributs de sécurité personnalisés dans Microsoft Entra ID
Solution
Ouvrez Microsoft Entra ID>les attributs de sécurité personnalisés.
Si vous voyez la page Prise en main, vous n’avez pas les autorisations nécessaires pour lire au moins un ensemble d’attributs ou des attributs de sécurité personnalisés n’ont pas encore été définis.
Si des attributs de sécurité personnalisés ont été définis, attribuez l’un des rôles suivants au niveau de l’étendue du locataire ou de l’étendue du jeu d’attributs. Pour plus d’informations, consultez Gérer l’accès aux attributs de sécurité personnalisés dans Microsoft Entra ID.
- Lecteur de définition d’attribut
- Lecteur d’attribution d’attributs
- Administrateur de définition d’attribut
- Administrateur de l’attribution des attributs
Important
Par défaut, les rôles Administrateur général et d’autres d’administrateur ne sont pas autorisés à lire, à définir ou à affecter des attributs de sécurité personnalisés.
Si les attributs de sécurité personnalisés n’ont pas encore été définis, attribuez le rôle Administrateur de définition des attributs à l'échelle du locataire et ajoutez des attributs de sécurité personnalisés. Pour plus d’informations, consultez Ajouter ou désactiver des attributs de sécurité personnalisés dans l’ID Microsoft Entra.
Lorsque vous avez terminé, vous devriez être en mesure de lire au moins un ensemble d’attributs.
Le principal doit maintenant apparaître dans la liste des sources d’attribut lorsque vous ajoutez une attribution de rôle avec une condition.
Symptôme : l'élément principal n’apparaît pas dans la source d’attribut lors de l’utilisation de PIM
Lorsque vous essayez d’ajouter une attribution de rôle avec une condition à l’aide de Microsoft Entra Privileged Identity Management (PIM),le principal n’apparaît pas dans la liste de sources d’attributs .
Cause
PIM ne prend actuellement pas en charge l’utilisation de l’attribut principal dans une condition d’attribution de rôle.
Messages d’erreur dans l’éditeur visuel
Symptôme - Condition non reconnue
Après avoir utilisé l’éditeur de code, vous basculez vers l’éditeur visuel et obtenez un message similaire à ce qui suit :
The current expression cannot be recognized. Switch to the code editor to edit the expression or delete the expression and add a new one.
Cause
Des mises à jour ont été apportées à la condition que l’éditeur visuel ne peut pas analyser.
Solution
Corrigez les problèmes de format de condition ou de syntaxe . Vous pouvez également supprimer la condition et réessayer.
Symptôme : l’attribut n’applique pas d’erreur pour la condition précédemment enregistrée
Lorsque vous ouvrez une condition précédemment enregistrée dans l’éditeur visuel, vous obtenez le message suivant :
Attribute does not apply for the selected actions. Select a different set of actions.
Cause
En mai 2022, l’action Lire un objet blob a été modifiée à partir du format suivant :
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})
Pour exclure la Blob.List sous-opération :
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})
Si vous avez créé une condition avec l’action Lire un objet blob avant mai 2022, vous pouvez voir ce message d’erreur dans l’éditeur visuel.
Solution
Ouvrez le volet Sélectionner une action et réélectionnez l’action Lire un objet blob .
Symptôme - L’attribut n’applique pas d’erreur
Lorsque vous sélectionnez une ou plusieurs actions dans l’éditeur visuel avec une expression existante, vous obtenez le message suivant et l’attribut précédemment sélectionné est supprimé :
Attribute does not apply for the selected actions. Select a different set of actions.
Cause
L’attribut sélectionné précédemment ne s’applique plus aux actions actuellement sélectionnées.
Solution 1
Dans la section Ajouter une action , sélectionnez une action qui s’applique à l’attribut sélectionné. Pour obtenir la liste des actions de stockage prises en charge par chaque attribut de stockage, consultez Actions et attributs pour les conditions d’attribution de rôle Azure pour stockage Blob Azureet Actions et attributs pour les conditions d’attribution de rôle Azure pour les files d’attente Azure.
Solution 2
Dans la section Générer une expression , sélectionnez un attribut qui s’applique aux actions actuellement sélectionnées. Pour obtenir la liste des attributs de stockage pris en charge par chaque action de stockage, consultez Actions et attributs pour les conditions d’attribution de rôle Azure pour stockage Blob Azureet Actions et attributs pour les conditions d’attribution de rôle Azure pour les files d’attente Azure.
Symptôme - L’attribut ne s’applique pas dans cet avertissement de contexte
Lorsque vous apportez des modifications dans l’éditeur de code, puis basculez vers l’éditeur visuel, vous obtenez le message suivant et l’attribut précédemment sélectionné est supprimé :
Attribute does not apply in this context. Use a different role assignment scope or remove the expression.
Cause
L’attribut spécifié n’est pas disponible dans l’étendue actuelle, comme l’utilisation Version ID dans un compte de stockage avec un espace de noms hiérarchique activé.
Solution
Si vous souhaitez utiliser l’attribut actuellement spécifié, créez la condition d’attribution de rôle dans une autre étendue, telle que l’étendue du groupe de ressources. Vous pouvez également supprimer et recréer l’expression à l’aide des actions actuellement sélectionnées.
Symptôme - L’attribut n’est pas reconnu
Lorsque vous apportez des modifications dans l’éditeur de code, puis basculez vers l’éditeur visuel, vous obtenez le message suivant et l’attribut précédemment sélectionné est supprimé :
Attribute is not recognized. Select a valid attribute or remove the expression.
Cause
L’attribut spécifié n’est pas reconnu, éventuellement en raison d’une faute de frappe.
Solution
Dans l’éditeur de code, corrigez la faute de frappe. Ou supprimez l’expression existante et utilisez l’éditeur visuel pour sélectionner un attribut.
Symptôme - La valeur de l’attribut n’est pas valide
Lorsque vous apportez des modifications dans l’éditeur de code, puis basculez vers l’éditeur visuel, vous obtenez le message suivant et l’attribut précédemment sélectionné est supprimé :
Attribute value is invalid. Select another attribute or value.
Cause
Le côté droit de l’expression contient un attribut ou une valeur qui n’est pas valide.
Solution
Utilisez l’éditeur visuel pour sélectionner un attribut ou spécifier une valeur.
Symptôme : erreur Aucune action sélectionnée
Lorsque vous supprimez toutes les actions de l’éditeur visuel, vous recevez le message suivant :
No actions selected. Select one or more actions to edit expressions.
Cause
Il existe une expression existante, mais aucune action n’a été sélectionnée comme cible.
Solution
Dans la section Ajouter une action , ajoutez une ou plusieurs actions que l’expression doit cibler.
Symptôme - Aucune option disponible erreur
Lorsque vous tentez d’ajouter une expression, vous recevez le message suivant :
No options available
Cause
Vous avez sélectionné pour cibler plusieurs actions et il n’existe aucun attribut qui s’applique à toutes les actions actuellement sélectionnées.
Solution
Dans la section Ajouter une action , sélectionnez moins d’actions à cibler. Pour cibler les actions que vous avez supprimées, ajoutez plusieurs conditions.
Symptôme - ID de définition de rôle introuvables
Lorsque vous tentez d’ajouter une expression, vous recevez le message suivant :
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.
Cause
Un ou plusieurs ID de définition de rôle que vous avez tenté d’ajouter pour l’attribut ID de définition de rôle n’ont pas été trouvés ou n’ont pas le format GUID correct : 00000000-0000-0000-0000-000000000000.
Solution
Utilisez l’éditeur de condition pour sélectionner le rôle. Si vous avez récemment ajouté le rôle personnalisé, actualisez la page ou déconnectez-vous et reconnectez-vous.
Symptôme - IDs principaux introuvables
Lorsque vous tentez d’ajouter une expression, vous recevez le message suivant :
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.
Cause
Un ou plusieurs ID de principal que vous avez tenté d’ajouter pour l’attribut ID de principal n’ont pas été trouvés ou n’ont pas le format GUID correct : 00000000-0000-0000-0000-000000000000.
Solution
Utilisez l’éditeur de condition pour sélectionner l'élément principal. Si vous avez récemment ajouté le compte principal, actualisez la page ou déconnectez-vous puis reconnectez-vous.
Messages d’erreur dans Azure PowerShell
Symptôme : l’attribut de ressource n’est pas une erreur valide
Lorsque vous essayez d’ajouter une attribution de rôle avec une condition à l’aide d’Azure PowerShell, vous obtenez une erreur similaire à :
New-AzRoleAssignment : Resource attribute
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$> is not valid.
Cause
Si votre condition comprend un signe dollar ($), vous devez le faire précéder d’un guillemet inversé (`).
Solution
Ajoutez un guillemet inversé (`) avant chaque signe dollar. Consultez l’exemple ci-dessous. Pour plus d’informations sur les règles de guillemets dans PowerShell, consultez À propos des règles de guillemets.
$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'))"
Symptôme - Erreur lors de la copie et du collage d'une condition
Cause
Si vous utilisez PowerShell et copiez une condition à partir d’un document, il peut inclure des caractères spéciaux qui provoquent l’erreur suivante. Certains éditeurs (tels que Microsoft Word) ajoutent des caractères de contrôle lors de la mise en forme du texte qui n’apparaît pas.
The given role assignment condition is invalid.
Solution
Si vous avez copié une condition à partir d’un éditeur de texte enrichi et que vous êtes certain que la condition est correcte, supprimez tous les espaces et les retours, puis rajoutez les espaces appropriés. Vous pouvez également utiliser un éditeur de texte brut ou un éditeur de code, tel que Visual Studio Code.
Messages d’erreur dans Azure CLI
Symptôme : l’attribut de ressource n’est pas une erreur valide
Lorsque vous essayez d’ajouter une attribution de rôle avec une condition à l’aide d’Azure CLI, vous obtenez une erreur similaire à :
Resource attribute Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$> is not valid.
Cause
Si votre condition inclut un signe dollar ($), vous devez le préfixer avec une barre oblique inverse (\).
Solution
Ajoutez une barre oblique inverse (\) avant chaque signe dollar. Consultez l’exemple ci-dessous. Pour plus d’informations sur les règles de guillemets dans Bash, consultez Guillemets doubles.
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'))"
Symptôme - Erreur d’arguments non reconnus
Lorsque vous essayez d’ajouter une attribution de rôle avec une condition à l’aide d’Azure CLI, vous obtenez une erreur similaire à :
az: error: unrecognized arguments: --description {description} --condition {condition} --condition-version 2.0
Cause
Vous utilisez probablement une version antérieure d’Azure CLI qui ne prend pas en charge les paramètres de condition d’attribution de rôle.
Solution
Effectuez une mise à jour vers la dernière version d’Azure CLI (2.18 ou version ultérieure). Pour plus d’informations, consultez la rubrique Installation de l’interface de ligne de commande Azure (CLI).
Symptôme - Erreur lors de l’affectation d’une chaîne de condition à une variable dans Bash
Lorsque vous essayez d’affecter une chaîne de condition à une variable dans Bash, vous obtenez le bash: !: event not found message.
Cause
Dans Bash, si l’extension de l’historique est activée, vous pouvez voir le message bash: !: event not found en raison du point d’exclamation ( !).
Solution
Désactivez l’extension de l’historique avec la commande set +H. Pour réactiver l’extension de l’historique, utilisez set -H.
Messages d’erreur dans l’API
Symptôme - Réponse HTTP 403 "Forbidden" lors de la suppression d'une attribution de rôle
Considérez un principal disposant des autorisations pour modifier les attributions de rôles et ces autorisations incluent également une condition ABAC. Si le principal tente de supprimer une attribution de rôle qui a déjà été supprimée ou n’existe pas, elle reçoit la HTTP 403 Forbidden réponse au lieu de la réponse attendue HTTP 204 No Content .
Cause
Lorsqu’un principal dispose d’autorisations qui incluent une condition ABAC, le système tente de lire l’attribut pendant l’évaluation de la condition. Si l’attribut n’existe pas, cela peut entraîner une réponse inattendue au lieu du résultat attendu.
Solution
Lors de la gestion des réponses pour les autorisations d’autorisation qui incluent également une condition, vous devez également gérer la 403 Forbidden réponse. La 403 Forbidden réponse peut indiquer des autorisations insuffisantes, que l’attribution de rôle a déjà été supprimée ou que l’attribution de rôle n’existe pas.