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

Um desafio comum para os desenvolvedores é o gerenciamento de segredos, credenciais, certificados e chaves usadas para proteger a comunicação entre serviços. As identidades gerenciadas eliminam a necessidade de os desenvolvedores gerenciarem essas credenciais.

Embora os desenvolvedores possam armazenar com segurança os segredos no Cofre da Chave do Azure, os serviços precisam de uma maneira de acessar o Cofre da Chave do Azure. As identidades gerenciadas fornecem uma identidade gerenciada automaticamente na ID do Microsoft Entra para os aplicativos usarem ao se conectar a recursos que oferecem suporte à autenticação do Microsoft Entra. Os aplicativos podem usar identidades gerenciadas para obter tokens do Microsoft Entra sem precisar gerenciar nenhuma credencial.

O vídeo a seguir mostra como você pode usar identidades gerenciadas:

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

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

Observação

Identidades gerenciadas para recursos do Azure é o novo nome do serviço anteriormente conhecido como Managed Service Identity (MSI).

Tipos de identidade gerenciados

Existem dois tipos de identidades gerenciadas:

  • Sistema atribuído. Alguns recursos do Azure, como máquinas virtuais, permitem que você habilite uma identidade gerenciada diretamente no recurso. Quando você habilita uma identidade gerenciada atribuída ao sistema:

    • Uma entidade de serviço de um tipo especial é criada no Microsoft Entra ID para a identidade. A entidade de serviço está vinculada ao ciclo de vida desse recurso do Azure. Quando o recurso do Azure é excluído, o Azure exclui automaticamente a entidade de serviço para você.
    • Por design, apenas esse 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 ao sistema é sempre o mesmo que o nome do recurso do Azure para o qual foi criada. Para um slot de implantação, o nome de sua identidade atribuída ao sistema é <app-name>/slots/<slot-name>.
  • Atribuído 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. Quando você habilita 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.

A tabela a seguir mostra as diferenças entre os dois tipos de identidades gerenciadas:

Propriedade Identidade gerenciada atribuída ao sistema Identidade gerenciada atribuída pelo usuário
Criação Criado como parte de um recurso do Azure (por exemplo, Máquinas Virtuais do Azure ou Serviço de Aplicativo do Azure). Criado como um recurso autônomo 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 explicitamente suprimido.
Partilhar entre recursos do Azure Não pode ser compartilhado.
Ele só pode ser associado a um único recurso do Azure.
Pode ser partilhado.
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 que necessitam de identidades independentes.
Por exemplo, um aplicativo que é executado em uma única máquina virtual.
Cargas de trabalho que são executadas em vários recursos e podem compartilhar uma única identidade.
Cargas de trabalho 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 posso usar identidades gerenciadas para recursos do Azure?

Você pode usar identidades gerenciadas seguindo as etapas abaixo:

  1. Crie uma identidade gerenciada no Azure. Você pode escolher entre identidade gerenciada atribuída ao sistema ou identidade gerenciada atribuída pelo usuário.
    1. 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 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 oferecem suporte ao recurso?

As identidades gerenciadas para recursos do Azure podem ser usadas para autenticar em serviços que oferecem suporte à autenticação do Microsoft Entra. Para obter uma lista de serviços do Azure com suporte, consulte Serviços que dão suporte a identidades gerenciadas para recursos do Azure.

Que operações posso realizar em identidades gerenciadas?

Os recursos que suportam identidades gerenciadas atribuídas ao sistema permitem:

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

Se você escolher uma identidade gerenciada atribuída ao usuário:

As operações em identidades gerenciadas podem ser executadas usando um modelo do Azure Resource Manager, o portal do Azure, a CLI do Azure, o PowerShell e as APIs REST.

Próximos passos