Usar a Política do Azure para atribuir identidades gerenciadas (visualização)
A Política do Azure ajuda a impor padrões organizacionais e a avaliar a conformidade em escala. Por meio de seu painel de conformidade, a política do Azure fornece uma exibição agregada que ajuda os administradores a avaliar o estado geral do ambiente. Você tem a capacidade de detalhar a granularidade por recurso e por política. Ele também ajuda a colocar seus recursos em conformidade por meio de correção em massa para recursos existentes e correção automática para novos recursos. Os casos de uso comuns da Política do Azure incluem a implementação de governança para:
- Consistência de recursos
- Conformidade regulamentar
- Segurança
- Custo
- Gestão
As definições de política para esses casos de uso comuns já estão disponíveis em seu ambiente do Azure para ajudá-lo a começar.
Os Agentes de Monitoramento do Azure exigem uma identidade gerenciada nas Máquinas Virtuais (VMs) do Azure monitoradas. Este documento descreve o comportamento de uma Política do Azure interna fornecida pela Microsoft que ajuda a garantir que uma identidade gerenciada, necessária para esses cenários, seja atribuída às VMs em escala.
Embora o uso da identidade gerenciada atribuída ao sistema seja possível, quando usado em escala (por exemplo, para todas as VMs em uma assinatura), resulta em um número substancial de identidades criadas (e excluídas) no Microsoft Entra ID. Para evitar essa alternância de identidades, é recomendável usar identidades gerenciadas atribuídas pelo usuário, que podem ser criadas uma vez e compartilhadas entre várias VMs.
Definição e pormenores da política
Quando executada, a política executa as seguintes ações:
- Crie, se não existir, uma nova identidade gerenciada interna atribuída pelo usuário na assinatura e em cada região do Azure com base nas VMs que estão no escopo da política.
- Uma vez criado, coloque um bloqueio na identidade gerenciada atribuída pelo usuário para que ela não seja excluída acidentalmente.
- Atribua a identidade gerenciada atribuída pelo usuário interna às Máquinas Virtuais da assinatura e da região com base nas VMs que estão no escopo da política.
Nota
Se a Máquina Virtual tiver exatamente 1 identidade gerenciada atribuída pelo usuário já atribuída, a política ignorará essa VM para atribuir a identidade interna. Isso é para garantir que a atribuição da política não interrompa aplicativos que dependem do comportamento padrão do ponto de extremidade de token no IMDS.
Há dois cenários para usar a política:
- Permita que a política crie e use uma identidade gerenciada "interna" atribuída pelo usuário.
- Traga sua própria identidade gerenciada atribuída pelo usuário.
A política usa os seguintes parâmetros de entrada:
- Traga o seu-próprio-UAMI? - A política deve criar, se não existir, uma nova identidade gerenciada atribuída pelo usuário?
- Se definido como true, então você deve especificar:
- Nome da identidade gerenciada.
- Grupo de recursos que contém a identidade gerenciada.
- Se definido como false, nenhuma entrada adicional será necessária.
- A política criará a identidade gerenciada atribuída pelo usuário necessária chamada "built-in-identity" em um grupo de recursos chamado "built-in-identity-rg".
- Se definido como true, então você deve especificar:
- Restringir-trazer-seu-próprio-UAMI-para-assinatura? - Quando o parâmetro Bring-Your-Own-UAMI é definido como true, a política deve utilizar uma identidade gerenciada atribuída pelo usuário centralizado ou utilizar uma identidade para cada assinatura?
- Se definido como true, nenhuma entrada adicional será necessária.
- A política usará uma identidade gerenciada atribuída pelo usuário por assinatura.
- Se definida como false, a política utilizará uma única identidade gerenciada atribuída ao usuário centralizado que será aplicada em todas as assinaturas cobertas pela atribuição de política. Deve especificar:
- ID do recurso de identidade gerenciada atribuído pelo usuário
- Se definido como true, nenhuma entrada adicional será necessária.
Utilização da política
Criando a atribuição de política
A definição de política pode ser atribuída a escopos diferentes no Azure – na assinatura do grupo de gerenciamento ou em um grupo de recursos específico. Como as políticas precisam ser aplicadas o tempo todo, a operação de atribuição é executada usando uma identidade gerenciada associada ao objeto de atribuição de política. O objeto de atribuição de política oferece suporte à identidade gerenciada atribuída pelo sistema e pelo usuário. Por exemplo, Joe pode criar uma identidade gerenciada atribuída pelo usuário chamada PolicyAssignmentMI. A política interna cria uma identidade gerenciada atribuída pelo usuário em cada assinatura e em cada região com recursos que estão no escopo da atribuição de política. As identidades gerenciadas atribuídas pelo usuário criadas pela política têm o seguinte formato resourceId:
/subscriptions/your-subscription-id/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-{location}
Por exemplo:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/built-in-identity-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/built-in-identity-eastus
Autorização necessária
Para que a identidade gerenciada PolicyAssignmentMI possa atribuir a política interna no escopo especificado, ela precisa das seguintes permissões, expressas como uma Atribuição de Função do RBAC do Azure (controle de acesso baseado em função do Azure):
Principal | Papel / Ação | Âmbito | Propósito |
---|---|---|---|
PolíticaAssigmentMI | Operador de Identidade Gerida | /subscription/subscription-id/resourceGroups/built-in-identity OU Traga sua própria identidade gerenciada pelo usuário |
Necessário para atribuir a identidade interna a VMs. |
PolíticaAssigmentMI | Contribuinte | /subscription/subscription-id> | Necessário para criar o grupo de recursos que contém a identidade gerenciada interna na assinatura. |
PolíticaAssigmentMI | Contribuidor de identidade gerenciada | /subscription/subscription-id/resourceGroups/built-in-identity | Necessário para criar uma nova identidade gerenciada atribuída pelo usuário. |
PolíticaAssigmentMI | Administrador de Acesso dos Utilizadores | /subscription/subscription-id/resourceGroups/built-in-identity OU Traga sua própria identidade de usuário atribuída-gerenciada |
Necessário para definir um bloqueio na identidade gerenciada atribuída pelo usuário criada pela política. |
Como o objeto de atribuição de política deve ter essa permissão antecipadamente, PolicyAssignmentMI não pode ser uma identidade gerenciada atribuída pelo sistema para este cenário. O usuário que executa a tarefa de atribuição de política deve pré-autorizar PolicyAssignmentMI com antecedência com as atribuições de função acima.
Como você pode ver, a função de menor privilégio resultante necessária é "colaborador" no escopo da assinatura.
Problemas conhecidos
Possível condição de corrida com outra implantação que altera as identidades atribuídas a uma VM pode resultar em resultados inesperados.
Se houver duas ou mais implantações paralelas atualizando a mesma máquina virtual e todas elas alterarem a configuração de identidade da máquina virtual, é possível, sob condições de corrida específicas, que todas as identidades esperadas NÃO sejam atribuídas às máquinas. Por exemplo, se a política neste documento estiver atualizando as identidades gerenciadas de uma VM e, ao mesmo tempo, outro processo também estiver fazendo alterações na seção de identidades gerenciadas, não é garantido que todas as identidades esperadas sejam atribuídas corretamente à VM.