Partager via


Tutoriel : Accorder un accès de groupe aux ressources Azure à l’aide d’Azure PowerShell

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 groupe l’accès pour afficher tous les éléments d’un abonnement et gérer tout ce qui se trouve dans un groupe de ressources à l’aide d’Azure PowerShell.

Dans ce tutoriel, vous allez apprendre à :

  • Accorder l'accès à un groupe à différents niveaux
  • 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.

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 :

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
Groupe
(Groupe de didacticiels RBAC)
Reader Subscription
Groupe
(Groupe de didacticiels RBAC)
Contributor groupe de ressources
(rbac-tutorial-resource-group)

Attributions de rôles pour un groupe

Créer un groupe

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 de 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 nécessaires pour créer des groupes, vous pouvez essayer le tutoriel : Accorder à un utilisateur l’accès 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.

  1. Obtenez la liste des emplacements de région à l’aide de la commande Get-AzLocation .

    Get-AzLocation | select Location
    
  2. Sélectionnez un emplacement près de vous et affectez-le à une variable.

    $location = "westus"
    
  3. Créez un groupe de ressources à l’aide de 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, 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.

  1. 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                   {}
    
  2. Enregistrez l’ID d’objet de groupe dans une variable.

    $groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
    
  3. 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
    
  4. Enregistrez l’étendue de l’abonnement dans une variable.

    $subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    
  5. Attribuez le rôle 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
    
  6. Attribuez le rôle Contributeur au groupe au niveau 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

  1. Pour vérifier l’accès de l’abonnement, utilisez la commande Get-AzRoleAssignment pour répertorier les attributions de rôles.

    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.

  2. 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 -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) Répertorier l’accès à l’aide du portail Azure

  1. 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.

    Attributions de rôles pour un groupe au niveau de l’étendue de l’abonnement

  2. Affichez le panneau Contrôle d’accès (IAM) du groupe de ressources.

    Attributions de rôles pour un groupe dans l’étendue 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.

  1. Utilisez la commande suivante pour supprimer l’attribution de rôle Contributeur pour le groupe dans l’étendue du groupe de ressources.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Utilisez la commande suivante pour supprimer, à l’étendue de l’abonnement, l’attribution du rôle Lecteur pour le groupe.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    

Nettoyer les ressources

Pour nettoyer les ressources créées par ce didacticiel, supprimez le groupe de ressources et le groupe.

  1. 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"):
    
  2. Lorsque vous êtes invité à confirmer, tapez Y. La suppression prendra quelques secondes.

  3. 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.

Étapes suivantes