Comprendre les affectations de refus relatives aux ressources AzureUnderstand deny assignments for Azure resources

À l’instar d’une attribution de rôle, une affectation de refus associe un ensemble d’actions de refus à un utilisateur, un groupe ou un principal de service, sur une étendue spécifique, afin de refuser l’accès.Similar to a role assignment, a deny assignment attaches a set of deny actions to a user, group, or service principal at a particular scope for the purpose of denying access. Les affectations de refus empêchent les utilisateurs d'effectuer des actions particulières sur les ressources Azure, même si une attribution de rôle leur confère un accès.Deny assignments block users from performing specific Azure resource actions even if a role assignment grants them access.

Cet article explique comment définir des attributions de refus.This article describes how deny assignments are defined.

Création des affectations de refusHow deny assignments are created

Les affectations de refus sont créées et gérées par Azure pour protéger les ressources.Deny assignments are created and managed by Azure to protect resources. Par exemple, Azure Blueprints et les applications managées Azure utilisent les affectations de refus pour protéger les ressources managées par le système.For example, Azure Blueprints and Azure managed apps use deny assignments to protect system-managed resources. Pour plus d’informations, consultez Protéger les nouvelles ressources avec des verrous de ressources Azure Blueprints.For more information, see Protect new resources with Azure Blueprints resource locks.

Comparer les attributions de rôles et les affectations de refusCompare role assignments and deny assignments

Les affectations de refus suivent un modèle similaire à celui des affectations de rôles, mais présentent également certaines différences.Deny assignments follow a similar pattern as role assignments, but also have some differences.

FonctionnalitéCapability Attribution de rôleRole assignment Affectation de refusDeny assignment
Accorder l'accèsGrant access ✔️
Accès refuséDeny access ✔️
Peut être créé directementCan be directly created ✔️
Appliquer à une étendueApply at a scope ✔️ ✔️
Exclure les principauxExclude principals ✔️
Empêcher l’héritage pour les étendues enfantsPrevent inheritance to child scopes ✔️
S’applique aux affectations d’administrateurs d’abonnements classiquesApply to classic subscription administrator assignments ✔️

Propriétés des attributions de refusDeny assignment properties

Une attribution de refus possède les propriétés suivantes :A deny assignment has the following properties:

PropriétéProperty ObligatoireRequired TypeType DescriptionDescription
DenyAssignmentName OUIYes ChaîneString Nom d'affichage de l’attribution de refus.The display name of the deny assignment. Les noms doivent être uniques pour une étendue donnée.Names must be unique for a given scope.
Description NonNo ChaîneString Description de l’attribution de refus.The description of the deny assignment.
Permissions.Actions Au moins un élément Actions ou DataActionsAt least one Actions or one DataActions String[]String[] Tableau de chaînes qui spécifient les opérations de gestion auxquelles l’attribution de refus bloque l’accès.An array of strings that specify the management operations to which the deny assignment blocks access.
Permissions.NotActions NonNo String[]String[] Tableau de chaînes qui spécifient les opérations de gestion à exclure de l’attribution de refus.An array of strings that specify the management operations to exclude from the deny assignment.
Permissions.DataActions Au moins un élément Actions ou DataActionsAt least one Actions or one DataActions String[]String[] Tableau de chaînes qui spécifient les opérations de données auxquelles l’attribution de refus bloque l’accès.An array of strings that specify the data operations to which the deny assignment blocks access.
Permissions.NotDataActions NonNo String[]String[] Tableau de chaînes qui spécifient les opérations de données à exclure de l’attribution de refus.An array of strings that specify the data operations to exclude from the deny assignment.
Scope NonNo ChaîneString Chaîne qui spécifie l’étendue à laquelle l’attribution de refus s’applique.A string that specifies the scope that the deny assignment applies to.
DoNotApplyToChildScopes NonNo BooleanBoolean Spécifie si l’attribution de refus s’applique aux étendues enfants.Specifies whether the deny assignment applies to child scopes. La valeur par défaut est false.Default value is false.
Principals[i].Id OUIYes String[]String[] Tableau d’ID d’objets principaux Azure AD (utilisateur, groupe, principal de service ou identité managée) auxquels s’applique l’affectation de refus.An array of Azure AD principal object IDs (user, group, service principal, or managed identity) to which the deny assignment applies. Définie sur un GUID vide 00000000-0000-0000-0000-000000000000 pour représenter tous les principaux.Set to an empty GUID 00000000-0000-0000-0000-000000000000 to represent all principals.
Principals[i].Type NonNo String[]String[] Tableau de types d’objet représentés par Principals[i].Id. Définie sur SystemDefined pour représenter tous les principaux.An array of object types represented by Principals[i].Id. Set to SystemDefined to represent all principals.
ExcludePrincipals[i].Id NonNo String[]String[] Tableau d’ID d’objets principaux Azure AD (utilisateur, groupe, principal de service ou identité managée) auxquels l’attribution de refus ne s’applique pas.An array of Azure AD principal object IDs (user, group, service principal, or managed identity) to which the deny assignment does not apply.
ExcludePrincipals[i].Type NonNo String[]String[] Tableau de types d’objet représentés par ExcludePrincipals[i].Id.An array of object types represented by ExcludePrincipals[i].Id.
IsSystemProtected NonNo BooleanBoolean Spécifie si cette attribution de refus a été créée par Azure et ne peut pas être modifiée ou supprimée.Specifies whether this deny assignment was created by Azure and cannot be edited or deleted. Actuellement, toutes les attributions de refus sont protégées par le système.Currently, all deny assignments are system protected.

Le principal Tous les principauxThe All Principals principal

Un principal défini par le système nommé Tous les principaux a été introduit pour prendre en charge les affectations de refus.To support deny assignments, a system-defined principal named All Principals has been introduced. Ce principal représente tous les utilisateurs, groupes, principaux de service et identités managées figurant dans un annuaire Azure AD.This principal represents all users, groups, service principals, and managed identities in an Azure AD directory. Si l’ID du principal est un GUID nul 00000000-0000-0000-0000-000000000000, et le type de principal SystemDefined, le principal représente tous les principaux.If the principal ID is a zero GUID 00000000-0000-0000-0000-000000000000 and the principal type is SystemDefined, the principal represents all principals. Dans la sortie d’Azure PowerShell, Tous les principaux se présente comme suit :In Azure PowerShell output, All Principals looks like the following:

Principals              : {
                          DisplayName:  All Principals
                          ObjectType:   SystemDefined
                          ObjectId:     00000000-0000-0000-0000-000000000000
                          }

Tous les principaux peut être combiné avec ExcludePrincipals pour refuser tous les principaux, à l’exception de certains utilisateurs.All Principals can be combined with ExcludePrincipals to deny all principals except some users. Tous les principaux présente les contraintes suivantes :All Principals has the following constraints:

  • Il peut être utilisé uniquement dans Principals et ne peut pas être utilisé dans ExcludePrincipals.Can be used only in Principals and cannot be used in ExcludePrincipals.
  • Principals[i].Type doit être défini sur SystemDefined.Principals[i].Type must be set to SystemDefined.

Étapes suivantesNext steps