, , ,

O que é Azure Managed Identity?

Avatar de Vinicius

O gerenciamento de senhas e credenciais sempre foi um desafio para desenvolvedores, especialmente para a comunicação entre serviços. Embora seja possível utilizar o Azure Key Vault para armazenar tais informações com segurança, os serviços precisam uma forma para acessá-lo.

Com o Azure Managed Identity é possível eliminar a necessidade dos desenvolvedores gerenciarem as senhas e credenciais, mantendo a comunicação segura entre os serviços.

Mas o que é Azure Managed Identity?

O que é Azure Managed Identity?

Uma Managed Identity nada mais é do que um service principal especial que é criado e gerenciado de forma automática no Microsoft Entra ID, onde obtém tokens para que recursos que possuem suporte à autenticação do Microsoft Entra possam estabelecer uma comunicação entre si, sem ter que se preocupar com credenciais.

Atualmente, existem dois tipos de Managed Identity, e aqui estão algumas diferenças entre eles

  • System Assigned
    • Vinculado ao ciclo de vida do recurso, ou seja, se o recurso for excluído, a Managed Identity é excluída automaticamente
    • Por design, somente o recurso do Azure pode usar essa identidade para solicitar tokens do Microsoft Entra ID
  • User Assigned
    • Gerenciada separadamente dos recursos que a utilizam, ou seja, mesmo que o recurso for excluído, a Managed Identity não será excluída
    • Pode ser utilizada por vários recursos

Em qualquer um dos dois tipos você autoriza a identidade gerenciada a ter acesso a um ou mais serviços

Explicando a utilização

Independente do tipo de Managed Identity que você escolher, você sempre terá um recurso “origem” e um recurso “destino”, sendo que:

  • Origem
    • Recurso onde o Managed Identity será criado/atríbuido, seja ele System Assigned ou User Assigned
    • Managed Identity solicitará ao Entra ID o token para conseguir estabelecer a comunicação com o “destino”
    • Entra ID irá emitir o token e, então, o recurso “origem” irá autenticar com esse token no “destino”

  • Destino
    • Recurso onde a “origem” vai se conectar
    • Managed Identity da “origem” precisa ter o acesso concedido via Role Based Access Control
      • O acesso a SQL Database é concedido diretamente no banco através da criação um login

Na imagem abaixo, podemos ver

  1. A “origem” (Web App com Managed Identity) que solicitará ao Entra ID o token
  2. Entra ID emite o token para a Managed Identity
  3. Managed Identity vai utilizar o token para autenticar no Azure SQL Database

Quais serviços no Azure suportam o Managed Identity?

A lista é extensa e, segundo a Microsoft, “essa lista não inclui todos os artigos que falam sobre as identidades gerenciadas […] As informações de namespace do provedor de recursos estão disponíveis no artigo intitulado Provedores de recursos para serviços do Azure

  • API Management
  • Application Gateway
  • Azure App Configuration
  • Azure App Services
  • Azure Arc enabled Kubernetes
  • Azure Arc enabled servers
  • Azure Automanage
  • Azure Automation
  • Azure Batch
  • Azure Blueprints
  • Azure Cache for Redis
  • Azure Communications Gateway
  • Azure Communication Services
  • Azure Container Apps
  • Azure Container Instance
  • Azure Container Registry
  • Azure AI services
  • Azure Data Box
  • Azure Data Explorer
  • Azure Data Factory
  • Azure Data Lake Storage Gen1
  • Azure Data Share
  • Azure DevTest Labs
  • Azure Digital Twins
  • Azure Event Grid
  • Azure Event Hubs
  • Azure Image Builder
  • Azure Import/Export
  • Azure IoT Hub
  • Azure Kubernetes Service (AKS)
  • Azure Load Testing
  • Azure Logic Apps
  • Azure Log Analytics cluster
  • Azure Machine Learning Services
  • Azure Managed Disk
  • Azure Media services
  • Azure Monitor
  • Azure Policy
  • Microsoft Purview
  • Azure Resource Mover
  • Azure Site Recovery
  • Azure Search
  • Azure Service Bus
  • Azure Service Fabric
  • Azure SignalR Service
  • Azure Spring Apps
  • Azure SQL
  • Azure SQL Managed Instance
  • Azure Stack Edge
  • Azure Static Web Apps
  • Azure Stream Analytics
  • Azure Synapse
  • Azure VM image builder
  • Azure Virtual Machine Scale Sets
  • Azure Virtual Machines
  • Azure Web PubSub Service

Quais operações podem ser executadas com Managed Identities?

Independente do tipo de Managed Identity, você pode:

  • Utilizar Role Based Access Control para conceder permissões
  • Verificar as operações Create, Read, Update e Delete (CRUD) nos logs de atividades do Azure
  • Exibir a atividade de entrada nos logs de entrada do Microsoft Entra ID

Mas existem algumas diferenças caso você opte por System ou User Assigned

  • System Assigned
    • Habilite ou desabilite Managed Identities no nível do recurso

  • User Assigned
    • Você pode criar, ler, atualizar e excluir Managed Identities

Você pode utilizar Managed Identies executando Azure Resource Manager (ARM), Portal do Azure, Azure CLI, Powershell e APIs REST.

Avatar de Vinicius

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *