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.
L’étendue est l’ensemble de ressources auxquelles l’accès s’applique. Lorsque vous attribuez un rôle, il est important de comprendre l’étendue afin que vous puissiez accorder un principal de sécurité uniquement l’accès dont il a vraiment besoin. En limitant l’étendue, vous limitez les ressources menacées si le principal de sécurité est compromis.
Niveaux d’étendue
Dans Azure, vous pouvez spécifier une étendue à quatre niveaux : groupe d’administration, abonnement, groupe de ressources et ressource. Les étendues sont structurées dans une relation parent-enfant. Chaque niveau de hiérarchie rend l’étendue plus spécifique. Vous pouvez attribuer des rôles à l’un de ces niveaux d’étendue. Le niveau que vous sélectionnez détermine le degré d’application du rôle. Les niveaux inférieurs héritent des autorisations de rôle des niveaux supérieurs.
Les groupes d’administration sont un niveau d’étendue supérieur aux abonnements, mais les groupes d’administration prennent en charge des hiérarchies plus complexes. Le diagramme suivant montre un exemple de hiérarchie de groupes d’administration et d’abonnements que vous pouvez définir. Pour plus d’informations sur les groupes d’administration, consultez Présentation des groupes d’administration Azure ?
Format de périmètre
Si vous attribuez des rôles à l’aide de la ligne de commande, vous devez spécifier l’étendue. Pour les outils en ligne de commande, l’étendue est une chaîne potentiellement longue qui identifie l’étendue exacte de l’attribution de rôle. Dans le portail Azure, cette étendue est généralement répertoriée comme ID de ressource.
L’étendue se compose d’une série d’identificateurs séparés par la barre oblique (/). Vous pouvez considérer cette chaîne comme exprimant la hiérarchie suivante, où le texte sans espaces réservés ({}) est des identificateurs fixes :
/subscriptions
/{subscriptionId}
/resourcegroups
/{resourceGroupName}
/providers
/{providerName}
/{resourceType}
/{resourceSubType1}
/{resourceSubType2}
/{resourceName}
-
{subscriptionId}est l’ID de l’abonnement à utiliser (un GUID). -
{resourceGroupName}est le nom du groupe de ressources conteneur. -
{providerName}est le nom du fournisseur de ressources qui gère la ressource, puis{resourceType}{resourceSubType*}identifie les niveaux supplémentaires au sein de ce fournisseur de ressources. -
{resourceName}est la dernière partie de la chaîne qui identifie une ressource spécifique.
Les groupes d’administration sont un niveau supérieur aux abonnements et ont l’étendue la plus large (la moins spécifique). Les attributions de rôles à ce niveau s’appliquent aux abonnements au sein du groupe d’administration. L’étendue d’un groupe d’administration a le format suivant :
/providers
/Microsoft.Management
/managementGroups
/{managementGroupName}
Exemples d’étendue
| Scope | Example |
|---|---|
| Groupe d’administration | /providers/Microsoft.Management/managementGroups/marketing-group |
| Subscription | /subscriptions/00000000-0000-0000-0000-000000000000 |
| groupe de ressources | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales |
|
| Resource | /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 |
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVirtualNetworkResourceGroup/providers/Microsoft.Network/virtualNetworks/MyVirtualNetwork12345 |
Comment déterminer l’étendue d’une ressource
Il est assez simple de déterminer l’étendue d’un groupe d’administration, d’un abonnement ou d’un groupe de ressources. Vous devez simplement connaître le nom et l’ID d’abonnement. Toutefois, la détermination de l’étendue d’une ressource prend un peu plus de travail. Voici deux façons de déterminer l’étendue d’une ressource.
Dans le portail Azure, ouvrez la ressource, puis examinez les propriétés. La ressource doit répertorier l’identifiant de ressource permettant de déterminer l’étendue. Par exemple, voici les ID de ressource d’un compte de stockage.
Une autre façon consiste à utiliser le portail Azure pour attribuer un rôle temporairement à l’étendue de la ressource, puis utiliser Azure PowerShell ou Azure CLI pour répertorier l’attribution de rôle. Dans la sortie, l’étendue est listée en tant que propriété.
RoleAssignmentId : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/pro viders/Microsoft.Authorization/roleAssignments/<roleAssignmentId> Scope : /subscriptions/<subscriptionId>/resourceGroups/test-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01 DisplayName : User SignInName : user@contoso.com RoleDefinitionName : Storage Blob Data Reader RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1 ObjectId : <principalId> ObjectType : User CanDelegate : False Description : ConditionVersion : Condition :{ "canDelegate": null, "condition": null, "conditionVersion": null, "description": null, "id": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}", "name": "{roleAssignmentId}", "principalId": "{principalId}", "principalName": "user@contoso.com", "principalType": "User", "resourceGroup": "test-rg", "roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", "roleDefinitionName": "Storage Blob Data Reader", "scope": "/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Storage/storageAccounts/azurestorage12345/blobServices/default/containers/blob-container-01", "type": "Microsoft.Authorization/roleAssignments" }
Modèles Scope et ARM templates
Une attribution de rôle est un type spécial dans Azure Resource Manager appelé ressource d’extension. Une ressource d’extension est une ressource qui ajoute aux fonctionnalités d’une autre ressource. Elles existent toujours en tant qu’extension (comme un enfant) d’une autre ressource. Par exemple, une attribution de rôle au niveau de l’abonnement est une ressource d’extension de l’abonnement. Le nom d'une attribution de rôle est toujours le nom de la ressource que vous étendez, suivi de /Microsoft.Authorization/roleAssignments/{roleAssignmentId}. Lors de l’attribution de rôles à l’aide d’un modèle Azure Resource Manager (modèle ARM), vous n’avez généralement pas besoin de fournir l’étendue. La raison est que le champ d’étendue finit toujours par être l’ID de la ressource que vous étendez. L’étendue peut être déterminée à partir de l’ID de l’attribution de rôle elle-même. Le tableau suivant présente des exemples d’ID d’attribution de rôle et de l’étendue correspondante :
| ID d’attribution de rôle | Scope |
|---|---|
/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
/subscriptions/{subscriptionId}/resourceGroups/Example-Storage-rg |
Pour plus d’informations sur l’étendue et les modèles ARM, consultez Affecter des rôles Azure à l’aide de modèles Azure Resource Manager. Pour obtenir la liste complète des types de ressources d’extension, consultez Les types de ressources qui étendent les fonctionnalités d’autres ressources.