Autenticar recursos do Azure a partir de aplicativos JavaScript locais
Os aplicativos executados fora do Azure (por exemplo, no local ou em um data center de terceiros) devem usar uma entidade de serviço de aplicativo para autenticar no Azure ao acessar recursos do Azure. Os objetos da entidade de serviço de aplicativo são criados com um processo de registro de aplicativo no Azure. Quando uma entidade de serviço de aplicativo é criada, uma ID do cliente e um segredo do cliente são gerados para seu aplicativo. Você armazena a ID do cliente, o segredo do cliente e a ID do locatário em variáveis de ambiente para que o SDK do Azure para JavaScript use as variáveis de ambiente para autenticar seu aplicativo no Azure em tempo de execução.
Um registro de aplicativo diferente deve ser criado para cada ambiente (como teste, estágio, produção) em que o aplicativo está sendo executado. Isso permite que permissões de recursos específicas do ambiente sejam configuradas para cada entidade de serviço e certifique-se de que um aplicativo implantado em um ambiente não converse com recursos do Azure que fazem parte de outro ambiente.
1 – Registrar o aplicativo no Azure
Um aplicativo pode ser registrado no Azure usando o portal do Azure ou a CLI do Azure.
Entre no portal do Azure e siga estas etapas.
2 – Atribuir funções à entidade de serviço de aplicativo
Em seguida, você precisa determinar as funções (permissões) de que seu aplicativo precisa em quais recursos e atribuir essas funções ao seu aplicativo. As funções podem ser atribuídas a uma função em um recurso, grupo de recursos ou escopo de assinatura. Este exemplo mostra como atribuir funções para a entidade de serviço no escopo do grupo de recursos, uma vez que a maioria dos aplicativos agrupa todos os seus recursos do Azure em um único grupo de recursos.
3 – Configurar variáveis de ambiente para o aplicativo
Você deve definir as AZURE_CLIENT_ID
variáveis , AZURE_TENANT_ID
e AZURE_CLIENT_SECRET
de ambiente para o processo que executa seu aplicativo JavaScript para disponibilizar as credenciais da entidade de serviço de aplicativo para seu aplicativo em tempo de execução. O DefaultAzureCredential
objeto procura as informações da entidade de serviço nessas variáveis de ambiente.
AZURE_CLIENT_ID=<value>
AZURE_TENANT_ID=<value>
AZURE_CLIENT_SECRET=<value>
4 – Implementar DefaultAzureCredential no aplicativo
Para autenticar objetos de cliente do SDK do Azure no Azure, seu aplicativo deve usar a DefaultAzureCredential
classe do pacote @azure/identity .
Primeiro, adicione o pacote de @azure/identidade ao seu aplicativo.
npm install @azure/identity
Em seguida, para qualquer código JavaScript que crie um objeto cliente do SDK do Azure em seu aplicativo, você deseja:
- Importe a
DefaultAzureCredential
classe do@azure/identity
módulo. - Crie um objeto
DefaultAzureCredential
. - Passe o
DefaultAzureCredential
objeto para o construtor de objeto cliente do SDK do Azure.
Um exemplo disso é mostrado na ilustração a seguir.
// connect-with-default-azure-credential.js
import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';
import 'dotenv/config'
const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
if (!accountName) throw Error('Azure Storage accountName not found');
const blobServiceClient = new BlobServiceClient(
`https://${accountName}.blob.core.windows.net`,
new DefaultAzureCredential()
);
Quando o código acima instancia o DefaultAzureCredential
objeto, DefaultAzureCredential
lê as variáveis AZURE_SUBSCRIPTION_ID
de ambiente , AZURE_TENANT_ID
, AZURE_CLIENT_ID
e AZURE_CLIENT_SECRET
para as informações da entidade de serviço de aplicativo para se conectar ao Azure.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de