Share via


Usar identidades gerenciadas para o Azure com o Service Fabric

Um desafio comum ao criar aplicativos em nuvem é como gerenciar com segurança as credenciais em seu código para autenticação a vários serviços sem salvá-las localmente em uma estação de trabalho do desenvolvedor ou no controle do código-fonte. As identidades gerenciadas do Azure resolvem esse problema para todos os seus recursos no Microsoft Entra ID, fornecendo-lhes identidades gerenciadas automaticamente dentro do Microsoft Entra ID. Você pode usar a identidade de um serviço para autenticação em qualquer serviço que dê suporte à autenticação do Microsoft Entra, incluindo o Key Vault, sem credenciais armazenadas em seu código.

As identidades gerenciadas para recursos do Azure são gratuitas com o Microsoft Entra ID para assinaturas do Azure. Não há custo adicional.

Observação

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

Conceitos

As Identidades gerenciadas para o Azure se baseiam em diversos conceitos principais:

  • ID do cliente – um identificador exclusivo gerado pelo Microsoft Entra ID que está vinculado a um aplicativo e entidade de serviço durante seu provisionamento inicial (confira também ID do aplicativo (cliente)).

  • ID da Entidade de Segurança – a ID de objeto do objeto da entidade de serviço para a identidade gerenciada usada para permitir acesso baseado em função a um recurso do Azure.

  • Entidade de serviço – um objeto do Microsoft Entra, que representa a projeção de um aplicativo do Microsoft Entra em um determinado locatário (confira também entidade de serviço).

Há dois tipos de identidades gerenciadas:

  • Uma identidade gerenciada atribuída pelo sistema é habilitada diretamente em uma instância de serviço do Microsoft Azure. O ciclo de vida de uma identidade atribuída ao sistema é exclusivo da instância de serviço do Azure na qual essa entidade está habilitada.
  • Uma identidade gerenciada atribuída pelo usuário é criada como um recurso autônomo do Azure. A identidade pode ser atribuída a uma ou mais instâncias de serviço do Azure e é gerenciada separadamente dos ciclos de vida dessas instâncias.

Para entender ainda melhor a diferença entre os tipos de identidade gerenciada, consulte Como funcionam as identidades gerenciadas dos recursos do Azure?.

Cenários com suporte para aplicativos do Service Fabric

Identidades gerenciadas para o Service Fabric só tem suporte em clusters do Service Fabric implantados pelo Azure e para aplicativos implantados como recursos do Azure. Um aplicativo não implantado como um recurso do Azure não pode receber uma identidade. Conceitualmente falando, o suporte para identidades gerenciadas em um cluster de Service Fabric do Azure consiste em duas fases:

  1. Atribuir uma ou mais identidades gerenciadas ao recurso de aplicativo; um aplicativo pode receber uma única identidade atribuída pelo sistema e/ou até 32 identidades atribuídas pelo usuário, respectivamente.

  2. Na definição do aplicativo, mapeie uma das identidades atribuídas ao aplicativo a qualquer serviço individual que compõe o aplicativo.

A identidade atribuída pelo sistema de um aplicativo é exclusiva para esse aplicativo; uma identidade atribuída pelo usuário é um recurso autônomo que pode ser atribuído a vários aplicativos. Em um aplicativo, uma única identidade (seja ela atribuída pelo sistema ou pelo usuário) pode ser atribuída a vários serviços do aplicativo, mas para cada serviço individual só pode ser atribuída uma identidade. Por fim, uma entidade deve ser atribuída explicitamente a um serviço para que o serviço tenha acesso a essa funcionalidade. De fato, o mapeamento das identidades de um aplicativo aos serviços constituintes permite o isolamento no aplicativo – um serviço só pode usar a identidade mapeada para ele.

Há suporte para os seguintes cenários com este recurso:

  • Implantar um novo aplicativo com um ou mais serviços e uma ou mais identidades atribuídas

  • Atribuir uma ou mais identidades gerenciadas a um aplicativo existente (implantado no Azure) para acessar recursos do Azure

Os cenários a seguir não têm suporte ou não são recomendados. Essas ações não pode ser bloqueadas, mas podem levar a indisponibilidades em seus aplicativos:

  • Remover ou alterar as identidades atribuídas a um aplicativo. Se você precisar fazer alterações, envie implantações separadas para primeiro adicionar uma nova atribuição de identidade e, em seguida, remova uma atribuída anteriormente. A remoção de uma identidade de um aplicativo existente pode ter efeitos indesejáveis, incluindo deixar seu aplicativo em um estado não atualizável. É seguro excluir o aplicativo completamente se a remoção de uma identidade for necessária. Excluir o aplicativo exclui qualquer identidade atribuída pelo sistema associada ao aplicativo e remove todas as associações com todas as identidades atribuídas pelo usuário atribuídas ao aplicativo.

  • O Service Fabric não dá suporte a identidades gerenciadas no AzureServiceTokenProvider preterido. Em vez disso, use identidades gerenciadas no Service Fabric usando o SDK de Identidade do Azure

Próximas etapas