Gerenciando Funções e Permissões do Azure AD com PowerShell

Gerenciando Funções e Permissões do Azure AD com PowerShell. Você precisa de ajuda para gerenciar e automatizar Funções e Permissões do Azure AD com o Windows PowerShell? Este artigo explica os cenários típicos para automatizar o Controle de Acesso Baseado em Função (RBAC) do Azure usando o PowerShell.

Para estabelecer a base e se preparar para gerenciar funções e permissões do Azure, começamos com uma visão geral do controle de acesso baseado em função (RBAC) do Azure. Em seguida, explicamos os três elementos da atribuição de funções.

Também há uma seção que explica os pré-requisitos para gerenciar funções e permissões do Azure AD com o Windows PowerShell.

As próximas seções são dedicadas a explicar os passos para atribuir funções do Azure AD usando o PowerShell. 

Finalmente, explicamos como listar funções atribuídas a usuários e grupos usando o PowerShell.

O que é Controle de Acesso Baseado em Função (RBAC) do AzureO controle de acesso baseado em função (RBAC) do Azure permite que os administradores tenham um controle granular de acesso aos recursos. Em outras palavras, o RBAC do Azure permite que os administradores controlem quem tem acesso aos recursos.

O controlo de acesso baseado em funções do Azure (RBAC) permite que administradores realizem um controle de acesso aos recursos com granularidade . Em outras palavras, o RBAC do Azure permite que os administradores controlem quem tem acesso aos recursos.

Além disso, o RBAC controla o nível de acesso aos recursos no Azure.

No cerne do RBAC estão as atribuições de função. O Azure tem centenas de funções internas com permissões pré-definidas que são atribuídas a usuários, grupos ou principais de serviço .

A existência de funções internas com permissões pré-definidas torna as atribuições de função fáceis, pois os administradores não precisam conceder permissões aos objetos diretamente.

No entanto, existem situações em que as funções internas podem não ser adequadas às necessidades da organização. Neste caso, são criadas funções personalizadas.

Este artigo abrange as etapas para atribuir funções existentes e criar e atribuir funções personalizadas do AD do Azure.

Elementos de Atribuição de Funções no Azure

A atribuição de funções envolve três elementos: principal de segurança, definição de função e escopo. O principal de segurança é o objeto do Active Directory do Azure que deve ser atribuída a função.

Por outro lado, a definição de função é a função interna ou personalizada do AD do Azure que está sendo atribuída, enquanto o escopo é o nível no qual a função está sendo atribuída. Existem quatro escopos em que as funções são atribuídas no Azure.

Especificamente, as funções do Azure são atribuídas a um recurso, a um grupo de recursos, a uma assinatura e a um grupo de gerenciamento. Para atribuir uma função a um recurso, você precisa do ID do recurso.

No entanto, atribuir uma função a um escopo de grupo de recursos requer o nome do grupo de recursos. Executando o comando Get-AzResourceGroup retorna todos os grupos de recursos, incluindo seus nomes na assinatura atual.

Se você atribuir uma função no escopo da assinatura, você precisa do ID da assinatura. Para listar todas as assinaturas no tenant, execute o comando Get-AzSubscription.

Finalmente, as funções são atribuídas a um escopo de grupo de gerenciamento, o que requer o nome do grupo de gerenciamento. Para obter o nome de um grupo de gerenciamento, execute o comando Get-AzManagementGroup.

Compreender esses elementos é importante para gerenciar as funções e permissões do Azure AD com PowerShell. No restante do artigo, nós exploramos como o principal de segurança, a definição de função e o escopo são usados para atribuir e gerenciar funções no Azure AD usando PowerShell.

Pré-requisitos para Gerenciar Funções e Permissões do Azure AD com PowerShell

Antes de um administrador atribuir funções, eles devem cumprirem os seguintes requisitos:

  1. O usuário deve ser atribuído com as funções que possuem permissões Microsoft.Authorization/roleAssignments/write. As únicas funções com essa permissão são Administrador de Acesso do Usuário, Proprietário ou Administrador Global.
  2. Além disso, é necessário ter acesso ao Cloud Shell do Azure ou ao Azure PowerShell.
  3. A conta de usuário que executa os comandos do PowerShell deve ter a permissão Directory.Read.All do Microsoft Graph.
  4. Por fim, para realizar algumas das tarefas neste artigo, sua conta requer uma licença mínima do Azure AD Premium P1.

À medida que avançamos neste artigo, explicamos os passos para atribuir essas permissões conforme necessário.

Passos para Atribuir Funções Internas do Azure AD Usando o PowerShellSe você clicar no link do Cloud Shell acima e entrar com sua conta do Azure, ele exibirá uma tela semelhante à captura de tela abaixo. O benefício do Azure Cloud Shell é que não requer a instalação de módulos do PowerShell em seu PC.

I’ll be running the PowerShell commands in this and subsequent sections from Azure Cloud Shell, a browser-based shell that allows running Azure CLI or PowerShell commands. However, I’ll be running the commands from my computer. 

