Compartilhar via


O que são identidades gerenciadas para recursos do Azure?

Um desafio comum para desenvolvedores é o gerenciamento de segredos, credenciais, certificados e chaves usados para proteger a comunicação entre serviços. O tratamento manual de segredos e certificados é uma fonte conhecida de problemas de segurança e interrupções. As identidades gerenciadas eliminam a necessidade de os desenvolvedores gerenciarem essas credenciais. Os aplicativos podem usar identidades gerenciadas para obter tokens do Microsoft Entra sem ter que gerenciar credenciais.

O que são identidades gerenciadas?

Em um alto nível, há dois tipos de identidades: identidades humanas e de máquina/não humanas. As identidades de computador/não humanos consistem em identidades de dispositivo e carga de trabalho. No Microsoft Entra, as identidades de carga de trabalho são aplicativos, entidades de serviço e identidades gerenciadas. Para obter mais informações sobre identidades de carga de trabalho, consulte identidades de carga de trabalho.

Uma identidade gerenciada é uma identidade que pode ser atribuída a um recurso de computação do Azure (VM (Máquina Virtual), VMSS (Conjunto de Dimensionamento de Máquinas Virtuais), Cluster do Service Fabric, cluster do Kubernetes do Azure) ou qualquer plataforma de hospedagem de aplicativos com suporte do Azure. Depois que uma identidade gerenciada é atribuída no recurso de computação, ela pode ser autorizada, direta ou indiretamente, a acessar recursos de dependência downstream, como uma conta de armazenamento, banco de dados SQL, CosmosDB e assim por diante. A identidade gerenciada substitui segredos como chaves de acesso ou senhas. Além disso, as identidades gerenciadas podem substituir certificados ou outras formas de autenticação para dependências entre serviços.

O seguinte vídeo mostra como você pode usar as identidades gerenciadas:

Aqui estão alguns dos benefícios de usar identidades gerenciadas:

  • Você não precisa gerenciar credenciais. As credenciais nem sequer estão acessíveis para você.
  • Você pode usar identidades gerenciadas para se autenticar em qualquer recurso que dê suporte à autenticação do Microsoft Entra, incluindo aplicativos próprios.
  • As identidades gerenciadas podem ser usadas sem custo extra.

Tipos de identidade gerenciada

Há dois tipos de identidades gerenciadas:

  • Atribuída pelo sistema. Alguns recursos do Azure, como máquinas virtuais, permitem a habilitação de uma identidade gerenciada diretamente no recurso. Ao habilitar uma identidade gerenciada atribuída pelo sistema:

    • Uma entidade de serviço de um tipo especial é criada no Microsoft Entra ID para a identidade. A entidade de serviço é vinculada ao ciclo de vida desse recurso do Azure. Quando o recurso do Azure é excluído, o Azure exclui a entidade de serviço automaticamente.
    • Por design, somente o recurso do Azure pode usar essa identidade para solicitar tokens do Microsoft Entra ID.
    • Você autoriza a identidade gerenciada a ter acesso a um ou mais serviços.
    • O nome da entidade de serviço atribuída pelo sistema sempre é idêntico ao nome do recurso do Azure para o qual ela foi criada. Em um slot de implantação, o nome da identidade atribuída ao sistema é <app-name>/slots/<slot-name>.
  • Atribuída pelo usuário. Você também pode criar uma identidade gerenciada como um recurso autônomo do Azure. Você pode criar uma identidade gerenciada atribuída pelo usuário e atribuí-la a um ou mais Recursos do Azure. Ao habilitar uma identidade gerenciada atribuída pelo usuário:

    • Uma entidade de serviço de um tipo especial é criada no Microsoft Entra ID para a identidade. A entidade de serviço é gerenciada separadamente dos recursos que a utilizam.
    • As identidades atribuídas pelo usuário podem ser usadas por vários recursos.
    • Você autoriza a identidade gerenciada a ter acesso a um ou mais serviços.

    As identidades atribuídas pelo usuário, que são provisionadas independentemente da computação e podem ser atribuídas a vários recursos de computação, são o tipo de identidade gerenciada recomendado para os serviços da Microsoft.

Os recursos que dão suporte a identidades gerenciadas atribuídas pelo sistema permitem que você:

  • Habilite ou desabilite identidades gerenciadas no nível de recurso.
  • Use o RBAC (controle de acesso baseado em função) para conceder permissões.
  • Veja as operações CRUD (criar, ler, atualizar e excluir) nos logs de atividades do Azure.
  • Exiba a atividade de entrada nos logs de entrada do Microsoft Entra ID.

Ao invés disso, se você escolher uma identidade gerenciada atribuída ao usuário:

As operações em identidades gerenciadas podem ser executadas por meio de um modelo do Azure Resource Manager, do portal do Azure, da CLI do Azure, do PowerShell e das APIs REST.

Diferenças entre identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário

