Partilhar via


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

O controlo de acesso baseado em funções do Azure (RBAC do Azure) é a forma de gerir o acesso a recursos no Azure. Neste tutorial, você concede a um grupo acesso para exibir tudo em uma assinatura e gerenciar tudo em um grupo de recursos usando o Azure PowerShell.

Neste tutorial, você aprenderá a:

  • Conceder acesso a um grupo em escopos diferentes
  • Acesso à lista
  • Remover o acesso

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

Observação

Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

Pré-requisitos

Para concluir este tutorial, irá precisar de:

Atribuições de funções

No RBAC do Azure, para conceder acesso, você cria uma atribuição de função. Uma atribuição de função é composta por três elementos: principal de segurança, definição de função e âmbito. Aqui estão as duas atribuições de função que você executará neste tutorial:

Principal de segurança Definição de funções Âmbito de aplicação
Grupo
(Grupo Tutorial RBAC)
Reader Subscrição
Grupo
(Grupo Tutorial RBAC)
Colaborador Grupo de recursos
(rbac-tutorial-resource-group)

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

Criar um grupo

Para atribuir uma função, você precisa de um usuário, grupo ou entidade de serviço. Se ainda não tiver um grupo, pode criar 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 aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb NotSet                   {}
    

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

Criar um grupo de recursos

Você utiliza um grupo de recursos para mostrar como atribuir uma função ao escopo de um 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rbac-tutorial-resource-group
    

Conceder acesso

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

  1. Obtenha a ID do objeto do grupo usando o comando 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. Salve o ID do objeto de grupo em uma variável.

    $groupId = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
    
  3. Obtenha o ID da sua subscrição utilizando o comando Get-AzSubscription .

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

    $subScope = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
    
  5. Atribua a função Leitor ao grupo no escopo da assinatura.

    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. Atribua a função de Colaborador ao grupo no escopo do grupo de recursos.

    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
    

Acesso à lista

  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/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
    

    Pode-se ver nos resultados que a função de Leitor foi atribuída ao Grupo de Tutoriais do RBAC no âmbito da subscrição.

  2. Para verificar o acesso para o 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/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
    

    Na saída, você pode ver que as funções de Colaborador e Leitor foram atribuídas ao Grupo de Tutoriais do RBAC. A função de Colaborador está no escopo do grupo de recursos rbac-tutorial e a função de Leitor é herdada no âmbito da assinatura.

(Opcional) Listar o acesso usando o Portal do Azure

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

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

  2. Exiba o painel Controle de acesso (IAM) do grupo de recursos.

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

Remover o acesso

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

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

    Remove-AzRoleAssignment -ObjectId $groupId `
      -RoleDefinitionName "Contributor" `
      -ResourceGroupName "rbac-tutorial-resource-group"
    
  2. Utilize o comando a seguir para remover a atribuição da função de Leitor ao grupo no âmbito da subscrição.

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

Limpeza de 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á excluí-lo no portal.

Próximos passos