Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Toepassingen die buiten Azure worden uitgevoerd (bijvoorbeeld on-premises of in een datacenter van derden), moeten een service-principal voor toepassingen gebruiken om zich bij Azure te authenticeren wanneer ze toegang zoeken tot Azure-resources. Maak toepassingsservice-principalobjecten via het app-registratieproces in Azure. Wanneer u een toepassingsservice-principal maakt, krijgt u een client-id en clientgeheim voor uw app. Sla de client-id, het clientgeheim en uw tenant-id op in omgevingsvariabelen, zodat de Azure SDK voor JavaScript deze variabelen gebruikt om uw app tijdens runtime bij Azure te verifiëren.
Maak een andere app-registratie voor elke omgeving (zoals test, fase, productie) waarin de app wordt uitgevoerd. Met deze configuratie kunt u omgevingsspecifieke resourcemachtigingen configureren voor elke service-principal en ervoor zorgen dat een app die in de ene omgeving is geïmplementeerd, geen toegang heeft tot Azure-resources in een andere omgeving.
1 - De toepassing registreren in Azure
U kunt een app registreren bij Azure met behulp van Azure Portal of de Azure CLI.
Meld u aan bij Azure Portal en volg deze stappen.
2 - Rollen toewijzen aan de service-principal van de toepassing
Bepaal vervolgens welke rollen (machtigingen) uw app nodig heeft voor welke resources en wijs deze rollen toe aan uw app. Wijs rollen toe aan het bereik van de resource, resourcegroep of abonnement. In dit voorbeeld ziet u hoe u rollen toewijst voor de service-principal binnen het bereik van de resourcegroep, omdat de meeste toepassingen al hun Azure-resources groeperen in één resourcegroep.
3 - Omgevingsvariabelen configureren voor toepassing
Stel de AZURE_CLIENT_ID
, AZURE_TENANT_ID
en AZURE_CLIENT_SECRET
omgevingsvariabelen in voor het proces waarmee uw JavaScript-app wordt uitgevoerd. U dient de referenties van de toepassingsservice principal tijdens de uitvoeringstijd beschikbaar te maken voor uw app. Het DefaultAzureCredential
object zoekt naar de informatie van de service-principal in deze omgevingsvariabelen.
AZURE_CLIENT_ID=<value>
AZURE_TENANT_ID=<value>
AZURE_CLIENT_SECRET=<value>
4 - DefaultAzureCredential implementeren in de toepassing
Als u Azure SDK-clientobjecten wilt verifiëren bij Azure, gebruikt u de DefaultAzureCredential
klasse uit het @azure/identiteitspakket .
Voeg eerst het @azure/identiteitspakket toe aan uw toepassing.
npm install @azure/identity
Voer vervolgens de volgende stappen uit voor javaScript-code waarmee een Azure SDK-clientobject in uw app wordt gemaakt:
- Importeer de
DefaultAzureCredential
klasse uit de@azure/identity
module. - Maak een
DefaultAzureCredential
object. - Geef het
DefaultAzureCredential
object door aan de objectconstructor van de Azure SDK-client.
Een voorbeeld van deze code wordt weergegeven in het volgende codesegment.
// 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()
);
Wanneer de code het DefaultAzureCredential
object instantieert, leest DefaultAzureCredential
de omgevingsvariabelen AZURE_SUBSCRIPTION_ID
, AZURE_TENANT_ID
, AZURE_CLIENT_ID
en AZURE_CLIENT_SECRET
voor de informatie van de service-principal van de toepassing om verbinding te maken met Azure.