Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure App Service může používat spravované identity pro připojení k back-endovým službám bez připojovacího řetězce. Tento přístup eliminuje nutnost spravovat utajené údaje o připojení a udržuje bezpečnost připojení serverové části v produkčním prostředí. Až budete hotovi, máte aplikaci, která programově volá Nástroje Foundry, aniž byste museli ukládat tajné kódy připojení ve službě App Service.
Pro back-endové služby, které nepodporují spravované identity a stále vyžadují tajné kódy připojení, můžete ke správě tajných kódů připojení použít Azure Key Vault. Tento kurz jako příklad používá Foundry Tools. Jakmile budete hotovi, máte aplikaci, která programově volá Nástroje Foundry, aniž by ukládal tajné kódy připojení ve službě App Service.
- aplikace Sample
Tip
Foundry Tools podporuje ověřování prostřednictvím spravovaných identit. Tento kurz používá ověřování pomocí klíče předplatného k předvedení toho, jak se můžete připojit ke službě Azure, která nepodporuje spravované identity ze služby App Service.
V této architektuře:
- Spravované identity zajišťují připojení k trezoru klíčů.
- Služba App Service přistupuje k tajným kódům pomocí odkazů služby Key Vault jako nastavení aplikace.
- Přístup k trezoru klíčů je omezený na aplikaci. Přispěvatelé aplikací, jako jsou správci, můžou mít úplnou kontrolu nad prostředky služby App Service a zároveň nemají přístup k tajným kódům služby Key Vault.
- Pokud kód aplikace už přistupuje k údajům o připojení s nastavením aplikace, není nutná žádná změna.
V tomto kurzu se naučíte:
- Povolení spravovaných identit
- Použití spravovaných identit pro připojení k Key Vault
- Použijte odkazy na Key Vault
- Dostupnost nástrojů Foundry
Požadavky
Připravte prostředí na Azure CLI.
Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Začínáme s Azure Cloud Shell.
Pokud dáváte přednost místnímu spouštění referenčních příkazů CLI, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Dockeru. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Docker.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Authenticate pro Azure pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spusťte az version, abyste zjistili verzi a závislé knihovny, které jsou nainstalovány. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Vytvoření aplikace s připojením k nástrojům Foundry
Vytvořte skupinu prostředků, která bude obsahovat všechny vaše prostředky:
# Save the resource group name as a variable for convenience groupName=myKVResourceGroup region=canadacentral az group create --name $groupName --location $regionVytvořte prostředek Foundry Tools. Nahraďte <název cs-resource-name> jedinečným názvem.
# 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 $csResourceNamePoznámka:
--sku F0vytvoří prostředek Foundry Tools na úrovni bezplatné. Každé předplatné je omezené na kvótu jednoho prostředku úrovněTextAnalyticsFree. Pokud jste už kvótu využili, použijte místo toho--sku S.
Konfigurace javascriptové aplikace
Naklonujte ukázkové úložiště místně a nasaďte ukázkovou aplikaci do služby App Service. Nahraďte <název> aplikace jedinečným názvem.
# 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
Předchozí příkazy:
- Vytvoření plánu služby App Service pro Linux
- Vytvoření webové aplikace pro Node.js 24 LTS
- Nakonfigurujte webovou aplikaci k instalaci balíčků npm při nasazení
- Nahrajte soubor ZIP a nainstalujte balíčky npm.
Nastavení tajemství jako nastavení aplikace
Nakonfigurujte tajné údaje Foundry Tools jako nastavení aplikace
CS_ACCOUNT_NAMEaCS_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"V prohlížeči přejděte do nasazené aplikace na adrese
<app-name>.azurewebsites.net. Vyzkoušejte detektor jazyka zadáním řetězců v různých jazycích.
Pokud se podíváte na kód aplikace, výstup ladění výsledků detekce může být ve stejné barvě písma jako pozadí. Výstup můžete zobrazit tak, že zvýrazníte prázdné znaky přímo pod výsledkem.
Zabezpečené připojení k back-endu
Tajné kódy připojení se teď ukládají jako nastavení aplikace ve vaší aplikaci App Service. Tento přístup už zabezpečuje tajné kódy připojení z základu kódu vaší aplikace. Nastavení aplikace ale uvidí také každý přispěvatel, který vaši aplikaci může spravovat. V této části přesunete tajné kódy připojení do trezoru klíčů. Uzamknete přístup, abyste ho mohli spravovat jenom vy a jenom aplikace App Service ji může číst pomocí své spravované identity.
Vytvořte trezor klíčů. Nahraďte <název trezoru> jedinečným názvem.
# 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-authorizationParametr
--enable-rbac-authorizationnastavuje Azure řízení přístupu založené na rolích (RBAC) jako model oprávnění. Toto nastavení ve výchozím nastavení zneplatní všechna oprávnění zásad přístupu.Dejte si roli RBAC Key Vault Secrets Officer pro trezor.
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 $vaultResourceIdPovolte systémem přiřazenou spravovanou identitu vaší aplikace a udělte jí roli uživatele tajemství Key Vault RBAC pro trezor.
az webapp identity assign --resource-group $groupName --name $appName --scope $vaultResourceId --role "Key Vault Secrets User"Přidejte do trezoru název prostředku Foundry Tools a klíč předplatného jako tajné kódy a uložte jejich ID jako proměnné prostředí pro další krok.
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)Dříve jste tajné kódy nastavili jako nastavení
CS_ACCOUNT_NAMEaplikace aCS_ACCOUNT_KEYv aplikaci. Teď je místo toho nastavte jako odkazy na trezor klíčů.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)"V prohlížeči přejděte znovu na
<app-name>.azurewebsites.net. Pokud se vám vrátí výsledky detekce, připojujete se ke koncovému bodu Foundry Tools pomocí referencí na Key Vault.
Blahopřejeme, vaše aplikace se teď připojuje k Nástroji Foundry pomocí tajných kódů uložených v trezoru klíčů a neprováděli jste žádné změny kódu aplikace.
Vyčištění prostředků
V předchozích krocích jste vytvořili prostředky Azure ve skupině prostředků. Pokud v budoucnu tyto prostředky nepotřebujete, odstraňte skupinu prostředků spuštěním následujícího příkazu v Cloud Shell:
az group delete --name $groupName
Tento příkaz může chvíli trvat, než se spustí.