Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Azure App Service használhat kezelt identitásokat a háttérszolgáltatásokhoz való csatlakozáshoz kapcsolati karakterlánc nélkül, ami kiküszöböli a kapcsolat titkosítási információinak kezelését és biztonságossá teszi a háttér-kapcsolatot éles környezetben. Olyan háttérszolgáltatások esetén, amelyek nem támogatják a felügyelt identitásokat, és továbbra is kapcsolati titkos kulcsokat igényelnek, a Key Vault használatával kezelheti a kapcsolati titkos kulcsokat. Ez az oktatóanyag a Foundry Toolst használja példaként, hogy bemutassuk, hogyan történik a gyakorlatban. Ha végzett, olyan alkalmazással rendelkezik, amely programozott hívásokat indít az Foundry Toolshoz anélkül, hogy bármilyen kapcsolati titkos kódot tárolne az App Service-ben.
Tipp
Az Foundry Tools támogatja a hitelesítést felügyelt identitásokon keresztül, de ez az oktatóanyag a "subscription key" alapú hitelesítést használja annak bemutatására, hogyan csatlakozhat egy Azure szolgáltatáshoz, amely nem támogatja az App Services felügyelt identitásait.
Az oktatóanyag forgatókönyvének architektúradiagramja.
Ezzel az architektúrával:
- A Key Vault való kapcsolatot felügyelt identitások védik
- Az App Service Key Vault hivatkozások használatával fér hozzá a titkos kódokhoz alkalmazásbeállításokként.
- A kulcstartóhoz való hozzáférés az alkalmazásra korlátozódik. Előfordulhat, hogy az alkalmazás közreműködői, például a rendszergazdák teljes mértékben felügyelik az App Service-erőforrásokat, és ugyanakkor nem férnek hozzá a Key Vault titkos kulcsokhoz.
- Ha az alkalmazáskód már hozzáfér a kapcsolati titkos kódokhoz az alkalmazás beállításaival, nincs szükség módosításra.
A következő tudnivalókat fogja elsajátítani:
- Felügyelt identitások engedélyezése
- Felügyelt identitások használata az Azure Key Vaulthoz való kapcsolódáshoz
- Key Vault hivatkozások használata
- A Foundry eszközök elérése
Előfeltételek
Készítse elő környezetét az Azure CLI-hez.
Használja a Bash-környezetet a Azure Cloud Shell. További információért lásd: Az Azure Cloud Shell használatának kezdő lépései.
Ha helyileg szeretné futtatni a PARANCSSOR-referenciaparancsokat, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszeren fut, érdemes lehet Azure CLI egy Docker-tárolóban futtatni. További információ: A Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-hez az az login paranccsal. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. Más bejelentkezési lehetőségekért lásd: Az Azure CLI használatával történő hitelesítés Azure-hoz.
Amikor a rendszer kéri, először telepítse a Azure CLI bővítményt. További információ a bővítményekről: Bővítmények használata és kezelése az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra történő frissítéshez futtassa az "az upgrade" parancsot.
Alkalmazás létrehozása az Foundry-eszközökhöz való kapcsolódással
Hozzon létre egy erőforráscsoportot, amely az összes erőforrást tartalmazza:
# Save resource group name as variable for convenience groupName=myKVResourceGroup region=westeurope az group create --name $groupName --location $regionHozzon létre egy Azure AI services erőforrást. Cserélje le a cs-resource-name nevet egy tetszőleges egyedi névre.
# Save resource name as variable for convenience. csResourceName=<cs-resource-name> az cognitiveservices account create --resource-group $groupName --name $csResourceName --location $region --kind TextAnalytics --sku F0 --custom-domain $csResourceNameMegjegyzés
--sku F0létrehoz egy ingyenes szintű Azure AI services erőforrást. Minden előfizetés egy ingyenes szintű erőforrás kvótájára korlátozódik. Ha már túllépte a kvótát, használja inkább.
.NET alkalmazás konfigurálása
Klónozza a mintaadattárat helyileg, és telepítse a mintaalkalmazást az App Service-ben. Cserélje le az alkalmazásnevet egy egyedi névre.
# Save app name as variable for convenience
appName=<app-name>
# Clone sample application
git clone https://github.com/Azure-Samples/app-service-language-detector.git
cd app-service-language-detector/dotnet
az webapp up --sku F1 --resource-group $groupName --name $appName --plan $appName --location $region
Titkos kódok konfigurálása alkalmazásbeállításokként
Az Foundry Tools titkos kulcsainak konfigurálása alkalmazásbeállításokként és .
# Get subscription key for Cognitive Services 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"A böngészőben keresse meg az üzembe helyezési alkalmazást, és próbálja ki a nyelvérzékelőt sztringekkel különböző nyelveken.
Képernyőkép az App Service-ben üzembe helyezett nyelvérzékelő alkalmazásról.
Ha megtekinti az alkalmazáskódot, láthatja, hogy az észlelés hibakeresési kimenete ugyanolyan betűszínt eredményez, mint a háttér. Ezt úgy tekintheti meg, hogy megpróbálja kiemelni a fehér területet közvetlenül az eredmény alatt.
Biztonságos háttérkapcsolat
Jelenleg a kapcsolati titkos kulcsok alkalmazásbeállításokként vannak tárolva az App Service-alkalmazásban. Ez a módszer már biztosítja a kapcsolati titkos kulcsokat az alkalmazás kódbázisából. Az alkalmazás kezelésére képes közreműködők azonban láthatják az alkalmazás beállításait is. Ebben a lépésben áthelyezi a kapcsolat titkos kulcsait egy kulcstartóba, és zárolja a hozzáférést, hogy csak Ön felügyelhesse, és csak az App Service-alkalmazás tudja olvasni a felügyelt identitásával.
Kulcstár létrehozása. Cserélje le a tárolónevet egy egyedi névre.
# Save app name as variable for convenience vaultName=<vault-name> az keyvault create --resource-group $groupName --name $vaultName --location $region --sku standard --enable-rbac-authorizationA
--enable-rbac-authorizationparaméter beállítja az Azure szerepköralapú hozzáférés-vezérlést (RBAC) engedélymodellként. Ez a beállítás alapértelmezés szerint érvényteleníti az összes hozzáférési szabályzat engedélyét.Adja meg magának a Key Vault titkos kulcsokat RBAC-szerepkört a tárolóhoz.
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 $vaultResourceIdEngedélyezze az alkalmazáshoz a rendszer által hozzárendelt felügyelt identitást, és adja meg neki a tárolóhoz tartozó Key Vault Titokkódok Felhasználó RBAC-szerepkört.
az webapp identity assign --resource-group $groupName --name $appName --scope $vaultResourceId --role "Key Vault Secrets User"Adja hozzá az Azure AI services erőforrásnevet és az előfizetési kulcsot titokként a tárolóba, és mentse az azonosítókat környezeti változóként a következő lépéshez.
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)Korábban a titkos kulcsokat alkalmazásbeállításokként és az alkalmazásban állította be. Most állítsa be őket kulcstár hivatkozásként.
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)"A böngészőben navigáljon vissza. Ha az észlelési eredmények visszaérkeznek, akkor a Azure AI-szolgáltatások végpontjához csatlakozik kulcstartó-hivatkozásokkal.
Gratulálunk, az alkalmazás mostantól a kulcstartóban tárolt titkos kulcsok használatával csatlakozik az Foundry Toolshoz anélkül, hogy módosítanák az alkalmazás kódját.
Az erőforrások megtisztítása
Az előző lépésekben Azure erőforrásokat hozott létre egy erőforráscsoportban. Ha a jövőben nem lesz szüksége ezekre az erőforrásokra, törölje az erőforráscsoportot az alábbi parancs futtatásával a Cloud Shell:
az group delete --name $groupName
A parancs futtatása egy percig is eltarthat.
Következő lépések
- Tutorial: A háttérbeli kommunikáció elkülönítése Virtual Network integrációval
- A Azure virtuális hálózattal egészheti ki az alkalmazást
- Az App Service hálózatkezelési funkciói