Øvelse – Konfigurer, udrul og kør din app i Azure
Nu er det tid til at køre din app i Azure. Du skal oprette en Azure App Service-app, konfigurere den med en administreret identitet og din vault-konfiguration og installere din kode.
Opret App Service-planen og -appen
Oprettelse af en App Service-app er en totrinsproces: Opret først -planen, og derefter -appen .
Navnet på -planen skal kun være entydigt i dit abonnement, så du kan bruge det samme navn: keyvault-exercise-plan
. Appnavnet skal dog være globalt entydigt, så vælg dit eget.
Kør følgende kommando i Azure Cloud Shell for at oprette en App Service-plan.
az appservice plan create \ --name keyvault-exercise-plan \ --sku FREE \ --location centralus \ --resource-group "<rgn>[sandbox resource group name]</rgn>"
Kør derefter følgende kommando for at oprette den Web App, der bruger den App Service-plan, du har oprettet. Sørg for at erstatte
<your-unique-app-name>
med appens navn i parameteren--name
.az webapp create \ --plan keyvault-exercise-plan \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
az webapp create \ --plan keyvault-exercise-plan \ --runtime "node|16LTS" \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
Føj konfiguration til appen
Hvis du vil udrulle til Azure, skal du følge den bedste praksis for App Service med at placere VaultName
-konfigurationen i en appindstilling i stedet for en konfigurationsfil. Kør denne kommando for at oprette appindstillingen. Sørg for at erstatte begge <your-unique-app-name>
med appens navn i parameteren --name
, og <your-unique-vault-name>
med navnet på din vault i parameteren --settings
.
az webapp config appsettings set \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name <your-unique-app-name> \
--settings 'VaultName=<your-unique-vault-name>'
Hvis du vil udrulle til Azure, skal du følge den bedste praksis for App Service med at placere VaultName
-konfigurationen i en appindstilling i stedet for en konfigurationsfil. Du kan også angive indstillingen SCM_DO_BUILD_DURING_DEPLOYMENT
til true
, så App Service gendanner appens pakker på serveren og opretter den nødvendige konfiguration til at køre appen. Kør denne kommando for at oprette appindstillingerne. Sørg for at erstatte begge <your-unique-app-name>
med appens navn i parameteren --name
, og <your-unique-vault-name>
med navnet på din vault i parameteren --settings
.
az webapp config appsettings set \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name <your-unique-app-name> \
--settings 'VaultName=<your-unique-vault-name>' 'SCM_DO_BUILD_DURING_DEPLOYMENT=true'
Aktivér administreret identitet
Aktivering af administreret identitet i en app er en en-liner. Kør følgende kommando for at aktivere den i din app. Sørg for at erstatte <your-unique-app-name>
med appens navn i parameteren --name
.
az webapp identity assign \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name <your-unique-app-name>
Kopiér den principalId
værdi ud fra det resulterende JSON-output.
PrincipalId
er det entydige id for appens nye identitet i Microsoft Entra ID, og du skal bruge det i næste trin.
Giv adgang til vaulten
Det sidste trin, før du udruller, er at tildele Key Vault-tilladelser til din apps administrerede identitet. Sørg for at erstatte begge <your-unique-vault-name>
med navnet på din vault i parameteren --name
, og angiv den principalId
værdi, du kopierede fra det forrige trin, som værdien for object-id
i følgende kommando. Kør denne kommando for at oprette Get
og List
adgang.
az keyvault set-policy \
--secret-permissions get list \
--name <your-unique-vault-name> \
--object-id <your-managed-identity-principleid>
Udrul appen, og prøv den
Al din konfiguration er indstillet, og du er klar til at udrulle! Følgende kommandoer publicerer webstedet i mappen pub, zipper det op i site.zip, og udrul zip til App Service. Sørg for at erstatte
<your-unique-app-name>
med appens navn i parameteren--name
.Seddel
Du skal
cd
tilbage til mappen KeyVaultDemoApp, hvis du ikke stadig er der.dotnet publish -o pub zip -j site.zip pub/* az webapp deploy \ --src-path site.zip \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
Al din konfiguration er indstillet, og du er klar til at installere! Følgende kommandoer zipper din app til site.zipog udruller den i App Service. Vi udelukker
node_modules
fra zip'en, fordi App Service gendanner dem automatisk, når du installerer dem. Sørg for at erstatte<your-unique-app-name>
med appens navn i parameteren--name
.Seddel
Hvis du ikke allerede er i mappen
KeyVaultDemoApp
, skal du bruge kommandoencd
til at vende tilbage til den.zip site.zip * -x node_modules/ az webapp deploy \ --src-path site.zip \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --name <your-unique-app-name>
- Udrulningen kan tage et minut eller to at fuldføre. Når du har fået et resultat, der angiver, at webstedet er installeret, skal du åbne
https://<your-unique-app-name>.azurewebsites.net/api/SecretTest
i en browser. Appen tager et øjeblik at starte op for første gang på serveren, men efter det gør, bør du se den hemmelige værdi, reindeer_flotilla.
Din app er færdig og udrullet!