Tutorial: Conceder a um grupo acesso aos recursos do Azure usando o Azure PowerShell

O Azure RBAC (controle de acesso baseado em função do Azure) é a maneira usada para gerenciar o acesso aos recursos no Azure. Neste tutorial, você concede acesso a um grupo para exibir tudo em uma assinatura e gerenciar tudo em um grupo de recursos usando o Azure PowerShell.

Neste tutorial, você aprenderá como:

  • Conceder acesso a um grupo em escopos diferentes
  • Relacionar acesso
  • Remover acesso

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, confira Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

Neste tutorial, você precisará de:

Atribuições de função

No RBAC do Azure, para conceder acesso, você cria uma atribuição de função. Uma atribuição de função consiste em três elementos: entidade de segurança, definição de função e escopo. Aqui estão as duas atribuições de função que você executará neste tutorial:

Entidade de segurança Definição de função Escopo
Agrupar
(Grupo de Tutorial de RBAC)
Leitor Subscription
Agrupar
(Grupo de Tutorial de RBAC)
Colaborador Resource group
(rbac-tutorial-resource-group)

Atribuições de função de um grupo

Criar um grupo

Para atribuir uma função, você precisa de um usuário, grupo ou entidade de serviço. Se você ainda não tiver um grupo, crie um.

  • No Azure Cloud Shell, crie um novo grupo usando o comando New-MgGroup.

    New-MgGroup -DisplayName "RBAC Tutorial Group" -MailEnabled:$false `
        -SecurityEnabled:$true -MailNickName "NotSet"
    
    DisplayName         Id                                   MailNickname Description GroupTypes
    -----------         --                                   ------------ ----------- ----------
    RBAC Tutorial Group 11111111-1111-1111-1111-111111111111 NotSet                   {}
    

Se você não tiver permissões para criar grupos, poderá experimentar o Tutorial: Conceder a um usuário acesso aos recursos do Azure usando o Azure PowerShell em vez disso.

Criar um grupo de recursos

Você usa um grupo de recursos para mostrar como atribuir uma função em um escopo do grupo de recursos.

  1. Obtenha uma lista de locais de região usando o comando Get-AzLocation.

    Get-AzLocation | select Location
    
  2. Selecione um local perto de você e atribua-o a uma variável.

    $location = "westus"
    
  3. Crie um novo grupo de recursos usando o comando New-AzResourceGroup.

    New-AzResourceGroup -Name "rbac-tutorial-resource-group" -Location $location
    
    ResourceGroupName : rbac-tutorial-resource-group
    Location          : westus
    ProvisioningState : Succeeded
    Tags              :
    ResourceId        : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    

Conceder acesso

Para conceder acesso ao grupo, você usa o comando New-AzRoleAssignment para atribuir uma função. Você deve especificar a entidade de segurança, a definição de função e o escopo.

  1. Obtenha a ID de objeto do grupo usando o comando Get-MgGroup.

    Get-MgGroup -Filter "DisplayName eq 'RBAC Tutorial Group'"
    
    DisplayName         Id                                   MailNickname Description GroupTypes
    -----------         --                                   ------------ ----------- ----------
    RBAC Tutorial Group 11111111-1111-1111-1111-111111111111 NotSet                   {}
    
  2. Salve a ID de objeto do grupo em uma variável.

    $groupId = "11111111-1111-1111-1111-111111111111"
    
  3. Obtenha a ID de sua assinatura usando o comando Get-AzSubscription.

    Get-AzSubscription
    
    Name     : Pay-As-You-Go
    Id       : 00000000-0000-0000-0000-000000000000
    TenantId : 22222222-2222-2222-2222-222222222222
    State    : Enabled
    
  4. Salve o escopo da assinatura em uma variável.

    $subScope = "/subscriptions/00000000-0000-0000-0000-000000000000"
    
  5. Atribua a função Leitor ao grupo no escopo da assinatura.

    New-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Reader" `
      -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/44444444-4444-4444-4444-444444444444
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    
  6. Atribuir a função Colaborador ao grupo no escopo do grupo de recursos.

    New-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

Relacionar acesso

  1. Para verificar o acesso para a assinatura, use o comando Get-AzRoleAssignment para listar as atribuições de função.

    Get-AzRoleAssignment -ObjectId $groupId -Scope $subScope
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    Na saída, você pode ver que a função de Leitor foi atribuída ao Grupo do Tutorial de RBAC no escopo da assinatura.

  2. Para verificar o acesso ao grupo de recursos, use o comando Get-AzRoleAssignment para listar as atribuições de função.

    Get-AzRoleAssignment -ObjectId $groupId -ResourceGroupName "rbac-tutorial-resource-group"
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rbac-tutorial-resource-group
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Contributor
    RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    
    RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/22222222-2222-2222-2222-222222222222
    Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
    DisplayName        : RBAC Tutorial Group
    SignInName         :
    RoleDefinitionName : Reader
    RoleDefinitionId   : acdd72a7-3385-48ef-bd42-f606fba81ae7
    ObjectId           : 11111111-1111-1111-1111-111111111111
    ObjectType         : Group
    CanDelegate        : False
    

    Na saída, você pode ver que a função de Leitor e Colaborador foram atribuídas ao Grupo do Tutorial de RBAC. A função de Colaborador está no escopo rbac-tutorial-resource-group e a função de Leitor é herdada no escopo da assinatura.

(Opcional) Acesso à lista usando o Portal do Azure

  1. Para ver como as atribuições de função são exibidas no portal do Azure, veja a folha Controle de acesso (IAM) na assinatura.

    Atribuições de função para um grupo no escopo da assinatura

  2. Veja a folha Controle de acesso (IAM) no grupo de recursos.

    Atribuições de função para um grupo no grupo de recursos

Remover acesso

Para remover o acesso para usuários, grupos e aplicativos, use Remove-AzRoleAssignment para remover a atribuição de função.

  1. Use o comando a seguir para remover a atribuição de função de Colaborador do grupo no escopo do grupo de recursos.

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Use o comando a seguir para remover a atribuição de função de Leitor do grupo no escopo da assinatura.

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

Limpar os recursos

Para limpar os recursos criados por este tutorial, exclua o grupo de recursos e o grupo.

  1. Exclua o grupo de recursos usando o comando 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. Quando solicitado a confirmar, digite Y. Levará alguns segundos para excluir.

  3. Exclua o grupo usando o comando Remove-MgGroup.

    Remove-MgGroup -GroupID $groupId
    

    Se você receber um erro ao tentar excluir o grupo, também poderá excluir o grupo no portal.

Próximas etapas