Rôles personnalisés pour les ressources AzureCustom roles for Azure resources

Si les rôles intégrés pour les ressources Azure ne répondent pas aux besoins spécifiques de votre organisation, vous pouvez créer vos propres rôles personnalisés.If the built-in roles for Azure resources don't meet the specific needs of your organization, you can create your own custom roles. Comme avec les rôles intégrés, vous pouvez affecter des rôles personnalisés à des utilisateurs, des groupes et des principaux de service dans l’étendue des abonnements, des groupes de ressources et des ressources.Just like built-in roles, you can assign custom roles to users, groups, and service principals at subscription, resource group, and resource scopes.

Les rôles personnalisés sont stockés dans un annuaire Azure Active Directory et peuvent être partagés entre des abonnements.Custom roles are stored in an Azure Active Directory (Azure AD) directory and can be shared across subscriptions. Chaque annuaire peut comporter jusqu'à 5000 des rôles personnalisés.Each directory can have up to 5000 custom roles. (Pour les clouds spécialisés, tels que Azure Government, Azure Allemagne et Azure China 21Vianet, la limite est 2000 des rôles personnalisés). Vous pouvez créer des rôles personnalisés à l’aide d’Azure PowerShell, de l’interface de ligne de commande Azure et de l’API REST.(For specialized clouds, such as Azure Government, Azure Germany, and Azure China 21Vianet, the limit is 2000 custom roles.) Custom roles can be created using Azure PowerShell, Azure CLI, or the REST API.

Exemple de rôle personnaliséCustom role example

Voici ce à quoi ressemble un rôle personnalisé tel qu’il apparaît au format JSON.The following shows what a custom role looks like as displayed in JSON format. Ce rôle personnalisé peut être utilisé pour surveiller et redémarrer des machines virtuelles.This custom role can be used for monitoring and restarting virtual machines.

{
  "Name": "Virtual Machine Operator",
  "Id": "88888888-8888-8888-8888-888888888888",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/subscriptions/{subscriptionId1}",
    "/subscriptions/{subscriptionId2}",
    "/subscriptions/{subscriptionId3}"
  ]
}

Quand vous créez un rôle personnalisé, celui-ci s’affiche dans le portail Azure avec une icône de ressource orange.When you create a custom role, it appears in the Azure portal with an orange resource icon.

Icône de rôle personnalisé

Procédure de création d’un rôle personnaliséSteps to create a custom role

  1. Décidez comment vous souhaitez créer le rôle personnaliséDecide how you want to create the custom role

    Vous pouvez créer des rôles personnalisés à l’aide de Azure PowerShell, Azure CLI, ou le API REST.You can create custom roles using Azure PowerShell, Azure CLI, or the REST API.

  2. Déterminer les autorisations nécessairesDetermine the permissions you need

    Lorsque vous créez un rôle personnalisé, vous devez connaître les opérations du fournisseur de ressources qui sont disponibles pour définir vos autorisations.When you create a custom role, you need to know the resource provider operations that are available to define your permissions. Pour afficher la liste des opérations, consultez le opérations de fournisseur de ressources Azure Resource Manager.To view the list of operations, see the Azure Resource Manager resource provider operations. Vous allez ajouter les opérations à le Actions ou NotActions propriétés de la définition de rôle.You will add the operations to the Actions or NotActions properties of the role definition. Si vous avez des opérations de données, vous allez ajouter à celles utilisées pour le DataActions ou NotDataActions propriétés.If you have data operations, you will add those to the DataActions or NotDataActions properties.

  3. Créer le rôle personnaliséCreate the custom role

    En règle générale, vous démarrez avec un rôle intégré existant, puis vous le modifiez selon vos besoins.Typically, you start with an existing built-in role and then modify it for your needs. Ensuite, vous utilisez les commandes New-AzRoleDefinition ou az role definition create pour créer le rôle personnalisé.Then you use the New-AzRoleDefinition or az role definition create commands to create the custom role. Pour créer un rôle personnalisé, vous devez disposer de l’autorisation Microsoft.Authorization/roleDefinitions/write sur toutes les AssignableScopes, comme Propriétaire ou Administrateur de l’accès utilisateur.To create a custom role, you must have the Microsoft.Authorization/roleDefinitions/write permission on all AssignableScopes, such as Owner or User Access Administrator.

  4. Tester le rôle personnaliséTest the custom role

    Une fois que vous avez votre rôle personnalisé, vous devez le tester pour vérifier qu’il fonctionne comme prévu.Once you have your custom role, you have to test it to verify that it works as you expect. Si vous avez besoin d’effectuer des ajustements ultérieurement, vous pouvez mettre à jour le rôle personnalisé.If you need to make adjustments later, you can update the custom role.

Pour obtenir un tutoriel pas à pas sur la création d’un rôle personnalisé, consultez Tutoriel : Créer un rôle personnalisé à l’aide d’Azure PowerShell ou Tutoriel : Créer un rôle personnalisé avec Azure CLI.For a step-by-step tutorial on how to create a custom role, see Tutorial: Create a custom role using Azure PowerShell or Tutorial: Create a custom role using Azure CLI.

Propriétés du rôle personnaliséCustom role properties

Un rôle personnalisé dispose des propriétés suivantes.A custom role has the following properties.