Propriedade Identidade gerenciada atribuída pelo sistema Identidade gerenciada atribuída pelo usuário
Criação Criada como parte de um recurso do Azure (por exemplo, Máquinas Virtuais do Azure ou Serviço de Aplicativo do Azure). Criada como um recurso independente do Azure.
Ciclo de vida Ciclo de vida compartilhado com o recurso do Azure com o qual a identidade gerenciada é criada.
Quando o recurso pai é excluído, a identidade gerenciada também é excluída.
Ciclo de vida independente.
Deve ser excluído explicitamente.
Compartilhamento entre recursos do Azure Não pode ser compartilhada.
Só pode ser associada a um único recurso do Azure.
Pode ser compartilhado.
A mesma identidade gerenciada atribuída pelo usuário pode ser associada a mais de um recurso do Azure.
Casos de uso comuns Cargas de trabalho contidas em um único recurso do Azure.
Cargas de trabalho precisando de identidades independentes.
Por exemplo, um aplicativo que é executado em uma máquina virtual individual.
Cargas de trabalho que são executadas em vários recursos e que podem compartilhar uma só identidade.
Workloads que precisam de pré-autorização para um recurso seguro, como parte de um fluxo de provisionamento.
Cargas de trabalho em que os recursos são reciclados com frequência, mas as permissões devem permanecer consistentes.
Por exemplo, uma carga de trabalho em que várias máquinas virtuais precisam acessar o mesmo recurso.

Como usar identidades gerenciadas para recursos do Azure?

Você pode usar identidades gerenciadas seguindo as etapas abaixo:

  1. Criar uma identidade gerenciada no Azure. Você pode escolher entre a identidade gerenciada atribuída pelo sistema ou a identidade gerenciada atribuída pelo usuário.
    1. Ao usar uma identidade gerenciada atribuída pelo usuário, atribua a identidade gerenciada ao Recurso do Azure de "origem", como uma Máquina Virtual, Aplicativo Lógico do Azure ou um Aplicativo Web do Azure.
  2. Autorize a identidade gerenciada a ter acesso ao serviço de "destino".
  3. Use a identidade gerenciada para acessar um recurso. Nesta etapa, é possível usar o SDK do Azure com a biblioteca Azure.Identity. Alguns recursos de "origem" oferecem conectores que sabem como usar identidades gerenciadas para as conexões. Nesse caso, você usa a identidade como um recurso desse recurso de "origem".

Quais serviços do Azure dão suporte ao recurso?

As identidades gerenciadas para recursos do Azure podem ser usadas para autenticar nos serviços que são compatíveis com a autenticação do Microsoft Entra. Para obter uma lista dos serviços do Azure compatíveis, confira Serviços que dão suporte às identidades gerenciadas para recursos do Azure.

Trabalhar com identidades gerenciadas

As identidades gerenciadas podem ser usadas diretamente ou como uma Credencial de Identidade Federada para aplicativos de ID do Microsoft Entra.

As etapas envolvidas no uso de identidades gerenciadas são as seguintes:

  1. Criar uma identidade gerenciada no Azure. Você pode escolher entre a identidade gerenciada atribuída pelo sistema ou a identidade gerenciada atribuída pelo usuário. Ao usar uma identidade gerenciada atribuída pelo usuário, você atribui a identidade gerenciada ao Recurso do Azure de origem, como uma Máquina Virtual, um Aplicativo Lógico do Azure ou um Aplicativo Web do Azure.
  2. Autorize a identidade gerenciada a ter acesso ao serviço de destino.
  3. Use a identidade gerenciada para acessar um recurso. Nesta etapa, você pode usar qualquer uma das bibliotecas de cliente. Alguns recursos de origem oferecem conectores que sabem como usar identidades gerenciadas para as conexões. Nesse caso, você utiliza a identidade como uma característica desse recurso de origem.

Usar a identidade gerenciada diretamente

O código de serviço em execução no recurso de computação do Azure usa a Biblioteca de Autenticação da Microsoft (MSAL) ou o SDK do Azure.Identity para recuperar um token de identidade gerenciada do Entra ID, sustentado pela identidade gerenciada. Essa aquisição de token não requer segredos e é autenticada automaticamente com base no ambiente em que o código é executado. Desde que a identidade gerenciada esteja autorizada, o código do serviço poderá acessar dependências downstream que dão suporte à autenticação de ID do Entra.

Por exemplo, você pode usar uma Máquina Virtual (VM) do Azure como Azure Compute. Em seguida, você pode criar uma identidade gerenciada atribuída pelo usuário e atribuí-la à VM. O workload em execução na VM faz interface com os SDKs de cliente do Azure.Identity (ou MSAL) e do Armazenamento do Azure para acessar uma conta de armazenamento. A identidade gerenciada atribuída pelo usuário está autorizada a acessar a conta de armazenamento.

Usar a identidade gerenciada como uma credencial de identidade federada (FIC) em um aplicativo Entra ID

A Federação de Identidade de Workload habilita o uso de uma identidade gerenciada como uma credencial, assim como um certificado ou uma senha, nos aplicativos Entra ID. Sempre que um aplicativo entra ID é necessário, essa é a maneira recomendada de ser livre de credenciais. Há um limite de 20 FICs ao usar identidades gerenciadas como FIC em um aplicativo Entra ID.

Uma carga de trabalho que atua na capacidade do aplicativo Entra ID pode ser hospedada em qualquer computação do Azure que tenha uma identidade gerenciada. O workload usa a identidade gerenciada para adquirir um token a ser trocado por um token do Aplicativo Entra ID, por meio da federação de identidade do workload. Esse recurso também é conhecido como identidade gerenciada como FIC (Credenciais de Identidade Federadas). Para obter mais informações, consulte configurar um aplicativo para confiar em uma identidade gerenciada.

Próximas etapas