Partager via


Tutoriel : Accorder à un utilisateur l’accès 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 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 :

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)

Attributions de rôles pour un utilisateur

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.

  1. Dans Azure Cloud Shell, créez un mot de passe conforme aux exigences de complexité de votre mot de passe.

    $PasswordProfile = @{ Password = "<Password>" }
    
  2. 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.

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

  1. 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
    
  2. Enregistrez l’étendue de l’abonnement dans une variable.

    $subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    
  3. Attribuez le rôle Lecteur à l'utilisateur au niveau de l'abonnement.

    New-AzRoleAssignment -SignInName rbacuser@example.com `
      -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 User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    
  4. Attribuez 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

  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 -SignInName rbacuser@example.com -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 User
    SignInName         : rbacuser@example.com
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    ObjectType         : User
    CanDelegate        : False
    

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

  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 -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        : False
    

    Dans 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

  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 utilisateur 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 utilisateur 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 l’utilisateur dans l’étendue du groupe de ressources.

    Remove-AzRoleAssignment -SignInName rbacuser@example.com `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. 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.

  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 l’utilisateur à l’aide de la commande Remove-MgUser .

    $User = Get-MgUser -Filter "DisplayName eq 'RBAC Tutorial User'"
    Remove-MgUser -UserId $User.Id
    

Étapes suivantes