Cvičení – vytvoření instančního objektu a klíče

Dokončeno

Důležité

K provedení tohoto cvičení potřebujete vlastní předplatné Azure a mohou se vám účtovat poplatky. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet, než začnete.

Než vytvoříte kanál nasazení pro web vaší společnosti toy, budete muset vytvořit instanční objekt a udělit mu přístup k prostředí Azure. V tomto cvičení vytvoříte instanční objekt, který použijete pro svůj kanál nasazení.

Během tohoto procesu:

  • V jedné operaci vytvořte aplikaci, instanční objekt a klíč.
  • Bezpečně zpracujte klíč.
  • Ověřte, že instanční objekt funguje tak, že se přihlásíte k Azure pomocí svých přihlašovacích údajů.

Toto cvičení vyžaduje, abyste měli oprávnění k vytváření aplikací a instančních objektů v adresáři Microsoft Entra. Pokud tento požadavek nemůžete splnit s aktuálním účtem Azure, můžete získat bezplatnou zkušební verzi a vytvořit nové předplatné a tenanta Azure. Případně můžete toto cvičení přeskočit.

Přihlášení k Azure

Pokud chcete pracovat s instančními objekty v Azure, musíte se přihlásit ke svému účtu Azure z terminálu editoru Visual Studio Code.

  1. V nabídce Terminál vyberte Nový terminál. Okno terminálu se obvykle otevře v dolní polovině obrazovky.

    Výchozí prostředí je obvykle pwsh, jak je znázorněno na pravé straně okna terminálu.

    Snímek obrazovky okna terminálu editoru Visual Studio Code, ve kterém se jako možnost prostředí zobrazuje pwsh

  2. Vyberte rozevírací seznam Spustit profil a pak vyberte Azure Cloud Shell (Bash).

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code Zobrazí se rozevírací seznam prostředí terminálu a položka nabídky Azure Cloud Shell (Bash).

    Otevře se nové prostředí.

Přihlášení k Azure pomocí Azure CLI

  1. V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:

    az login
    
  2. V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure.

Pokud chcete tuto šablonu nasadit do Azure, přihlaste se ke svému účtu Azure z terminálu editoru Visual Studio Code.

  1. V nabídce Terminál vyberte Nový terminál. Okno terminálu se obvykle otevře v dolní polovině obrazovky.

    Výchozí prostředí je obvykle pwsh, jak je znázorněno na pravé straně okna terminálu.

    Snímek obrazovky okna terminálu editoru Visual Studio Code, ve kterém se jako možnost prostředí zobrazuje pwsh

  2. Vyberte rozevírací seznam Spustit profil a pak vyberte Azure Cloud Shell (PowerShell).

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code Zobrazí se rozevírací seznam prostředí terminálu a položka nabídky Azure Cloud Shell (PowerShell).

    Otevře se nové prostředí.

Přihlášení k Azure přes Azure PowerShell

  1. V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:

    Connect-AzAccount
    
  2. V prohlížeči, který se otevře, se přihlaste ke svému účtu Azure.

Vytvoření instančního objektu a klíče

  1. Spuštěním tohoto příkazu Azure CLI v terminálu editoru Visual Studio Code vytvořte instanční objekt:

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

    Pokud se v Azure CLI zobrazí chyba oznamující, že jiná aplikace má stejný zobrazovaný název, znamená to, že instanční objekt se stejným názvem vytvořil někdo jiný, kdo používá vašeho tenanta Microsoft Entra. --name Změňte hodnotu na něco jedinečného. Nebude mít vliv na to, jak budete postupovat společně se zbývajícími cvičeními.

  2. Podívejte se na výstup JSON z předchozího příkazu. Zahrnuje následující vlastnosti:

    • appId: ID aplikace instančního objektu.
    • password: Klíč instančního objektu.
    • tenant: ID vašeho tenanta Microsoft Entra.

    Tyto hodnoty zkopírujte někam do bezpečí. Brzy je použijete.

  1. Spuštěním těchto příkazů Azure PowerShellu v terminálu editoru Visual Studio Code vytvořte instanční objekt:

    $servicePrincipal = New-AzADServicePrincipal `
      -DisplayName ToyWebsitePipeline
    
  2. Spuštěním následujícího příkazu získejte klíč instančního objektu:

    $servicePrincipalKey = $servicePrincipal.PasswordCredentials.SecretText
    
  3. Spuštěním následujícího příkazu zobrazte ID aplikace instančního objektu, klíč a ID tenanta 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)"
    

    Zkopírujte hodnoty někam do bezpečí. Brzy je použijete.

Upozorňující

Výstupy z předchozích příkazů obsahují klíč pro váš instanční objekt. Dávejte pozor na to, kde tyto příkazy spouštíte. Například nespouštět je v prostředí, kde je někdo může zobrazit.

Otestování instančního objektu

Po vytvoření instančního objektu se můžete přihlásit pomocí přihlašovacích údajů k ověření úspěšného vytvoření.

  1. Spuštěním tohoto příkazu Azure CLI v terminálu editoru Visual Studio Code se přihlaste pomocí přihlašovacích údajů instančního objektu. Zástupné symboly nahraďte hodnotami, které jste zkopírovali v předchozím kroku.

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

    Všimněte si, že argument zahrnete --allow-no-subscriptions . Při spuštění az login příkazu obvykle Azure CLI hledá předplatná Azure, ke kterým máte přístup. Instanční objekt ještě nemá udělený přístup k ničemu, takže pomocí --allow-no-subscriptions argumentu zabráníte azure CLI v kontrole seznamu předplatných a zobrazení chyby.

  2. Zkontrolujte, že výstup z předchozího příkazu je objekt JSON, který obsahuje user vlastnost s ID aplikace instančního objektu. Tyto informace značí, že se instanční objekt úspěšně přihlásil.

  3. Odhlaste se z účtu instančního objektu pomocí následujícího příkazu:

    az logout
    
  1. Spusťte tento příkaz Azure PowerShellu v terminálu editoru Visual Studio Code a bezpečně vás vyzve k zadání přihlašovacích údajů instančního objektu. Pro uživatelské jméno a heslo použijte ID a klíč aplikace instančního objektu z předchozího kroku.

    $credential = Get-Credential
    
  2. Spuštěním tohoto příkazu Azure PowerShellu v terminálu editoru Visual Studio Code se přihlaste pomocí přihlašovacích údajů instančního objektu.

    Connect-AzAccount -ServicePrincipal `
      -Credential $credential `
      -Tenant TENANT_ID
    
  3. Zkontrolujte, jestli výstup z předchozího příkazu obsahuje Account vlastnost s ID aplikace instančního objektu a prázdnou SubscriptionName hodnotou. Tyto informace značí, že se instanční objekt úspěšně přihlásil.

  4. Odhlaste se z účtu instančního objektu pomocí následujícího příkazu:

    Logout-AzAccount
    

Teď, když máte funkční instanční objekt, můžete přejít k další fázi: jeho autorizací pro přístup k prostředí Azure.