Usar identidades gerenciadas para o Azure com o Service Fabric
Artigo
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.
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:
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.
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.
Demonstrar os recursos do Microsoft Entra ID para modernizar as soluções de identidade, implementar soluções híbridas e implementar a governança de identidade.
Saiba como configurar e usar um aplicativo com identidade gerenciada em um modelo do ARM (Azure Resource Manager) implantado em um cluster gerenciado pelo Service Fabric.
Como usar identidades gerenciadas no código do aplicativo do Azure Service Fabric para acessar os serviços do Azure em um cluster gerenciado do Service Fabric.