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.
Le contrôle d’accès en fonction du rôle Azure (Azure RBAC) est la façon dont vous gérez l’accès aux ressources Azure. Dans ce tutoriel, vous accordez à un utilisateur l’accès à tous les éléments d’un abonnement et gérez tout dans un groupe de ressources à l’aide d’Azure PowerShell.
Dans ce tutoriel, vous allez apprendre à :
- Accorder l’accès à un utilisateur à différents niveaux
- Lister l’accès
- Suppression d'accès
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Note
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Prerequisites
Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :
- Autorisations pour créer des utilisateurs dans l’ID Microsoft Entra (ou avoir un utilisateur existant)
- Azure Cloud Shell
- Kit de développement logiciel (SDK) Microsoft Graph PowerShell
Attributions de rôles
Dans Azure RBAC, pour accorder l’accès, vous créez une attribution de rôle. Une attribution de rôle se compose de trois éléments : un principal de sécurité, une définition de rôle et une étendue. Voici les deux attributions de rôles que vous allez effectuer dans ce tutoriel :
| Principal de sécurité | Définition de rôle | Scope |
|---|---|---|
| Utilisateur (Utilisateur du didacticiel RBAC) |
Reader | Subscription |
| Utilisateur (Utilisateur du didacticiel RBAC) |
Contributor | groupe de ressources (rbac-tutorial-resource-group) |
Créer un utilisateur
Pour attribuer un rôle, vous avez besoin d’un utilisateur, d’un groupe ou d’un principal de service. Si vous n’avez pas encore d’utilisateur, vous pouvez en créer un.
Dans Azure Cloud Shell, créez un mot de passe conforme aux exigences de complexité de votre mot de passe.
$PasswordProfile = @{ Password = "<Password>" }Créez un utilisateur pour votre domaine à l’aide de la commande New-MgUser .
New-MgUser -DisplayName "RBAC Tutorial User" -PasswordProfile $PasswordProfile ` -UserPrincipalName "rbacuser@example.com" -AccountEnabled:$true -MailNickName "rbacuser"DisplayName Id Mail UserPrincipalName ----------- -- ---- ----------------- RBAC Tutorial User aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb rbacuser@example.com
Créer un groupe de ressources
Vous utilisez un groupe de ressources pour montrer comment attribuer un rôle à une étendue de groupe de ressources.
Obtenez la liste des emplacements de région à l’aide de la commande Get-AzLocation .
Get-AzLocation | select LocationSélectionnez un emplacement près de vous et affectez-le à une variable.
$location = "westus"Créez un groupe de ressources à l’aide de la commande New-AzResourceGroup .
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $locationResourceGroupName : rbac-tutorial-resource-group Location : westus ProvisioningState : Succeeded Tags : ResourceId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
Accorder l'accès
Pour accorder l’accès à l’utilisateur, vous utilisez la commande New-AzRoleAssignment pour attribuer un rôle. Vous devez spécifier le principal de sécurité, la définition de rôle et l’étendue.
Obtenez l’ID de votre abonnement à l’aide de la commande Get-AzSubscription .
Get-AzSubscriptionName : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : EnabledEnregistrez l’étendue de l’abonnement dans une variable.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"Attribuez le rôle Lecteur à l'utilisateur au niveau de l'abonnement.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScopeRoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : FalseAttribuez le rôle Contributeur à l’utilisateur dans l’étendue du groupe de ressources.
New-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False
Lister l’accès
Pour vérifier l’accès de l’abonnement, utilisez la commande Get-AzRoleAssignment pour répertorier les attributions de rôles.
Get-AzRoleAssignment -SignInName rbacuser@example.com -Scope $subScopeRoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : FalseDans la sortie, vous pouvez voir que le rôle de Lecteur a été attribué à l’utilisateur du tutoriel RBAC dans l’étendue de l’abonnement.
Pour vérifier l’accès au groupe de ressources, utilisez la commande Get-AzRoleAssignment pour répertorier les attributions de rôles.
Get-AzRoleAssignment -SignInName rbacuser@example.com -ResourceGroupName "rbac-tutorial-resource-group"RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : False RoleAssignmentId : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/roleAssignments/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0 Scope : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e DisplayName : RBAC Tutorial User SignInName : rbacuser@example.com RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : User CanDelegate : FalseDans la sortie, vous pouvez voir que les rôles Contributeur et Lecteur ont été affectés à l’utilisateur du didacticiel RBAC. Le rôle de Contributeur est dans l’étendue rbac-tutorial-resource-group et le rôle de Lecteur est hérité dans l’étendue de l’abonnement.
(Facultatif) Répertorier l’accès à l’aide du portail Azure
Pour voir comment les attributions de rôles se présentent dans le portail Azure, affichez le panneau Contrôle d’accès (IAM) de l’abonnement.
Affichez le panneau Contrôle d’accès (IAM) du groupe de ressources.
Suppression d'accès
Pour supprimer l’accès pour les utilisateurs, les groupes et les applications, utilisez Remove-AzRoleAssignment pour supprimer une attribution de rôle.
Utilisez la commande suivante pour supprimer l’attribution de rôle Contributeur pour l’utilisateur dans l’étendue du groupe de ressources.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"Utilisez la commande suivante pour supprimer l’attribution de rôle Lecteur pour l’utilisateur dans l’étendue de l’abonnement.
Remove-AzRoleAssignment -SignInName rbacuser@example.com ` -RoleDefinitionName "Reader" ` -Scope $subScope
Nettoyer les ressources
Pour nettoyer les ressources créées par ce didacticiel, supprimez le groupe de ressources et l’utilisateur.
Supprimez le groupe de ressources à l’aide de la commande Remove-AzResourceGroup .
Remove-AzResourceGroup -Name "rbac-tutorial-resource-group"Confirm Are you sure you want to remove resource group 'rbac-tutorial-resource-group' [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"):Lorsque vous êtes invité à confirmer, tapez Y. La suppression prendra quelques secondes.
Supprimez l’utilisateur à l’aide de la commande Remove-MgUser .
$User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'" Remove-MgUser -UserId $User.Id