O Azure Custom Role no contexto do Role-Based Access Control (RBAC) permite criar funções personalizadas para conceder permissões específicas a usuários, grupos ou identidades gerenciadas. Isso é útil quando as funções padrão do Azure não atendem às necessidades exatas de controle de acesso.
📌 O que é RBAC no Azure?
O RBAC (Role-Based Access Control) no Azure é um modelo que gerencia permissões baseadas em funções. Ele permite controlar quem pode realizar quais ações sobre quais recursos.
Tipos de funções no Azure RBAC:
- Funções Padrão – Criadas pela Microsoft, como:
- Owner (Dono) – Controle total, incluindo delegação de acesso.
- Contributor (Colaborador) – Pode gerenciar recursos, mas sem alterar permissões.
- Reader (Leitor) – Apenas leitura.
- User Access Administrator – Gerencia o acesso de usuários.
- Funções Personalizadas (Custom Role) – Criadas pelo usuário quando as funções padrão não são suficientes.
🔹 Criando uma Custom Role pelo Portal do Azure
1️⃣ Acesse o portal do Azure
- Vá para https://portal.azure.com
- No menu de pesquisa, digite “IAM” ou “Controle de Acesso (IAM)”
- Acesse a seção “Controle de Acesso (IAM)” no escopo desejado (Subscription, Resource Group ou Resource).
2️⃣ Criar a função personalizada
- Clique em “Funções (Roles)” no menu lateral.
- Clique em “+ Criar” → “Nova função personalizada”.
3️⃣ Definir informações básicas
- Nome da função → Escolha um nome significativo (ex: “Operador de VM Personalizado”).
- Descrição → Explique o que a função faz (ex: “Permite iniciar e parar VMs, mas não excluí-las”).
- Baseline de permissões:
- Começar do zero → Criar do zero.
- Clonar uma função existente → Basear-se em uma função padrão.
Clique em “Avançar”.
4️⃣ Adicionar permissões
- Clique em “+ Adicionar permissões”.
- Na caixa de pesquisa, digite um provedor de recursos (ex:
Microsoft.Compute
para VMs). - Marque as permissões desejadas, como:
- Iniciar VM:
Microsoft.Compute/virtualMachines/start/action
- Parar VM:
Microsoft.Compute/virtualMachines/deallocate/action
- Reiniciar VM:
Microsoft.Compute/virtualMachines/restart/action
- Iniciar VM:
- Clique em “Adicionar” e depois “Avançar”.
5️⃣ Definir escopo de atribuição
- Escolha onde a função poderá ser atribuída:
- Assinatura (Subscription)
- Grupo de Recursos (Resource Group)
- Recurso específico
- Clique em “+ Adicionar escopo”, selecione a assinatura ou grupo de recursos e clique em “Selecionar”.
- Clique em “Avançar”.
6️⃣ Revisar e criar
- Verifique todas as configurações.
- Clique em “Criar” para finalizar.
Agora a Custom Role estará disponível para ser atribuída a usuários, grupos ou identidades gerenciadas! 🎯
🔧 Como criar uma função personalizada (Custom Role)
As funções personalizadas são definidas em JSON e incluem:
- Nome
- Descrição
- Permissões permitidas e negadas
- Escopo (Subscription, Resource Group ou Resource)
🔹 Exemplo de JSON de um Azure Custom Role
{
"Name": "Custom Virtual Machine Operator",
"IsCustom": true,
"Description": "Permite iniciar, parar e reiniciar máquinas virtuais, mas não excluí-las.",
"Actions": [
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/restart/action"
],
"NotActions": [
"Microsoft.Compute/virtualMachines/delete/action"
],
"AssignableScopes": [
"/subscriptions/{subscriptionId}"
]
}
🔍 Explicação:
- Actions: Lista de permissões concedidas.
- NotActions: Permissões explicitamente negadas.
- AssignableScopes: Define em quais escopos essa função pode ser atribuída
🔹 Como importar uma Custom Role JSON usando a opção “Start from JSON” no Portal do Azure
Se você deseja criar uma função personalizada (Custom Role) a partir de um arquivo JSON existente usando a opção “Start from JSON”, siga os passos abaixo:
1️⃣ Acesse o Portal do Azure
- Vá para https://portal.azure.com
- No menu de pesquisa, digite “IAM” ou “Controle de Acesso (IAM)”
- Acesse a seção “Controle de Acesso (IAM)” no nível desejado (Assinatura, Grupo de Recursos ou Recurso específico).
2️⃣ Criar uma nova função personalizada
- Clique na aba “Funções (Roles)”.
- Clique em “+ Criar” → “Nova função personalizada”.
3️⃣ Selecionar “Start from JSON”
- Na aba “Informações básicas”, procure a opção “Baseline de Permissões”.
- Selecione “Start from JSON”.
- Clique no botão “Upload JSON” e selecione o arquivo JSON da sua função personalizada.
4️⃣ Revisar e modificar (se necessário)
- Depois de carregar o JSON, os campos serão preenchidos automaticamente.
- Revise as permissões na aba “Permissões”.
- Se necessário, ajuste as ações permitidas (“Actions”) e ações negadas (“NotActions”).
5️⃣ Definir escopo
- Na aba “Escopo de Atribuição”, clique em “+ Adicionar escopo”.
- Selecione a assinatura, grupo de recursos ou recurso específico onde a função pode ser usada.
6️⃣ Revisar e Criar
- Verifique todas as configurações.
- Clique em “Criar” para finalizar a importação da Custom Role.
✅ Agora sua função personalizada foi importada com sucesso!
Ela poderá ser atribuída a usuários, grupos ou identidades gerenciadas conforme necessário.
🏆 Benefícios do Azure Custom Role
✅ Maior segurança – Princípio do menor privilégio
✅ Controle granular sobre permissões
✅ Melhoria na governança e conformidade
✅ Redução de riscos de acesso indevido
Assista ao meu vídeo no canal Azure Xplorer e veja como configurar uma Custom Role utilizando um arquivo JSON.
Fonte Microsoft Learn:
https://learn.microsoft.com/pt-br/azure/role-based-access-control/overview