Øvelse – opret en tjenesteprincipal og -nøgle
Vigtig
Du skal bruge dit eget Azure-abonnement for at køre denne øvelse, og du kan pådrage dig gebyrer. Hvis du ikke allerede har et Azure-abonnement, kan du oprette en gratis konto, før du begynder.
Før du opretter udrulningspipelinen for dit legetøjsfirmas websted, skal du oprette en tjenesteprincipal og give den adgang til dit Azure-miljø. I denne øvelse skal du oprette den tjenesteprincipal, du skal bruge til din udrulningspipeline.
Under processen skal du:
- Opret et program, en tjenesteprincipal og en nøgle i en enkelt handling.
- Håndter nøglen sikkert.
- Bekræft, at tjenesteprincipalen fungerer ved at logge på Azure ved hjælp af legitimationsoplysningerne.
Denne øvelse kræver, at du har tilladelse til at oprette programmer og tjenesteprincipaler i din Microsoft Entra-mappe. Hvis du ikke kan opfylde dette krav med din aktuelle Azure-konto, kan du få en gratis prøveversion og oprette et nyt Azure-abonnement og en ny lejer. Du kan også springe denne øvelse over.
Log på Azure
Hvis du vil arbejde med tjenesteprincipaler i Azure, skal du logge på din Azure-konto fra Visual Studio Code-terminalen.
I menuen Terminal skal du vælge Ny terminal. Terminalvinduet åbnes normalt i den nederste halvdel af skærmen.
Standardskallen er typisk pwsh-, som vist i højre side af terminalvinduet.
Vælg rullelisten Start profil , og vælg derefter Azure Cloud Shell (Bash).
Der åbnes en ny shell.
Log på Azure ved hjælp af kommandolinjegrænsefladen i Azure
Log på Azure i Visual Studio Code-terminalen ved at køre følgende kommando:
az login
Log på din Azure-konto i den browser, der åbnes.
Hvis du vil installere denne skabelon på Azure, skal du logge på din Azure-konto fra Visual Studio Code-terminalen.
I menuen Terminal skal du vælge Ny terminal. Terminalvinduet åbnes normalt i den nederste halvdel af skærmen.
Standardskallen er typisk pwsh-, som vist i højre side af terminalvinduet.
Vælg rullelisten Start profil , og vælg derefter Azure Cloud Shell (PowerShell).
Der åbnes en ny shell.
Log på Azure ved hjælp af Azure PowerShell
Log på Azure i Visual Studio Code-terminalen ved at køre følgende kommando:
Connect-AzAccount
Log på din Azure-konto i den browser, der åbnes.
Opret en tjenesteprincipal og -nøgle
Kør denne Azure CLI-kommando i Visual Studio Code-terminalen for at oprette en tjenesteprincipal:
az ad sp create-for-rbac --name ToyWebsitePipeline
Hvis azure-kommandolinjegrænsefladen viser dig en fejl, hvor der står, at et andet program har det samme viste navn, betyder det, at en anden, der bruger din Microsoft Entra-lejer, har oprettet en tjenesteprincipal med det samme navn. Skift værdien
--name
til noget entydigt. Det påvirker ikke, hvordan du følger med i resten af øvelserne.Kig på JSON-outputtet fra den forrige kommando. Den indeholder følgende egenskaber:
-
appId
: Tjenesteprincipalens program-id. -
password
: Tjenesteprincipalens nøgle. -
tenant
: Dit Microsoft Entra-lejer-id.
Kopiér disse værdier et sikkert sted. Du skal snart bruge dem.
-
Kør disse Azure PowerShell-kommandoer i Visual Studio Code-terminalen for at oprette en tjenesteprincipal:
$servicePrincipal = New-AzADServicePrincipal ` -DisplayName ToyWebsitePipeline
Kør følgende kommando for at hente tjenesteprincipalens nøgle:
$servicePrincipalKey = $servicePrincipal.PasswordCredentials.SecretText
Kør følgende kommando for at få vist tjenesteprincipalens program-id, nøglen og dit Microsoft Entra-lejer-id:
Write-Output "Service principal application ID: $($servicePrincipal.AppId)" Write-Output "Service principal key: $servicePrincipalKey" Write-Output "Your Azure AD tenant ID: $((Get-AzContext).Tenant.Id)"
Kopiér værdierne et sikkert sted. Du skal snart bruge dem.
Advarsel
Outputtet fra de foregående kommandoer indeholder nøglen til din tjenesteprincipal. Vær forsigtig med, hvor du kører disse kommandoer. Kør dem f.eks. ikke i et miljø, hvor nogen kan få dem vist.
Test tjenesteprincipalen
Nu, hvor tjenesteprincipalen er blevet oprettet, kan du logge på ved hjælp af dens legitimationsoplysninger for at bekræfte, at den blev oprettet.
Kør denne Azure CLI-kommando i Visual Studio Code-terminalen for at logge på ved hjælp af tjenesteprincipalens legitimationsoplysninger. Erstat pladsholderne med de værdier, du kopierede i det forrige trin.
az login --service-principal \ --username APPLICATION_ID \ --password PASSWORD \ --tenant TENANT_ID \ --allow-no-subscriptions
Bemærk, at du inkluderer argumentet
--allow-no-subscriptions
. Når du kører kommandoenaz login
, søger Kommandolinjegrænsefladen i Azure normalt efter de Azure-abonnementer, du kan få adgang til. Tjenesteprincipalen har endnu ikke fået adgang til noget, så du kan bruge argumentet--allow-no-subscriptions
til at forhindre Azure CLI i at kontrollere abonnementslisten og vise en fejl.Kontrollér, at outputtet fra den forrige kommando er et JSON-objekt, som indeholder en
user
egenskab med tjenesteprincipalens program-id. Disse oplysninger angiver, at tjenesteprincipalen er logget på.Log af tjenesteprincipalens konto ved hjælp af følgende kommando:
az logout
Kør denne Azure PowerShell-kommando i Visual Studio Code-terminalen for sikkert at bede dig om legitimationsoplysningerne for tjenesteprincipalen. Brug tjenesteprincipalens program-id og nøgle fra det forrige trin til henholdsvis brugernavnet og adgangskoden.
$credential = Get-Credential
Kør denne Azure PowerShell-kommando i Visual Studio Code-terminalen for at logge på ved hjælp af tjenesteprincipalens legitimationsoplysninger.
Connect-AzAccount -ServicePrincipal ` -Credential $credential ` -Tenant TENANT_ID
Kontrollér, at outputtet fra den forrige kommando indeholder en
Account
egenskab med tjenesteprincipalens program-id og en tomSubscriptionName
værdi. Disse oplysninger angiver, at tjenesteprincipalen er logget på.Log af tjenesteprincipalens konto ved hjælp af følgende kommando:
Logout-AzAccount
Nu, hvor du har en tjenesteprincipal, kan du gå videre til næste fase: Tilladelse til at få adgang til dit Azure-miljø.