Olá pessoal. Seguindo nossa série sobre segurança em recursos do Azure, vamos falar sobre a funcionalidade de controle de acesso no Azure, o Identity Access Management (IAM) e demonstrar como conceder acesso a recursos no Azure utilizando o portal e também o powershell.
O que é o Identity Access Management (IAM)?
O controle de acesso do Azure, mais conhecido como IAM possui as mesmas funções do RBAC (Role-based Access Control), mas controla os acessos a recursos, grupos de recursos e subscriptions no Azure. Possuir uma conta no Azure AD não garante o acesso aos recursos disponíveis nesta plataforma. Para ter acesso aos recursos do Azure, é necessário utilizar o RBAC (IAM) para permitir o acesso aos serviços disponíveis no Azure para cada usuário.
Para a demonstração, vamos considerar o cenário abaixo:
Recurso a ser concedido o acesso: rg-iam-lab
Resource Owner: Sara
Resource Contributor: IT Group; John
Clique no recurso que terá seu acesso configurado e, selecione a opção Access control (IAM).

Clique em Add para configurar os acessos ao resource group rg-iam-lab.
Na console so IAM, clique em Add no menu “Add a role assignment”.

Para exemplificar os acessos, vamos conceder o acesso de Owner para a uauária Sara.

Vamos conceder acesso de contributor para o grupo “IT Group”.
Nota: basicamente a diferença entre as funções Owner e o Contributor é que o segundo não possui permissão de editar permissões.

Acessamos o portal do Azure com o usuário John que atribuímos a função “Contributor” para o grupo de recurso rg-iam-lab. Note abaixo que não possuindo a função “Owner”, as funções de adicionar e configurar permissões estão desabilitadas.

Agora vamos verificar as opções disponíveis para a usuária Sara, que possui a função de “Owner” neste Resource Group.

Para entender melhor as roles RBAC no Azure, acesse esse link.
Controlando acessos usando o powershell
Para demonstrar como configurar acessos utilizando o powershell, vamos considerar o cenário abaixo:
Recurso a ser concedido o acesso: rb-iam-lab-ps
Resource Owner: John
Resource Contributor: IT Group; Sara
Resource Reader: Fred
Abra o powershell e conecte no Azure utilizando o comando Connect-AzAccount. Caso não tenha configurado ainda o módulo do Azure para powershell, acesse esse post onde ensino passo a passo como configurar.
Vamos atribuir a função de “Owner” para o usuário John executando o comando:


Sintaxe: New-AzRoleAssignment -ResourceGroupName nome do recurso -SignInName usuário@dominio -RoleDefinitionName função
É possível também atribuir acessos utilizando o parâmetro -Objectid do usuário ou grupo no Azure.
Para identificar qual o Objectid de um grupo, execute o comando abaixo:


Para identificar qual o Objectid de um usuário, execute o comando abaixo:


Vamos definir agora a permissão de “Contributor” ao grupo IT Group e “Reader” ao usuário Fred através utilizando o atributo Objectid. Execute o comando abaixo para atribuir o acesso ao grupo IT Group:


Vamos agora adicionar a permissão de “Reader” ao usuário Fred no grupo de recurso rb-iam-lab-ps usando o comando:

Sintaxe: New-AzRoleAssignment -ResourceGroupName nome do recurso – -ObjectId Atributo ID do objeto -RoleDefinitionName função
Visualizando permissões atuais em um recurso no powershell
Você pode verificar quais permissões estão concedidas a um recurso rodando o comando:


Removendo permissões em um recurso
Para exemplificar como deletar uma permissão, vamos remover o acesso de “Read” do usuário Fred. Para remover permissões de um recurso, execute o comando:


Ao executar o comando de listar novamente, podemos perceber que o usuário Fred não possui mais permissão no resource group.

Controlando acessos usando o Azure Cli
Vamos configurar o mesmo cenário de acessos com o powershell utilizando comandos do Azure Cli, mas em um novo grupo de recursos chamado rb-iam-lab-acli e considerar as permissões abaixo:
Recurso a ser concedido o acesso: rb-iam-lab-acli
Resource Owner: John
Resource Contributor: IT Group; Sara
Resource Reader: Fred
Para conceder acesso a um recurso no azure utilizando o Azure Cli, vamos executar o comando abaixo:


Para atribuir a permissão de grupo, vamos identificar qual o Objectid do grupo “IT Group” utilizando o Azure Cli. Execute o comando:

Vamos copiar os dígitos marcados abaixo para atribuir o acesso.

Vamos agora atribuir a permissão de “Contributor” para o grupo IT Group utilizando o comando:


Vamos atribuir ao usuário Fred o acesso de “reader” com o comando:


Para mais informações sobre como criar permissões em recursos utilizando o Azure Cli, acesse este link.
Visualizando permissões atuais em um recurso
Você pode verificar quais permissões estão concedidas a um recurso rodando o comando:


Removendo permissões em um recurso
Para exemplificar como deletar uma permissão, vamos remover o acesso de “Read” do usuário Fred. Para remover permissões de um recurso, execute o comando:

Ao executar o comando de listar novamente, podemos perceber que o usuário Fred não possui mais permissão no resource group.

Resumo
Bom, pessoal. Neste post abordamos bastante sobre controle de acesso de usuários e grupos em um recurso ou grupo de recursos utilizando o controle de acessos do Azure (IAM). Explicamos o conceito, aplicação e fizemos um passo a passo de como adicionar, remover e visualizar acessos utilizando o portal do Azure, o powershell e o Azure Cli.
No próximo post, vamos abordar políticas do Azure e como aplicá-las em recursos para garantir a padronização dos recursos definidos pela companhia.
Espero que este conteúdo tenha contribuído com o enriquecimento do conhecimento de vocês em Azure.
Gostaram do post? Curtam e compartilhem.
Tem alguma sugestão ou observação, comente.
[ ]’s
Ulysses Neves
