Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Durante o desenvolvimento local, os aplicativos precisam se autenticar no Azure para acessar vários serviços do Azure. Duas abordagens comuns para a autenticação a nível local são 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ê aprende:
- Como usar grupos do Microsoft Entra para gerenciar com eficiência as permissões para várias contas de desenvolvedor
- Como atribuir funções a contas de desenvolvedor para abrangência de permissões
- Como iniciar sessão em ferramentas de desenvolvimento local apoiadas
- Como autenticar usando uma conta de desenvolvedor a partir do código do seu aplicativo
Para que um aplicativo se autentique no Azure durante o desenvolvimento local usando as credenciais do Azure do desenvolvedor, o desenvolvedor deve estar conectado ao Azure a partir de uma das seguintes ferramentas de desenvolvedor:
- Azure CLI (Interface de Linha de Comando da Azure)
- Azure Developer CLI
- Azure PowerShell
- Código do Visual Studio
A biblioteca de Identidades do Azure pode detetar que o desenvolvedor está conectado a partir de uma dessas ferramentas. A biblioteca de software pode então obter o token de acesso do Microsoft Entra através da ferramenta para autenticar o aplicativo no Azure como o usuário conectado.
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 as exigidas pelo aplicativo, excedendo assim as permissões com as quais o aplicativo é executado em produção. Como alternativa, pode-se criar principais de serviço de aplicação para usar durante o desenvolvimento local, que podem ser limitados apenas ao acesso necessário para a aplicação.
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. Esta 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 programador ingressar na equipa, um novo principal de serviço de aplicação será criado para o programador e adicionado ao grupo, garantindo que o programador tenha as permissões certas para trabalhar na aplicação.
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 inclua uma referência ao nome do aplicativo ou ambiente.
- Descrição do grupo: insira uma descrição que explique a finalidade do grupo.
Selecione o link Sem membros selecionados em Membros para adicionar membros ao grupo.
No painel suspenso que se abre, procure o principal de serviço que criou anteriormente e selecione-o 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 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 do Microsoft Entra que você criou. Os grupos podem receber uma função em um recurso, num grupo de recursos ou no âmbito de uma assinatura. Este exemplo mostra como atribuir funções no escopo do grupo de recursos, já que a maioria dos aplicativos agrupa todos os seus 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, em seguida, escolha Avançar.
Na aba Membros
- Para o valor Atribuir acesso a , selecione Usuário, grupo ou entidade de serviço .
- Para o valor Membros, escolha + Selecionar membros para abrir o painel flutuante Selecionar membros.
- Procure o grupo do Microsoft Entra criado anteriormente e selecione-o nos resultados filtrados. Escolha Selecionar para selecionar o grupo e fechar o painel flutuante.
- Selecione Revisar + atribuir no fundo do separador Membros.
No separador Rever + atribuir, selecione Rever + 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 que você autenticar também deve existir no grupo do Microsoft Entra que você criou e configurou anteriormente.
- CLI do Azure
- CLI do Azure para Desenvolvedores
- Azure PowerShell
- Código do Visual Studio
Os desenvolvedores podem usar a CLI do Azure para autenticar na ID do Microsoft Entra. Aplicativos que usam DefaultAzureCredential ou AzureCliCredential podem usar essa conta para autenticar solicitações de aplicativos quando 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 do 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 a partir da sua aplicação
A biblioteca Azure Identity fornece implementações do TokenCredential que suportam vários cenários e fluxos de autenticação Microsoft Entra. Os passos seguintes demonstram como usar o DefaultAzureCredential ou uma credencial específica de ferramenta de desenvolvimento ao trabalhar com contas de utilizador localmente.
Sugestão
Quando a sua equipa utiliza várias ferramentas de desenvolvimento para autenticar com o Azure, deve preferir uma instância otimizada para desenvolvimento local em vez de credenciais específicas da ferramenta DefaultAzureCredential.
Implementar o código
Adicione o pacote de @azure/identidade à sua candidatura.
npm install @azure/identityObservação
Se quiseres usar
VisualStudioCodeCredential, também tens de instalar o pacote de plugins @azure/identity-vscode . Depois carrega explicitamente a credencial. Para um exemplo, veja o README @azure/identity-vscode.Escolha uma das implementações de credenciais com base no seu cenário.
- Use uma credencial específica para a sua ferramenta de desenvolvimento: esta opção é melhor para situações de uma só pessoa ou de uma única ferramenta.
- Use uma credencial disponível para utilização em qualquer ferramenta de desenvolvimento: esta opção é melhor para projetos open source e equipas de ferramentas diversificadas.
Use uma credencial específica para a sua ferramenta de desenvolvimento
Passe uma TokenCredential instância correspondente a uma ferramenta de desenvolvimento específica ao construtor do cliente de serviços Azure, como AzureCliCredential.
import { AzureCliCredential } from "@azure/identity";
import { BlobServiceClient } from "@azure/storage-blob";
const credential = new AzureCliCredential();
const client = new BlobServiceClient(
"https://<storage-account-name>.blob.core.windows.net",
credential
);
Use uma credencial disponível para uso em qualquer ferramenta de desenvolvimento
Use uma DefaultAzureCredential instância otimizada para todas as ferramentas de desenvolvimento local. Este exemplo requer que a variável AZURE_TOKEN_CREDENTIALS de ambiente seja definida por dev. Para obter mais informações, consulte Excluir uma categoria de tipo de credencial.
import { DefaultAzureCredential } from "@azure/identity";
import { BlobServiceClient } from "@azure/storage-blob";
// Set environment variable AZURE_TOKEN_CREDENTIALS to "dev"
const credential = new DefaultAzureCredential({
requiredEnvVars: ["AZURE_TOKEN_CREDENTIALS"]
});
const client = new BlobServiceClient(
"https://<storage-account-name>.blob.core.windows.net",
credential
);