Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os aplicativos podem usar a biblioteca Azure Identity para se autenticar no Microsoft Entra ID, o que permite que os aplicativos acessem Azure serviços e recursos. Esse requisito de autenticação se aplica se o aplicativo é implantado para Azure, hospedado localmente ou em execução localmente em uma estação de trabalho do desenvolvedor. Este artigo descreve as abordagens recomendadas para autenticar um aplicativo para Microsoft Entra ID em ambientes diferentes ao usar as bibliotecas de cliente Azure SDK.
Abordagem recomendada para autenticação de aplicativo
A autenticação baseada em token por meio de Microsoft Entra ID é a abordagem recomendada para autenticar aplicativos para Azure, em vez de usar cadeias de conexão ou opções baseadas em chave. A biblioteca Azure Identity fornece classes que dão suporte à autenticação baseada em token e permitem que os aplicativos se autentiquem para Azure recursos, seja ele executado localmente, em Azure ou em um servidor local.
Vantagens da autenticação baseada em token
A autenticação baseada em token oferece as seguintes vantagens em relação às cadeias de conexão:
- A autenticação baseada em token garante que apenas os aplicativos específicos destinados a acessar o recurso Azure possam acessá-lo, enquanto qualquer pessoa ou qualquer aplicativo com um connection string pode se conectar a um recurso Azure.
- A autenticação baseada em token permite limitar Azure acesso a recursos apenas às permissões específicas necessárias pelo aplicativo. Essa abordagem segue o princípio do privilégio mínimo. Por outro lado, um connection string concede direitos completos ao recurso Azure.
- Quando você usa uma identidade gerenciada para autenticação baseada em token, o Azure gerencia funções administrativas para você, portanto, você não precisa se preocupar com tarefas como proteger ou rotacionar segredos. Essa abordagem torna o aplicativo mais seguro porque não há connection string ou segredo do aplicativo que possa ser comprometido.
- A biblioteca Azure Identity adquire e gerencia tokens de Microsoft Entra para você.
Limite o uso de cadeias de conexão a cenários em que a autenticação baseada em token não é uma opção, aplicativos de prova de conceito iniciais ou protótipos de desenvolvimento que não acessam dados confidenciais ou de produção. Quando possível, use as classes de autenticação baseadas em token disponíveis na biblioteca de identidade do Azure para autenticar os recursos do Azure.
Autenticação em diferentes ambientes
O tipo específico de autenticação baseada em token que um aplicativo deve usar para autenticar para Azure recursos depende de onde o aplicativo é executado. O diagrama a seguir fornece diretrizes para diferentes cenários e ambientes:
Quando um aplicativo é:
- Hospedado no Azure: O aplicativo deve se autenticar em recursos do Azure usando uma identidade gerenciada. Para obter mais informações, consulte a seção Authentication for Azure-hosted apps.
- Executando localmente durante o desenvolvimento: o aplicativo pode autenticar no Azure usando uma conta de developer, um broker ou um service principal. Para obter mais informações, consulte a seção Autenticação durante o desenvolvimento local .
- Hospedado localmente: o aplicativo deve se autenticar aos recursos do Azure usando uma entidade de serviço de aplicativo ou uma identidade gerenciada no caso de Azure Arc. Os fluxos de trabalho locais são discutidos com mais detalhes em Autenticação para aplicativos hospedados localmente.
Autenticação para aplicativos hospedados Azure
Quando você hospeda seu aplicativo no Azure, ele pode usar identidades gerenciadas para se autenticar em Azure recursos sem a necessidade de gerenciar credenciais. Dois tipos de identidades gerenciadas estão disponíveis: atribuídos pelo usuário e atribuídos pelo sistema.
Usar uma identidade gerenciada atribuída pelo usuário
Você pode criar uma identidade gerenciada atribuída pelo usuário como um recurso de Azure autônomo. Em seguida, você pode atribuí-lo a uma ou mais Azure recursos para que esses recursos possam compartilhar a mesma identidade e permissões. Para autenticar usando uma identidade gerenciada atribuída pelo usuário, crie a identidade, atribua-a ao recurso Azure e configure seu aplicativo para usar essa identidade para autenticação especificando sua ID do cliente, ID do recurso ou ID do objeto.
Usar uma identidade gerenciada atribuída pelo sistema
Você pode habilitar uma identidade gerenciada atribuída pelo sistema diretamente em um recurso de Azure. A identidade está vinculada ao ciclo de vida desse recurso e é excluída automaticamente quando o recurso é excluído. Para autenticar usando uma identidade gerenciada atribuída pelo sistema, habilite a identidade no recurso Azure e configure seu aplicativo para usar essa identidade para autenticação.
Autenticação durante o desenvolvimento local
Durante o desenvolvimento local, você pode autenticar aos recursos do Azure usando suas credenciais de desenvolvedor, um broker ou um service principal. Usando um desses métodos, você pode testar a lógica de autenticação do aplicativo sem implantá-la em Azure.
Usar credenciais de desenvolvedor
Você pode usar suas próprias credenciais de Azure para autenticar para Azure recursos durante o desenvolvimento local. Normalmente, você usa uma ferramenta de desenvolvimento, como Azure CLI, Azure CLI do Desenvolvedor, Azure PowerShell, Visual Studio Code ou IntelliJ IDEA. Essas ferramentas podem fornecer ao aplicativo os tokens necessários para acessar Azure serviços. Esse método é conveniente, mas você deve usá-lo apenas para fins de desenvolvimento.
Usar um agente
A autenticação agenciada coleta credenciais do usuário usando o agente de autenticação do sistema para autenticar um aplicativo. Um agente de autenticação do sistema é executado no computador de um usuário e gerencia os handshakes de autenticação e a manutenção de token para todas as contas conectadas.
Usar uma entidade de serviço
Você pode criar uma entidade de serviço em um locatário do Microsoft Entra para representar um aplicativo e autenticar-se em recursos do Azure. Você pode configurar o seu aplicativo para utilizar as credenciais da entidade de serviço durante o desenvolvimento local. Esse método é mais seguro do que usar credenciais de desenvolvedor e está mais próximo de como seu aplicativo se autentica em produção. No entanto, ainda é menos ideal do que usar uma identidade gerenciada devido à necessidade de segredos.
Autenticação para aplicativos hospedados localmente
Para aplicativos hospedados localmente, você pode usar um principal de serviço para autenticar recursos do Azure. Isso envolve a criação de uma entidade de serviço no Microsoft Entra ID, atribuindo as permissões necessárias e configurando o aplicativo para usar suas credenciais. Esse método permite que seu aplicativo local acesse com segurança Azure serviços.