Tutoriel : Accorder à un groupe l’accès aux ressources Azure à l’aide d’Azure PowerShell
Le contrôle d’accès en fonction du rôle Azure (RBAC Azure) vous permet de gérer l’accès aux ressources Azure. Dans ce tutoriel, vous accordez l’accès à un groupe pour afficher tous les éléments d’un abonnement et gérer tous les éléments d’un groupe de ressources à l’aide d’Azure PowerShell.
Dans ce tutoriel, vous allez apprendre à :
- Accorder l’accès à un groupe dans différentes étendues
- Répertorier les accès
- Suppression d'accès
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Notes
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.
Prérequis
Pour exécuter ce didacticiel, les éléments suivants sont nécessaires :
- Autorisations pour créer des groupes dans Microsoft Entra ID (ou avoir un groupe existant)
- Azure Cloud Shell
- Microsoft Graph - SDK PowerShell
Affectations de rôles
Dans le contrôle d’accès en fonction du rôle Azure, vous créez une attribution de rôle pour accorder l’accès. 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 deux attributions de rôles que vous allez effectuer dans ce tutoriel :
Principal de sécurité | Définition de rôle | Étendue |
---|---|---|
Groupe (Groupe du tutoriel RBAC) |
Lecteur | Abonnement |
Groupe (Groupe du tutoriel RBAC) |
Contributeur | Resource group (rbac-tutorial-resource-group) |
Créer un groupe
Pour attribuer un rôle, vous avez besoin d’un utilisateur, d’un groupe ou d’un principal du service. Si vous n’avez pas déjà un groupe, vous pouvez en créer un.
Dans Azure Cloud Shell, créez un groupe à l’aide de la commande New-MgGroup.
New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false ` -SecurityEnabled:$true -MailNickName "NotSet"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Si vous n’avez pas les autorisations pour créer des groupes, vous pouvez suivre le Tutoriel : Accorder un accès utilisateur aux ressources Azure à l’aide d’Azure PowerShell à la place.
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 Location
Sélectionnez un emplacement près de chez vous et assignez-le à une variable.
$location = "westus"
Créez un groupe de ressources avec la commande New-AzResourceGroup.
New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
ResourceGroupName : 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 au groupe, utilisez la commande New-AzRoleAssignment afin d’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 d’objet du groupe à l’aide de la commande Get-MgGroup.
Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
DisplayName Id MailNickname Description GroupTypes ----------- -- ------------ ----------- ---------- RBAC Tutorial Group aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet {}
Enregistrez l’ID d’objet du groupe dans une variable.
$groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
Obtenez l’ID de votre abonnement à l’aide de la commande Get-AzSubscription.
Get-AzSubscription
Name : Pay-As-You-Go Id : 00000000-0000-0000-0000-000000000000 TenantId : aaaabbbb-0000-cccc-1111-dddd2222eeee State : Enabled
Enregistrez l’étendue de l’abonnement dans une variable.
$subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
Attribuez le rôle de Lecteur au groupe dans l’étendue de l’abonnement.
New-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
RoleAssignmentId : /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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Attribuez le rôle de Contributeur au groupe dans l’étendue du groupe de ressources.
New-AzRoleAssignment -ObjectId $groupId ` -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 Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Répertorier les accès
Pour vérifier l’accès à l’abonnement, utilisez la commande Get-AzRoleAssignment afin de lister les attributions de rôle.
Get-AzRoleAssignment -ObjectId $groupId -Scope $subScope
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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Dans la sortie, vous pouvez voir que le rôle de Lecteur a été attribué au groupe du tutoriel RBAC dans l’étendue de l’abonnement.
Pour vérifier l’accès au groupe de ressources, utilisez la commande Get-AzRoleAssignment afin de lister les attributions de rôle.
Get-AzRoleAssignment -ObjectId $groupId -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 Group SignInName : RoleDefinitionName : Contributor RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group 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 Group SignInName : RoleDefinitionName : Reader RoleDefinitionId : acdd72a7-3385-48ef-bd42-f606fba81ae7 ObjectId : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb ObjectType : Group CanDelegate : False
Dans la sortie, vous pouvez voir que les rôles de Collaborateur et de Lecteur ont été attribués au groupe du tutoriel 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) Accès à la liste à l’aide du portail Azure
Pour voir les attributions de rôle dans le portail Azure, affichez le panneau Contrôle d’accès (IAM) pour l’abonnement.
Affichez le panneau Contrôle d’accès (IAM) pour le groupe de ressources.
Suppression d'accès
Pour supprimer l’accès accordé à des utilisateurs, des groupes ou des applications, utilisez Remove-AzRoleAssignment afin de supprimer une attribution de rôle.
Utilisez la commande suivante pour supprimer l’attribution de rôle de Collaborateur pour le groupe dans l’étendue de groupe de ressources.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Contributor" ` -ResourceGroupName "rbac-tutorial-resource-group"
Utilisez la commande suivante pour supprimer l’attribution de rôle de Lecteur pour le groupe dans l’étendue d’abonnement.
Remove-AzRoleAssignment -ObjectId $groupId ` -RoleDefinitionName "Reader" ` -Scope $subScope
Nettoyer les ressources
Pour supprimer les ressources créées par ce tutoriel, supprimez le groupe de ressources et le groupe.
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 votre choix, saisissez Y. La suppression prendra quelques secondes.
Supprimez le groupe à l’aide de la commande Remove-MgGroup.
Remove-MgGroup -GroupID $groupId
Si vous recevez une erreur lorsque vous essayez de supprimer le groupe, vous pouvez également supprimer le groupe dans le portail.