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. As identidades gerenciadas eliminam a necessidade de os desenvolvedores gerenciarem essas credenciais.

Embora os desenvolvedores possam armazenar com segurança os segredos no Azure Key Vault, os serviços precisam de uma forma de acessar o Azure Key Vault. As identidades gerenciadas fornecem uma identidade automaticamente gerenciada no Azure Active Directory para os aplicativos usarem ao se conectarem a recursos que dão suporte à autenticação do Azure AD (Azure Active Directory). Os aplicativos podem usar identidades gerenciadas para obter tokens do Azure AD sem ter que gerenciar credenciais.

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 Azure AD, incluindo aplicativos próprios.
  • As identidades gerenciadas podem ser usadas sem custo extra.

Observação

Identidades gerenciadas para recursos do Azure é o novo nome para o serviço anteriormente conhecido como MSI (Identidade de Serviço Gerenciada).

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 Azure AD 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 Azure AD.
    • Você autoriza a identidade gerenciada a ter acesso a um ou mais serviços.
  • 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 Azure AD 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 seguinte tabela mostra as diferenças entre os dois tipos de identidades gerenciadas:

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. Precisa ser explicitamente excluída.
Compartilhamento entre recursos do Azure Não pode ser compartilhada. Só pode ser associada a um único recurso do Azure. Pode ser compartilhada. 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 que estão contidas em um único recurso do Azure. Cargas de trabalho para as quais você precisa 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. Cargas de trabalho que precisam de pré-autorização em 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".

O recurso tem suporte de quais serviços do Azure?

As identidades gerenciadas para recursos do Azure podem ser usadas para autenticar os serviços que são compatíveis com a autenticação do Azure AD. 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.

Quais operações posso executar usando identidades gerenciadas?

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

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.

Próximas etapas