PropriétéProperty RequisRequired TypeType DescriptionDescription
Name OuiYes StringString Nom complet du rôle personnalisé.The display name of the custom role. Si une définition de rôle est une ressource de niveau abonnement, elle peut cependant être utilisée dans plusieurs abonnements partageant le même annuaire Azure AD.While a role definition is a subscription-level resource, a role definition can be used in multiple subscriptions that share the same Azure AD directory. Ce nom d’affichage doit être unique dans l’étendue de l’annuaire Azure AD.This display name must be unique at the scope of the Azure AD directory. Peut inclure des lettres, des chiffres, des espaces et des caractères spéciaux.Can include letters, numbers, spaces, and special characters. Nombre maximal de caractères : 128.Maximum number of characters is 128.
Id OuiYes StringString ID unique du rôle personnalisé.The unique ID of the custom role. Pour Azure PowerShell et Azure CLI, cet ID est généré automatiquement lorsque vous créez un nouveau rôle.For Azure PowerShell and Azure CLI, this ID is automatically generated when you create a new role.
IsCustom OuiYes StringString Indique s’il s’agit d’un rôle personnalisé.Indicates whether this is a custom role. À définir sur true pour les rôles personnalisés.Set to true for custom roles.
Description OuiYes StringString Description du rôle personnalisé.The description of the custom role. Peut inclure des lettres, des chiffres, des espaces et des caractères spéciaux.Can include letters, numbers, spaces, and special characters. Nombre maximal de caractères : 1 024.Maximum number of characters is 1024.
Actions OuiYes String[]String[] Tableau de chaînes qui spécifie les opérations d’administration que le rôle autorise.An array of strings that specifies the management operations that the role allows to be performed. Pour plus d’informations, voir Actions.For more information, see Actions.
NotActions NonNo String[]String[] Tableau de chaînes qui spécifie les opérations d’administration exclues des Actions autorisées.An array of strings that specifies the management operations that are excluded from the allowed Actions. Pour plus d’informations, voir NotActions.For more information, see NotActions.
DataActions NonNo String[]String[] Tableau de chaînes qui spécifie les opérations de données que le rôle autorise sur vos données au sein de cet objet.An array of strings that specifies the data operations that the role allows to be performed to your data within that object. Pour plus d’informations, voir DataActions (préversion).For more information, see DataActions (Preview).
NotDataActions NonNo String[]String[] Tableau de chaînes qui spécifie les opérations de données exclues des DataActions autorisées.An array of strings that specifies the data operations that are excluded from the allowed DataActions. Pour plus d’informations, voir NotDataActions (préversion).For more information, see NotDataActions (Preview).
AssignableScopes OuiYes String[]String[] Tableau de chaînes qui spécifie les étendues pour lesquelles le rôle personnalisé est disponible à des fins d’attribution.An array of strings that specifies the scopes that the custom role is available for assignment. Ne peut pas être défini sur l’étendue racine ("/") ou sur une étendue de groupe d’administration.Currently cannot be set to the root scope ("/") or a management group scope. Pour plus d’informations, consultez AssignableScopes et Organiser vos ressources avec des groupes d’administration Azure.For more information, see AssignableScopes and Organize your resources with Azure management groups.

Qui peut créer, supprimer, mettre à jour ou afficher un rôle personnaliséWho can create, delete, update, or view a custom role

Tout comme pour les rôles intégrés, la propriété AssignableScopes spécifie les étendues pour lesquelles le rôle est disponible à des fins d’attribution.Just like built-in roles, the AssignableScopes property specifies the scopes that the role is available for assignment. La propriété AssignableScopes pour un rôle personnalisé contrôle également qui peut créer, supprimer, mettre à jour ou afficher le rôle personnalisé.The AssignableScopes property for a custom role also controls who can create, delete, update, or view the custom role.

TâcheTask OpérationOperation Description Description
Créer/supprimer un rôle personnaliséCreate/delete a custom role Microsoft.Authorization/ roleDefinitions/write Les utilisateurs ayant accès à cette opération sur toutes les étendues AssignableScopes du rôle personnalisé peuvent créer (ou supprimer) des rôles personnalisés utilisables dans ces étendues.Users that are granted this operation on all the AssignableScopes of the custom role can create (or delete) custom roles for use in those scopes. Il s’agit, par exemple, des Propriétaires et Administrateurs de l’accès utilisateur d’abonnements, de groupes de ressources et de ressources.For example, Owners and User Access Administrators of subscriptions, resource groups, and resources.
Mettre à jour un rôle personnaliséUpdate a custom role Microsoft.Authorization/ roleDefinitions/write Les utilisateurs ayant accès à cette opération sur toutes les étendues AssignableScopes du rôle personnalisé peuvent mettre à jour des rôles personnalisés dans ces étendues.Users that are granted this operation on all the AssignableScopes of the custom role can update custom roles in those scopes. Il s’agit, par exemple, des Propriétaires et Administrateurs de l’accès utilisateur d’abonnements, de groupes de ressources et de ressources.For example, Owners and User Access Administrators of subscriptions, resource groups, and resources.
Afficher un rôle personnaliséView a custom role Microsoft.Authorization/ roleDefinitions/read Les utilisateurs ayant accès à cette opération dans une étendue peuvent afficher les rôles personnalisés disponibles pour attribution dans cette étendue.Users that are granted this operation at a scope can view the custom roles that are available for assignment at that scope. Tous les rôles intégrés permettent que les rôles personnalisés soient disponibles pour attribution.All built-in roles allow custom roles to be available for assignment.

Étapes suivantesNext steps