Se você clicar no link da shell do cloud acima e fazer login com sua conta Azure, ele mostra uma tela como a mostrada na imagem abaixo. O benefício da Shell do Cloud Azure é que não é necessário instalar nenhum módulo PowerShell no seu PC.

Passo 1: Determinar o ID do Objeto

Você precisa obter o ID do objeto antes de atribuir um papel a um recurso Azure. Siga com as etapas abaixo para determinar o ID de objeto de um usuário, grupo ou assinatura.

1. Abra a Shell do Cloud Azure – shell.azure.com e faça login com sua conta Azure.

Se você estiver abrindo a Shell do Cloud Azure pela primeira vez, ela exige que você crie uma conta de armazenamento.

2. Execute os comandos abaixo para obter o ID do usuário ou grupo para atribuir um papel. No primeiro comando, eu estou retornando o ID de um usuário que começa com

$userid = (Get-AzADUser -UserPrincipalName AnthonyRa@corp.itechguides.com).id
$groupid = (Get-AzADGroup -DisplayName "Helpdesk Admins (AAD)").id

O primeiro comando salva o ID do usuário na variável userid, enquanto o segundo salva o ID do grupo do grupo na variável grouped. Antes de executar os comandos, lembre-se de mudar o UserPrincipalName e o DisplayName.

Passo 2: Obter o Papel para Atribuir

O próximo passo para gerenciar funções e permissões do Azure AD com PowerShell é determinar a função a ser atribuída. Comece listando todas as funções disponíveis em seu locatário do Azure AD usando o seguinte comando.

Get-AzRoleDefinition | Format-Table -Property Name, IsCustom, Id

O comando exibe o Nome e Id de todas as funções no locatário. Além disso, ele retorna True ou False na coluna IsCustom

Para demonstrar, quero atribuir a função de Administrador de Segurança ao usuário e grupo que determinei na Etapa 1. Para exibir o nome da função, encaminho a saída do comando Get-AzRoleDefinition para Where-Object, conforme mostrado neste comando. 

$roleassignmentname = (Get-AzRoleDefinition | where-object {$_.name -eq "Security Admin"}).Name

Etapa 3: Identificar o Escopo de Atribuição da Função

O comando abaixo retorna o ResourceID de uma conta de armazenamento (escopo de recurso) e o salva na variável ResourceID. 

Posteriormente, eu atribuo ao usuário da etapa 1 a função “Administrador de Segurança” nesse recurso de conta de armazenamento. 

$scoperesourceID = (Get-AzResource | Where-object {$_.name -eq "veeambackup21"}).ResourceID

Etapa 4: Atribuir a Função do Azure

Usando as informações nos passos de 1 a 3, execute o comando abaixo para atribuir a função ao usuário. Antes de executar o comando, a função não está atribuída a esta conta de armazenamento, como mostrado na captura de tela abaixo. 

O primeiro comando atribui a função de “Administrador de Segurança” a um usuário salvo na variável $userid. Da mesma forma, o segundo comando atribui a mesma função a um grupo salvo na variável $groupid. 

New-AzRoleAssignment -ObjectId $userid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID
New-AzRoleAssignment -ObjectId $groupid -RoleDefinitionName $roleassignmentname -Scope $scoperesourceID

Após executar os comandos acima, atualizar as contas de armazenamento exibe a função Administrador de Segurança, e o usuário e grupo atribuídos à função. 

Exibir Atribuição de Função do Azure AD Usando PowerShell

Anteriormente, atribuí a função de “Administrador de Segurança” a um usuário com UPN, [email protected]. Se você se lembra, o userId do usuário foi salvo na variável $userid. 

Da mesma forma, o ID do escopo da conta de armazenamento foi salvo na variável $scoperesourceID. Para exibir a atribuição de função para o usuário, eu executo o comando abaixo. 

get-AzRoleAssignment -scope $scoperesourceID -ObjectId $userid

O comando exibe os detalhes da atribuição de função, incluindo o Nome da Atribuição de Função e escopo. 

Você exibe as mesmas informações para o grupo executando este comando.

get-AzRoleAssignment -scope $scoperesourceID -ObjectId $groupid

Conclusão do Gerenciamento de Funções e Permissões do Azure AD com PowerShell

A administração de funções do Azure exige conhecimento do modelo de controlo de acesso baseado em funções. Além disso, entender os elementos de atribuição de funções do Azure – principal de segurança, definição de função e alcance – é essencial para gerenciar atribuições de funções com PowerShell efetivamente.

Não só é isso, mas uma conta atribuindo funções deve satisfazer algumas pré-requisitos, como configurar PowerShell com os módulos necessários e garantir privilégios administrativos apropriados.

O guia passo a passo fornecido nesta publicação oferece uma rota clara a seguir quando atribuindo funções integradas do Azure AD usando PowerShell. De determinando o ID de objeto à identificação do alcance para a atribuição de funções, cada estado é cuidadosamente descrito, facilitando um processo de alocação de funções controle e fácil.

Source:
https://infrasos.com/managing-azure-ad-roles-and-permissions-with-powershell/