O Azure RBAC é o tema que mais aparece no nosso banco de questões do AZ-104. Mas o exame quase nunca para em "o que é Contributor?". O comum é mostrar uma tabela de atribuições de função que mistura usuários, grupos e escopos e perguntar coisas como "O User1 pode reiniciar a VM2?" ou "Qual função, em qual escopo, dá a esta equipe acesso com privilégio mínimo?". O guia oficial de habilidades lista separadamente "gerenciar funções internas do Azure", "atribuir funções em diferentes escopos" e "interpretar atribuições de acesso".
Este artigo se concentra em ler e interpretar atribuições de função. Vamos ver as três partes de toda atribuição de função, as funções internas que você precisa saber diferenciar, escopo e herança, a diferença entre atribuições de negação e NotActions, a fronteira entre funções do Microsoft Entra e funções do Azure, e como confirmar as permissões reais com Verificar acesso na página Controle de acesso (IAM). Os conceitos básicos de RBAC estão em Identidade e Governança.
---
Toda Atribuição de Função Tem Três Partes
Pense no crachá de acesso de um escritório. Ele diz de quem é (a pessoa), qual nível tem (visitante, funcionário ou administrador) e quais andares abre (a zona). Mude qualquer um dos três e você tem um crachá completamente diferente. Uma atribuição de função do Azure é exatamente essa combinação.
| Parte | Pergunta | Valores possíveis | |------|------|------| | Entidade de segurança | Quem? | Usuário, grupo, entidade de serviço, identidade gerenciada | | Definição de função | O quê? | Lista de operações permitidas (Actions, DataActions) | | Escopo | Onde? | Grupo de gerenciamento, assinatura, grupo de recursos, recurso |
!Uma atribuição de função combina uma entidade de segurança, uma definição de função e um escopo
Atribuir funções a grupos é mais fácil de manter do que atribuí-las a pessoas uma por uma. Quando você atribui uma função a um grupo, quem entra no grupo ganha o acesso automaticamente e o perde automaticamente ao sair. Quando um recurso como uma VM ou um aplicativo do App Service precisa acessar outro recurso, você ativa uma identidade gerenciada e atribui a função a essa identidade. A identidade gerenciada atribuída pelo sistema é criada e excluída junto com o recurso; a atribuída pelo usuário é um recurso independente que vários recursos podem compartilhar.
Dica para o exame: "Permitir que uma VM acesse o armazenamento sem guardar credenciais no código ou em arquivos de configuração" significa atribuir uma função de dados de armazenamento à identidade gerenciada da VM.
---
Funções Internas que Você Precisa Diferenciar
O Azure tem centenas de funções internas, mas as que aparecem repetidamente nas questões do AZ-104 são poucas. Memorize também o que cada função não pode fazer, porque é assim que você elimina as respostas erradas.
| Função | Pode | Não pode | |------|------|------| | Owner (Proprietário) | Gerenciar todos os recursos + atribuir funções | Acessar o plano de dados com uma conta do Entra (precisa de uma função de dados separada) | | Contributor (Colaborador) | Gerenciar todos os recursos | Atribuir funções, gerenciar atribuições do Blueprints, compartilhar galerias de imagens | | Reader (Leitor) | Exibir todos os recursos | Fazer alterações | | User Access Administrator (Administrador de Acesso do Usuário) | Gerenciar o acesso de usuários (atribuir funções) | Criar ou modificar os próprios recursos | | Role Based Access Control Administrator | Atribuir funções com o Azure RBAC, podendo limitar com condições | Gerenciar o acesso de outras formas, como o Azure Policy | | Virtual Machine Contributor | Criar e gerenciar VMs, gerenciar discos | Gerenciar a VNet ou a conta de armazenamento usada pela VM, atribuir funções | | Network Contributor | Gerenciar redes | Implantar ou gerenciar VMs | | Storage Account Contributor | Gerenciar contas de armazenamento + acessar as chaves da conta | Atribuir funções | | Storage Blob Data Contributor | Ler, gravar e excluir contêineres e blobs | Gerenciar as configurações da conta de armazenamento | | Tag Contributor | Gerenciar marcas | Acessar os próprios recursos |
Plano de Controle e Plano de Dados
As permissões de uma função ficam em duas colunas. Actions são operações do plano de controle, como criar um recurso ou alterar suas configurações. DataActions são operações do plano de dados, como ler ou gravar o conteúdo de um blob. Owner e Contributor têm um curinga (*) em Actions, mas a lista de DataActions está vazia, então ler dados de blobs com uma conta do Microsoft Entra exige uma função adicional.
Há uma pegadinha. Contributor e Storage Account Contributor incluem a operação que lista as chaves da conta (listkeys) e, quando você a tem, o portal usa a chave da conta para mostrar os dados dos blobs. No sentido contrário, se você tem só uma função de dados e nenhuma função do plano de controle de pelo menos Reader, nem consegue navegar até a conta de armazenamento no portal.
Dica para o exame: "Os usuários devem apenas ler blobs no portal com a conta do Microsoft Entra" é Reader mais Storage Blob Data Reader no escopo da conta de armazenamento. Só o Storage Blob Data Reader não permite navegar no portal.
---
Escopo e Herança: o Acesso Desce
Quem tem a chave mestra do prédio abre todas as salas de todos os andares. O Azure funciona do mesmo jeito: uma função atribuída em um escopo superior é herdada por todos os escopos abaixo. Do mais amplo ao mais estreito, os quatro níveis são grupo de gerenciamento → assinatura → grupo de recursos → recurso.
O segundo princípio a lembrar é que o Azure RBAC é um modelo aditivo. Quando várias atribuições de função se sobrepõem para uma mesma pessoa, as permissões efetivas são a soma de todas elas. Atribuir uma função mais baixa em um escopo inferior nunca tira uma função mais alta herdada de cima.
| Situação | Acesso efetivo | |------|------| | Contributor na assinatura, Reader no RG1 | Contributor também no RG1 (soma) | | Contributor no RG1, Reader na VM1 | Contributor também na VM1 (herança + soma) | | O grupo tem Contributor no RG1, o usuário tem Reader na assinatura | Gerencia o RG1, só exibe os outros grupos de recursos | | Owner no RG1 | Pode atribuir funções a outros dentro do RG1, sem acesso ao RG2 |
Dica para o exame: Quando um requisito reduz o escopo, como "gerenciar apenas as VMs do RG2 e nada mais", escolha a resposta que atribui Virtual Machine Contributor no escopo do RG2, não na assinatura. Se já existe uma função mais alta no escopo da assinatura, o acesso não diminui até que essa atribuição seja removida.
---
Duas Formas de Subtrair Acesso: NotActions e Atribuições de Negação
Essas duas "subtrações" parecem iguais, mas se comportam de forma totalmente diferente, e o exame as mistura de propósito.
| Item | NotActions | Atribuição de negação | |------|------|------| | Onde fica | Dentro de uma definição de função | Um objeto separado, no mesmo nível de uma atribuição de função | | Significado | Operações retiradas de um curinga em Actions | Bloqueia explicitamente as operações indicadas | | Se outra função permite a mesma operação | É permitida (não é uma regra de negação) | Continua bloqueada | | Quem cria | O administrador que escreve uma função personalizada | O Azure cria e gerencia (você não pode criar diretamente) | | Exemplo | Contributor exclui as operações de atribuição de função | Proteção contra exclusão de aplicativos gerenciados e pilhas de implantação |
Conhecer a ordem em que o Azure Resource Manager avalia uma solicitação também acelera as questões de tabela.
Reúne todas as atribuições de função e de negação que se aplicam à operação solicitada Se uma atribuição de negação se aplica, bloqueia imediatamente Se a soma das atribuições de função não inclui a operação, bloqueia Se a atribuição de função tem condições, avalia as condições antes de decidir
Dica para o exame: "Uma função personalizada coloca a operação de exclusão em NotActions, mas o usuário ainda consegue excluir" significa que outra atribuição de função concede a exclusão. Para impedir totalmente que um recurso específico seja excluído, considere um bloqueio de recurso (CanNotDelete).
---
Funções do Entra e Funções do Azure Vivem em Mundos Diferentes
Dois "administradores" podem cuidar de coisas totalmente diferentes. O RH cuida do cadastro de funcionários; a equipe de facilities cuida do prédio e dos equipamentos. Ser chefe do RH não dá a chave da sala de servidores.
| Item | Funções do Microsoft Entra | Funções do Azure (Azure RBAC) | |------|------|------| | O que gerenciam | Objetos de diretório como usuários, grupos, licenças e domínios | Recursos do Azure como VMs, armazenamento e VNets | | Funções típicas | Global Administrator, User Administrator, Billing Administrator | Owner, Contributor, Reader, User Access Administrator | | Escopo de atribuição | Locatário inteiro ou uma unidade administrativa | Grupo de gerenciamento, assinatura, grupo de recursos, recurso | | Onde atribuir | Funções e administradores no Centro de administração do Entra | Controle de acesso (IAM) em cada escopo |
Por padrão, nenhum mundo entra no outro. A exceção é a elevação de acesso de um Global Administrator. Ao definir "Gerenciamento de acesso para recursos do Azure" como Sim nas propriedades do Entra ID, essa pessoa recebe User Access Administrator no escopo raiz (/), o que permite atribuir funções em todas as assinaturas e grupos de gerenciamento do locatário. Volte para Não quando terminar.
As funções clássicas de administrador de assinatura que aparecem em materiais antigos, Account Administrator, Service Administrator e Co-Administrator, foram desativadas em 31 de agosto de 2024. Hoje a função Owner do Azure RBAC cumpre esse papel.
Dica para o exame: "Deve poder criar novos usuários e redefinir as senhas deles" é uma função do Entra (User Administrator); "gerenciar recursos de uma assinatura" é uma função do Azure. Se uma