O uso de identidades gerenciadas atribuídas ao usuário no Azure pode ter várias implicações de segurança, positivas e negativas:
Implicações de segurança positivas
1. Eliminação do gerenciamento de credenciais: identidades gerenciadas atribuídas ao usuário eliminam a necessidade de gerenciar manualmente credenciais, reduzindo o risco de vazamentos de credenciais e erro humano. Isso aprimora a segurança, lidando automaticamente com o ciclo de vida da identidade e simplificando a autenticação para os serviços do Azure [10].
2. Flexibilidade e controle: as identidades gerenciadas atribuídas ao usuário são mais versáteis do que as identidades atribuídas ao sistema, pois podem ser reutilizadas em vários recursos e não estão vinculadas a um ciclo de vida específico do recurso. Isso permite um melhor controle sobre o gerenciamento e as permissões de identidade [3] [11].
3. Autorização e controle de acesso: as identidades gerenciadas podem ser integradas ao controle de acesso baseado em função do Azure (Azure RBAC) para definir permissões precisas para acessar recursos. Isso garante que as identidades tenham apenas as permissões necessárias, reduzindo o risco de super privilegiar [10].
Implicações de segurança negativas
1. Riscos de configuração errônea: se não estiver configurado corretamente, as identidades gerenciadas atribuídas ao usuário podem levar a problemas de segurança. Por exemplo, conceder permissões excessivas pode resultar em escalada de privilégios, permitindo acesso não autorizado a recursos confidenciais [1].
2. Persistência e furtividade: houve casos em que os atacantes exploraram identidades gerenciadas para manter a persistência nos serviços do Azure. Isso pode ocorrer se um invasor obtiver acesso ao token da ENTRA ID associado a uma identidade gerenciada, permitindo que eles sexem a identidade sem detecção [4].
3. Limitações de atualização do token: As alterações nas permissões de uma identidade gerenciada podem não entrar em vigor imediatamente devido ao cache de token. Isso pode levar a atrasos na revogação do acesso, potencialmente permitindo que ações não autorizadas continuem por várias horas [3].
4. Prevenção do uso não autorizado: Para evitar o uso não autorizado, é crucial implementar controles de acesso robustos, como política do Azure, RBAC e monitoramento de alterações nas atribuições de identidade gerenciadas [2] [9].
No geral, enquanto as identidades gerenciadas atribuídas ao usuário oferecem benefícios de segurança significativos, eles exigem gerenciamento e monitoramento cuidadosos para mitigar riscos potenciais.
Citações:
[1] https://pracical365.com/heard-at-tec-mischief-managed-attacking-and-securing-azure-managed-identities/
[2] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/managed-identities-daq
[3] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/managed-entity-best-practice-recommendations
[4] https://www.youtube.com/watch?v=sgp91luda3k
[5] https://learn.microsoft.com/en-us/entra/architecture/service-accounts-anaged-identities
[6] https://docs.azure.cn/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-signed-managed-sidentities
[7] https://www.varonis.com/blog/azure-managed-identities
[8] https://help.zerto.com/bundle/install.ma.html.9.5/page/enabling_user_assigned_managed_identities_and_setting_mandatory_permissions_in_azure.htm
[9] https://www.reddit.com/r/azure/comments/175ewbq/managed_identity_how_to_prevent_others_from_using/
[10] https://www.techtarget.com/searchcloudcomputing/tip/managed-identity-vs-service-principal-for-azure-apps
[11] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-sassigned-anaged-identities/