Partilhar via


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

Um desafio comum que os programadores enfrentam é a gestão de segredos, credenciais, certificados e chaves utilizados na proteção da 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. As aplicações podem utilizar identidades geridas para obter tokens do Microsoft Entra sem terem de gerir credenciais.

O que são identidades gerenciadas?

A um nível elevado, existem dois tipos de identidades: as identidades humanas e as identidades máquina/não humanas. As identidades máquina/não humanas 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 (Máquina Virtual (VM), Conjunto de Escala de Máquina Virtual (VMSS), Cluster do Service Fabric, cluster Kubernetes do Azure) ou qualquer plataforma de hospedagem de aplicativo suportada pelo Azure. Depois que uma identidade gerenciada é atribuída ao 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 geridas podem substituir certificados ou outras formas de autenticação para dependências entre serviços.

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

Eis alguns dos benefícios da utilização das identidades geridas:

  • Não necessita gerir as 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 geridas podem ser utilizadas sem custos extra.

Tipos de identidade gerenciados

Existem dois tipos de identidades geridas:

  • Atribuído pelo sistema. 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 deste recurso do Azure. Quando o recurso do Azure é excluído, o Azure exclui automaticamente a entidade de serviço para você.
    • Por predefinição, apenas esse recurso do Azure pode utilizar essa identidade para pedir tokens ao Microsoft Entra ID.
    • Você autoriza a identidade gerenciada a ter acesso a um ou mais serviços.
    • O nome do principal de serviço atribuído pelo sistema é sempre o mesmo que o nome do recurso do Azure para o qual foi criado. Para um slot de implantação, o nome de sua identidade gerenciada 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 gerenciadas 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 gerenciadas 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 recomendada para os serviços da Microsoft.

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

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.

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

Propriedade Identidade gerida atribuída pelo sistema Identidade gerida atribuída pelo utilizador
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 principal é eliminado, a identidade gerida também é eliminada.
Ciclo de vida independente.
Deve ser explicitamente suprimido.
Partilha 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 comuns de utilização 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 partilhar uma identidade única.
Tarefas que necessitam de autorização prévia 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 utilizar as identidades geridas para os 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, utiliza a identidade como uma característica desse recurso "fonte".

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.

Trabalhar com identidades gerenciadas

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

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

  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. 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, 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 cliente. Alguns recursos de origem oferecem conectores que sabem como usar identidades gerenciadas para as conexões. Nesse caso, utiliza-se a identidade como uma característica dessa fonte de recursos.

Use 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 gerenciado do Entra ID apoiado pela identidade gerenciada. Essa aquisição de token não requer segredos e é autenticada automaticamente com base no ambiente onde o código é executado. Desde que a identidade gerenciada seja autorizada, o código de serviço pode acessar dependências downstream que suportam a autenticação do Entra ID.

Por exemplo, é possível utilizar 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. A carga de trabalho em execução na VM faz interface com os SDKs do cliente 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.

Utilizar identidade gerida como uma Credencial de Identidade Federada (FIC) numa aplicação Entra ID

A Federação de Identidades de Trabalho permite usar uma identidade gerida como credencial, assim como certificado ou senha, nas Aplicações Entra ID. Sempre que um aplicativo Entra ID é necessário, esta é a maneira recomendada de estar 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. A carga de trabalho usa a identidade gerenciada para adquirir um token a ser trocado por um token de aplicativo Entra ID, por meio da federação de identidades de carga de trabalho. Esse recurso também é conhecido como identidade gerenciada como FIC (Federated Identity Credentials). Para obter mais informações, consulte Configurar um aplicativo para confiar em uma identidade gerenciada.

Próximos passos