Cvičení – vytvoření instančního objektu a klíče
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.
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.
Vyberte rozevírací seznam Spustit profil a pak vyberte Azure Cloud Shell (Bash).
Otevře se nové prostředí.
Přihlášení k Azure pomocí Azure CLI
V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:
az login
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.
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.
Vyberte rozevírací seznam Spustit profil a pak vyberte Azure Cloud Shell (PowerShell).
Otevře se nové prostředí.
Přihlášení k Azure přes Azure PowerShell
V terminálu editoru Visual Studio Code se přihlaste k Azure spuštěním následujícího příkazu:
Connect-AzAccount
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
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.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.
-
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
Spuštěním následujícího příkazu získejte klíč instančního objektu:
$servicePrincipalKey = $servicePrincipal.PasswordCredentials.SecretText
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í.
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.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.Odhlaste se z účtu instančního objektu pomocí následujícího příkazu:
az logout
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
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
Zkontrolujte, jestli výstup z předchozího příkazu obsahuje
Account
vlastnost s ID aplikace instančního objektu a prázdnouSubscriptionName
hodnotou. Tyto informace značí, že se instanční objekt úspěšně přihlásil.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.