Utilizar Identidades geridas 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 em 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 para o Azure resolvem esse problema para todos os seus recursos no Microsoft Entra ID fornecendo identidades gerenciadas automaticamente dentro do Microsoft Entra ID. Pode utilizar a identidade de um serviço para se autenticar em qualquer serviço que suporte a autenticação do Microsoft Entra, incluindo o Cofre da Chave, sem quaisquer credenciais armazenadas no 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 extra.
Nota
Identidades gerenciadas para o Azure é o novo nome do serviço anteriormente conhecido como Identidade de Serviço Gerenciado (MSI).
Conceitos
As identidades gerenciadas do Azure são baseadas em vários conceitos principais:
ID do cliente - um identificador exclusivo gerado pelo Microsoft Entra ID que está vinculado a uma entidade de aplicativo e serviço durante seu provisionamento inicial (consulte também ID do aplicativo (cliente).)
ID Principal - a ID do objeto da entidade de serviço para sua identidade gerenciada que é usada para conceder acesso baseado em função a um recurso do Azure.
Service Principal - um objeto Microsoft Entra, que representa a projeção de um aplicativo Microsoft Entra em um determinado locatário (consulte também a entidade de serviço.)
Existem dois tipos de identidades geridas:
- Uma identidade gerenciada atribuída ao sistema é habilitada diretamente em uma instância de serviço do Azure. O ciclo de vida de uma identidade atribuída ao sistema é exclusivo para a instância de serviço do Azure na qual ela está habilitada.
- Uma identidade gerida atribuída pelo utilizador, que é criada como um recurso do Azure autónomo. 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 melhor a diferença entre os tipos de identidade gerenciada, consulte Como funcionam as identidades gerenciadas para recursos do Azure?.
Cenários suportados para aplicativos do Service Fabric
As identidades gerenciadas para o Service Fabric são suportadas apenas em clusters do Service Fabric implantados no Azure e somente 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 do Azure Service Fabric consiste em duas fases:
Atribuir uma ou mais identidades gerenciadas ao recurso do aplicativo; A um aplicativo pode ser atribuída uma única identidade atribuída pelo sistema e/ou até 32 identidades atribuídas pelo usuário, respectivamente.
Dentro da definição do aplicativo, mapeie uma das identidades atribuídas ao aplicativo para qualquer serviço individual que componha 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. Dentro de um aplicativo, uma única identidade (atribuída ao sistema ou ao usuário) pode ser atribuída a vários serviços do aplicativo, mas a cada serviço individual só pode ser atribuída uma identidade. Por fim, um serviço deve receber uma identidade explicitamente para ter acesso a esse recurso. Na verdade, o mapeamento das identidades de um aplicativo para seus serviços constituintes permite o isolamento no aplicativo — um serviço só pode usar a identidade mapeada para ele.
Os seguintes cenários são suportados para este recurso:
Implantar um novo aplicativo com um ou mais serviços e uma ou mais identidades atribuídas
Atribua uma ou mais identidades gerenciadas a um aplicativo existente (implantado pelo Azure) para acessar os recursos do Azure
Os cenários a seguir não são suportados ou não são recomendados. Essas ações podem não ser bloqueadas, mas podem levar a interrupções 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, remover 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. A exclusão do aplicativo exclui qualquer identidade atribuída pelo sistema associada ao aplicativo e remove todas as associações com quaisquer identidades atribuídas ao usuário atribuídas ao aplicativo.
O Service Fabric não oferece suporte a identidades gerenciadas no AzureServiceTokenProvider preterido. Em vez disso, use identidades gerenciadas no Service Fabric usando o SDK do Azure Identity
Próximos passos
- Implantar um novo cluster do Azure Service Fabric com suporte a identidade gerenciada
- Habilitar o suporte de identidade gerenciada em um cluster existente do Azure Service Fabric
- Implantar um aplicativo do Azure Service Fabric com uma identidade gerenciada atribuída ao sistema
- Implantar um aplicativo do Azure Service Fabric com uma identidade gerenciada atribuída pelo usuário
- Usar a identidade gerenciada de um aplicativo do Service Fabric a partir do código de serviço
- Conceder a um aplicativo do Azure Service Fabric acesso a outros recursos do Azure
- Declarando e usando segredos do aplicativo como KeyVaultReferences