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.
Durante o desenvolvimento local, os aplicativos precisam se autenticar no Azure para acessar vários serviços do Azure. Métodos comuns de autenticação local incluem usar uma entidade de serviço ou usar uma conta de desenvolvedor. Este artigo explica como usar uma conta de desenvolvedor. Nas seções a seguir, você aprenderá:
- Como usar grupos do Microsoft Entra para gerenciar com eficiência permissões para várias contas de desenvolvedor
- Como atribuir funções a contas de desenvolvedor para definir escopos de permissões
- Como fazer login nas ferramentas de desenvolvimento locais compatíveis
- Como autenticar usando uma conta de desenvolvedor do código do aplicativo
Para que um aplicativo se autentique no Azure durante o desenvolvimento local usando as credenciais do desenvolvedor do Azure, o desenvolvedor deve estar conectado ao Azure de uma das seguintes ferramentas de desenvolvedor:
- CLI do Azure
- Azure Developer CLI
- Azure PowerShell
A biblioteca de Identidades do Azure pode detectar que o desenvolvedor está conectado a partir de uma dessas ferramentas. A biblioteca pode usar a ferramenta para obter o token de acesso do Microsoft Entra e autenticar o aplicativo no Azure como o usuário que fez login.
Essa abordagem aproveita as contas existentes do Azure do desenvolvedor para simplificar o processo de autenticação. No entanto, a conta de um desenvolvedor provavelmente tem mais permissões do que o exigido pelo aplicativo, excedendo, portanto, as permissões com as quais o aplicativo é executado em produção. Como alternativa, você pode criar entidades de serviço de aplicativo para usar durante o desenvolvimento local, que podem ter o escopo para ter apenas o acesso necessário pelo aplicativo.
Criar um grupo do Microsoft Entra para desenvolvimento local
Crie um grupo do Microsoft Entra para encapsular as funções (permissões) de que o aplicativo precisa no desenvolvimento local, em vez de atribuir as funções a objetos de entidade de serviço individuais. Essa abordagem oferece as seguintes vantagens:
- Cada desenvolvedor tem as mesmas funções atribuídas no nível do grupo.
- Se uma nova função for necessária para o aplicativo, ela só precisará ser adicionada ao grupo do aplicativo.
- Se um novo desenvolvedor ingressar na equipe, um novo principal de serviço de aplicativo será criado para o desenvolvedor e adicionado ao grupo, garantindo que o desenvolvedor tenha as permissões corretas para trabalhar no aplicativo.
Navegue até a página de visão geral do Microsoft Entra ID no portal do Azure.
Selecione Todos os grupos no menu à esquerda.
Na página Grupos , selecione Novo grupo.
Na página Novo grupo , preencha os seguintes campos de formulário:
- Tipo de grupo: Selecione Segurança.
- Nome do grupo: insira um nome para o grupo que inclui uma referência ao nome do aplicativo ou do ambiente.
- Descrição do grupo: insira uma descrição que explique a finalidade do grupo.
Selecione o link Nenhum membro selecionado em Membros para adicionar membros ao grupo.
No painel de submenu que é aberto, pesquise a entidade de serviço que você criou anteriormente e selecione-a nos resultados filtrados. Escolha o botão Selecionar na parte inferior do painel para confirmar sua seleção.
Selecione Criar na parte inferior da página Novo grupo para criar o grupo e retornar à página Todos os grupos . Se você não vir o novo grupo listado, aguarde um momento e atualize a página.
Atribuir funções ao grupo
Em seguida, determine quais funções (permissões) seu aplicativo precisa em quais recursos e atribua essas funções ao grupo Microsoft Entra que você criou. Os grupos podem receber uma função no escopo do recurso, do grupo de recursos ou da assinatura. Este exemplo mostra como atribuir funções no escopo do grupo de recursos, já que a maioria dos aplicativos agrupa todos os recursos do Azure em um único grupo de recursos.
No portal do Azure, navegue até a página Visão geral do grupo de recursos que contém seu aplicativo.
Selecione Controle de acesso (IAM) na navegação à esquerda.
Na página controle de acesso (IAM), selecione + Adicionar e escolha Adicionar atribuição de função no menu suspenso. A página Adicionar atribuição de função fornece várias guias para configurar e atribuir funções.
Na guia Função , use a caixa de pesquisa para localizar a função que você deseja atribuir. Selecione a função e escolha Avançar.
Na guia Membros :
- Para atribuir acesso ao valor, selecione Usuário, grupo ou entidade de serviço .
- Para o valor Membros, escolha + Selecionar membros para abrir o painel de seleção Selecionar membros.
- Pesquise o grupo do Microsoft Entra criado anteriormente e selecione-o nos resultados filtrados. Escolha Selecionar para selecionar o grupo e fechar o painel de submenu.
- Selecione Examinar + atribuir na parte inferior da guia Membros .
Na guia Revisão + atribuição , selecione Examinar + atribuir na parte inferior da página.
Entrar no Azure usando ferramentas de desenvolvedor
Em seguida, entre no Azure usando uma das várias ferramentas de desenvolvedor que podem ser usadas para executar a autenticação em seu ambiente de desenvolvimento. A conta autenticada também deve existir no grupo do Microsoft Entra que você criou e configurou anteriormente.
Os desenvolvedores podem usar a CLI do Azure para autenticar na ID do Microsoft Entra. Os aplicativos que usam DefaultAzureCredential ou AzureCliCredential podem usar essa conta para autenticar solicitações de aplicativo ao serem executados localmente.
Para autenticar com a CLI do Azure, execute o az login comando. Em um sistema com um navegador da Web padrão, a CLI do Azure inicia o navegador para autenticar o usuário.
az login
Para sistemas sem um navegador da Web padrão, o comando az login usa o fluxo de autenticação de código do dispositivo. O usuário também pode forçar a CLI do Azure a usar o fluxo de código do dispositivo em vez de iniciar um navegador especificando o argumento --use-device-code.
az login --use-device-code
Autenticar nos serviços do Azure em seu aplicativo
A biblioteca Azure Identity oferece várias credenciais — implementações TokenCredential adaptadas para dar suporte a diferentes cenários e fluxos de autenticação do Microsoft Entra. As etapas a seguir demonstram como usar DefaultAzureCredential ao trabalhar com contas de usuário localmente.
Implementar o código
DefaultAzureCredential é uma sequência padronizada e ordenada de mecanismos para autenticação no Microsoft Entra ID. Cada mecanismo de autenticação é uma classe derivada da classe TokenCredential e é conhecida como uma credencial. Em runtime, DefaultAzureCredential tenta autenticar usando a primeira credencial. Se essa credencial não conseguir adquirir um token de acesso, a próxima credencial na sequência será tentada e assim por diante, até que um token de acesso seja obtido com êxito. Dessa forma, seu aplicativo pode usar credenciais diferentes em ambientes diferentes sem escrever código específico do ambiente.
Para usar DefaultAzureCredential, adicione os pacotes @azure/identity ao seu aplicativo. Em um terminal de sua escolha, navegue até o diretório do projeto de aplicativo e execute o seguinte comando:
npm install @azure/identity
Os serviços do Azure são acessados usando classes de cliente especializadas das várias bibliotecas de clientes do SDK do Azure. Essas classes e seus próprios serviços personalizados devem ser registrados para que possam ser acessados em todo o aplicativo. Conclua as seguintes etapas programáticas para criar uma classe cliente e DefaultAzureCredential:
- Importe o pacote
@azure/identity. - Crie o cliente de serviço do Azure e passe para ele uma nova instância de
DefaultAzureCredential.
import { DefaultAzureCredential } from "@azure/identity";
import { SomeAzureServiceClient } from "@azure/arm-some-service";
const client = new SomeAzureServiceClient(new DefaultAzureCredential());