Övning – Skapa ett huvudnamn och en nyckel för tjänsten

Slutförd

Viktigt!

Du behöver en egen Azure-prenumeration för att utföra den här övningen, och avgifter kan tillkomma. Om du inte redan har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Innan du skapar distributionspipelinen för leksaksföretagets webbplats måste du skapa ett huvudnamn för tjänsten och ge den åtkomst till din Azure-miljö. I den här övningen skapar du tjänstens huvudnamn som du ska använda för distributionspipelinen.

Under processen gör du följande:

  • Skapa ett program, tjänstens huvudnamn och nyckel i en enda åtgärd.
  • Hantera nyckeln på ett säkert sätt.
  • Kontrollera att tjänstens huvudnamn fungerar genom att logga in på Azure med hjälp av dess autentiseringsuppgifter.

Den här övningen kräver att du har behörighet att skapa program och tjänstens huvudnamn i din Microsoft Entra-katalog. Om du inte kan uppfylla det här kravet med ditt aktuella Azure-konto kan du få en kostnadsfri utvärderingsversion och skapa en ny Azure-prenumeration och klientorganisation. Du kan också hoppa över den här övningen.

Logga in på Azure

Om du vill arbeta med tjänstens huvudnamn i Azure måste du logga in på ditt Azure-konto från Visual Studio Code-terminalen.

  1. I menyn Terminal väljer du Ny terminal. Terminalfönstret öppnas vanligtvis på den nedre halvan av skärmen.

    Standardgränssnittet är vanligtvis pwsh, vilket visas till höger i terminalfönstret.

    Skärmbild av terminalfönstret i Visual Studio Code, där pwsh visas som gränssnittsalternativ.

  2. Välj listrutan Starta profil och välj sedan Azure Cloud Shell (Bash).

    Skärmbild av terminalfönstret i Visual Studio Code. Listrutan för Terminal Shell och menyalternativet Azure Cloud Shell (Bash) visas.

    Ett nytt gränssnitt öppnas.

Logga in på Azure med hjälp av Azure CLI

  1. Logga in på Azure i Visual Studio Code-terminalen genom att köra följande kommando:

    az login
    
  2. Logga in på ditt Azure-konto i webbläsaren som öppnas.

Om du vill distribuera den här mallen till Azure loggar du in på ditt Azure-konto från Visual Studio Code-terminalen.

  1. I menyn Terminal väljer du Ny terminal. Terminalfönstret öppnas vanligtvis på den nedre halvan av skärmen.

    Standardgränssnittet är vanligtvis pwsh, vilket visas till höger i terminalfönstret.

    Skärmbild av terminalfönstret i Visual Studio Code, där pwsh visas som gränssnittsalternativ.

  2. Välj listrutan Starta profil och välj sedan Azure Cloud Shell (PowerShell).

    Skärmbild av terminalfönstret i Visual Studio Code. Listrutan för Terminal Shell och menyalternativet Azure Cloud Shell (PowerShell) visas.

    Ett nytt gränssnitt öppnas.

Logga in i Azure med Azure PowerShell

  1. Logga in på Azure i Visual Studio Code-terminalen genom att köra följande kommando:

    Connect-AzAccount
    
  2. Logga in på ditt Azure-konto i webbläsaren som öppnas.

Skapa ett huvudnamn och en nyckel för tjänsten

  1. Kör det här Azure CLI-kommandot i Visual Studio Code-terminalen för att skapa ett huvudnamn för tjänsten:

    az ad sp create-for-rbac --name ToyWebsitePipeline
    

    Om Azure CLI visar ett felmeddelande om att ett annat program har samma visningsnamn innebär det att någon annan som använder din Microsoft Entra-klient har skapat ett huvudnamn för tjänsten med samma namn. Ändra värdet --name till något unikt. Det påverkar inte hur du följer med i resten av övningarna.

  2. Titta på JSON-utdata från föregående kommando. Den innehåller följande egenskaper:

    • appId: Tjänstens huvudnamns program-ID.
    • password: Tjänstens huvudnamnsnyckel.
    • tenant: Ditt Klient-ID för Microsoft Entra.

    Kopiera dessa värden till ett säkert ställe. Du kommer att använda dem snart.

  1. Kör dessa Azure PowerShell-kommandon i Visual Studio Code-terminalen för att skapa ett huvudnamn för tjänsten:

    $servicePrincipal = New-AzADServicePrincipal `
      -DisplayName ToyWebsitePipeline
    
  2. Kör följande kommando för att hämta tjänstens huvudnamnsnyckel:

    $servicePrincipalKey = $servicePrincipal.PasswordCredentials.SecretText
    
  3. Kör följande kommando för att visa tjänstens huvudnamns program-ID, nyckeln och ditt Klient-ID för Microsoft Entra:

    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)"
    

    Kopiera värdena på en säker plats. Du kommer att använda dem snart.

Varning

Utdata från föregående kommandon innehåller nyckeln för tjänstens huvudnamn. Var försiktig med var du kör dessa kommandon. Kör dem till exempel inte i en miljö där någon kan visa dem.

Testa tjänstens huvudnamn

Nu när tjänstens huvudnamn har skapats kan du logga in med dess autentiseringsuppgifter för att kontrollera att det har skapats.

  1. Kör det här Azure CLI-kommandot i Visual Studio Code-terminalen för att logga in med autentiseringsuppgifterna för tjänstens huvudnamn. Ersätt platshållarna med de värden som du kopierade i föregående steg.

    az login --service-principal \
      --username APPLICATION_ID \
      --password PASSWORD \
      --tenant TENANT_ID \
      --allow-no-subscriptions
    

    Observera att du inkluderar --allow-no-subscriptions argumentet. Normalt när du kör az login kommandot letar Azure CLI efter de Azure-prenumerationer som du kan komma åt. Tjänstens huvudnamn har inte beviljats åtkomst till något ännu, så du använder --allow-no-subscriptions argumentet för att förhindra att Azure CLI kontrollerar prenumerationslistan och visar ett fel.

  2. Kontrollera att utdata från föregående kommando är ett JSON-objekt, som innehåller en user egenskap med tjänstens huvudnamns program-ID. Den här informationen anger att tjänstens huvudnamn har loggat in.

  3. Logga ut från tjänstens huvudnamns konto med hjälp av följande kommando:

    az logout
    
  1. Kör det här Azure PowerShell-kommandot i Visual Studio Code-terminalen för att på ett säkert sätt fråga dig om tjänstens huvudnamns autentiseringsuppgifter. Använd tjänstens huvudnamns program-ID och nyckel från föregående steg för användarnamnet respektive lösenordet.

    $credential = Get-Credential
    
  2. Kör det här Azure PowerShell-kommandot i Visual Studio Code-terminalen för att logga in med autentiseringsuppgifterna för tjänstens huvudnamn.

    Connect-AzAccount -ServicePrincipal `
      -Credential $credential `
      -Tenant TENANT_ID
    
  3. Kontrollera att utdata från föregående kommando innehåller en Account egenskap med tjänstens huvudnamns program-ID och ett tomt SubscriptionName värde. Den här informationen anger att tjänstens huvudnamn har loggat in.

  4. Logga ut från tjänstens huvudnamns konto med hjälp av följande kommando:

    Logout-AzAccount
    

Nu när du har ett huvudnamn för den fungerande tjänsten kan du gå vidare till nästa steg: auktorisera det för att få åtkomst till din Azure-miljö.