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.
Azure App Service kan beheerde identiteiten gebruiken om verbinding te maken met back-endservices zonder een verbindingsreeks. Deze aanpak elimineert verbindingsgeheimen voor het beheren en beveiligen van uw back-endconnectiviteit in een productieomgeving. Wanneer u klaar bent, hebt u een app waarmee programmatische aanroepen naar Foundry Tools worden gedaan zonder dat u verbindingsgeheimen hoeft op te slaan in App Service.
Voor back-endservices die geen beheerde identiteiten ondersteunen en nog steeds verbindingsgeheimen vereisen, kunt u Azure Key Vault gebruiken om verbindingsgeheimen te beheren. In deze zelfstudie wordt Foundry Tools als voorbeeld gebruikt. Wanneer u klaar bent, hebt u een app waarmee programmatische aanroepen naar Foundry Tools worden gedaan zonder dat er verbindingsgeheimen in App Service worden opgeslagen.
Tip
Foundry Tools ondersteunt verificatie via beheerde identiteiten. In deze zelfstudie wordt gebruikgemaakt van verificatie van abonnementssleutels om te laten zien hoe u verbinding kunt maken met een Azure-service die geen ondersteuning biedt voor beheerde identiteiten vanuit App Service.
In deze architectuur:
- Beheerde identiteiten zorgen voor de beveiliging van de connectiviteit met de key vault.
- App Service heeft toegang tot de geheimen met behulp van Key Vault-verwijzingen als app-instellingen.
- Toegang tot de sleutelkluis is beperkt tot de app. App-inzenders, zoals beheerders, hebben mogelijk volledige controle over de App Service-resources en hebben tegelijkertijd geen toegang tot de Key Vault-geheimen.
- Als uw toepassingscode al toegang heeft tot verbindingsgeheimen met app-instellingen, is er geen wijziging vereist.
In deze zelfstudie leert u het volgende:
- Beheerde identiteiten inschakelen
- Beheerde identiteiten gebruiken om verbinding te maken met Key Vault
- Key Vault verwijzingen gebruiken
- Toegang tot gieterijgereedschap
Vereisten
Bereid uw omgeving voor op de Azure CLI.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Get gestart met Azure Cloud Shell voor meer informatie.
Als u CLI-referentieopdrachten liever lokaal uitvoert, installeer de Azure CLI. Als u op Windows of macOS werkt, kunt u overwegen Azure CLI uit te voeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij de Azure CLI met behulp van de opdracht az. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Zie Authenticate to Azure using Azure CLI voor andere aanmeldingsopties.
Wanneer u hierom wordt gevraagd, installeert u de Azure CLI-extensie bij het eerste gebruik. Zie Uitbreidingen gebruiken en beheren met de Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
Een app maken met connectiviteit met Foundry Tools
Maak een resourcegroep die al uw resources bevat:
# Save the resource group name as a variable for convenience groupName=myKVResourceGroup region=canadacentral az group create --name $groupName --location $regionMaak een Foundry Tools-resource. Vervang <cs-resource-name> door een unieke naam.
# Save the resource name as a variable for convenience. csResourceName=<cs-resource-name> az cognitiveservices account create --resource-group $groupName --name $csResourceName --location $region --kind TextAnalytics --sku F0 --custom-domain $csResourceNameNotitie
--sku F0creëert een gratis niveau Foundry Tools-resource. Elk abonnement is beperkt tot een quotum van één resource in de gratis laagTextAnalytics. Als u uw quotum al hebt gebruikt, gebruik dan--sku Sin plaats daarvan.
JavaScript-app configureren
Kloon de voorbeeldopslagplaats lokaal en implementeer de voorbeeldtoepassing in App Service. Vervang <de app-naam> door een unieke naam.
# Clone and prepare sample application
git clone https://github.com/Azure-Samples/app-service-language-detector.git
cd app-service-language-detector/javascript
zip -r default.zip .
# Save app name as variable for convenience
appName=<app-name>
az appservice plan create --resource-group $groupName --name $appName --sku FREE --location $region --is-linux
az webapp create --resource-group $groupName --plan $appName --name $appName --runtime "node:24-lts"
az webapp config appsettings set --resource-group $groupName --name $appName --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
az webapp deploy --resource-group $groupName --name $appName --src-path ./default.zip
De voorgaande opdrachten:
- Een Linux App Service-plan maken
- Een web-app maken voor Node.js 24 LTS
- De web-app configureren om de npm-pakketten te installeren bij de implementatie
- Upload het zip-bestand en installeer de npm-pakketten
Geheimen configureren als app-instellingen
Configureer de Foundry Tools-geheimen als app-instellingen
CS_ACCOUNT_NAMEenCS_ACCOUNT_KEY.# Get the subscription key for the Foundry Tools resource csKey1=$(az cognitiveservices account keys list --resource-group $groupName --name $csResourceName --query key1 --output tsv) az webapp config appsettings set --resource-group $groupName --name $appName --settings CS_ACCOUNT_NAME="$csResourceName" CS_ACCOUNT_KEY="$csKey1"Ga in een browser naar uw geïmplementeerde app op
<app-name>.azurewebsites.net. Probeer de taaldetector door tekenreeksen in verschillende talen in te voeren.
Als u de toepassingscode bekijkt, heeft de foutopsporingsuitvoer voor de detectieresultaten mogelijk dezelfde tekstkleur als de achtergrond. U kunt de uitvoer zien door de witruimte direct onder het resultaat te markeren.
Back-endconnectiviteit beveiligen
Verbindingsgeheimen worden nu opgeslagen als app-instellingen in uw App Service-app. Deze methode beveiligt al verbindingsgeheimen vanuit uw toepassingscodebasis. Elke inzender die uw app kan beheren, kan echter ook de app-instellingen zien. In deze sectie verplaatst u de verbindingsgeheimen naar een sleutelkluis. U vergrendelt de toegang zodat alleen u deze kunt beheren en alleen de App Service-app deze kan lezen met behulp van de beheerde identiteit.
Een sleutelkluis maken. Vervang <kluisnaam> door een unieke naam.
# Save the key vault name as a variable for convenience vaultName=<vault-name> az keyvault create --resource-group $groupName --name $vaultName --location $region --sku standard --enable-rbac-authorizationDe parameter
--enable-rbac-authorizationsets Azure op rollen gebaseerd toegangsbeheer (RBAC) als machtigingsmodel. Met deze instelling worden standaard alle machtigingen voor toegangsbeleid ongeldig gemaakt.Wijs uzelf de rol Key Vault Secrets Officer toe voor de key vault.
vaultResourceId=$(az keyvault show --name $vaultName --query id --output tsv) myId=$(az ad signed-in-user show --query id --output tsv) az role assignment create --role "Key Vault Secrets Officer" --assignee-object-id $myId --assignee-principal-type User --scope $vaultResourceIdSchakel de door het systeem toegewezen beheerde identiteit voor uw app in en geef deze de Key Vault Geheimengebruiker RBAC-rol voor de kluis.
az webapp identity assign --resource-group $groupName --name $appName --scope $vaultResourceId --role "Key Vault Secrets User"Voeg de resourcenaam van Foundry Tools en de abonnementssleutel (Subscription Key) als geheime gegevens toe aan de kluis, en sla hun id's op als omgevingsvariabelen voor de volgende stap.
csResourceKVUri=$(az keyvault secret set --vault-name $vaultName --name csresource --value $csResourceName --query id --output tsv) csKeyKVUri=$(az keyvault secret set --vault-name $vaultName --name cskey --value $csKey1 --query id --output tsv)Eerder hebt u de geheimen ingesteld als app-instellingen
CS_ACCOUNT_NAMEenCS_ACCOUNT_KEYin uw app. Stel ze nu in als sleutelkluis referenties.az webapp config appsettings set --resource-group $groupName --name $appName --settings CS_ACCOUNT_NAME="@Microsoft.KeyVault(SecretUri=$csResourceKVUri)" CS_ACCOUNT_KEY="@Microsoft.KeyVault(SecretUri=$csKeyKVUri)"Ga in een browser opnieuw naar
<app-name>.azurewebsites.net. Als u detectieresultaten terugkrijgt, maakt u verbinding met het Foundry Tools-eindpunt met behulp van key vault-verwijzingen.
Gefeliciteerd, uw app maakt nu verbinding met Foundry Tools met behulp van geheimen die in uw sleutelkluis worden bewaard en u hebt geen wijzigingen aangebracht in uw toepassingscode.
Resources opschonen
In de voorgaande stappen hebt u in een resourcegroep Azure-resources gemaakt. Als u deze resources in de toekomst niet meer nodig hebt, verwijdert u de resourcegroep door de volgende opdracht uit te voeren in de Cloud Shell:
az group delete --name $groupName
Het uitvoeren van deze opdracht kan een minuut duren.