Sdílet prostřednictvím


Ověřování aplikací Go do služeb Azure během místního vývoje pomocí vývojářských účtů

Během místního vývoje se aplikace musí ověřit v Azure, aby používaly různé služby Azure. Místní ověřování pomocí jednoho z těchto přístupů:

Tento článek vysvětluje, jak se ověřit pomocí vývojářského účtu pomocí nástrojů podporovaných knihovnou identit Azure. V dalších částech se dozvíte:

  • Jak používat skupiny Microsoft Entra k efektivní správě oprávnění pro více vývojářských účtů
  • Jak přiřadit role vývojářským účtům pro vymezení oprávnění.
  • Jak se přihlásit k podporovaným místním vývojovým nástrojům
  • Jak ověřit pomocí vývojářského účtu z kódu vaší aplikace

Podporované vývojářské nástroje pro ověřování

Aby se aplikace během místního vývoje ověřila v Azure pomocí přihlašovacích údajů Azure vývojáře, musí být vývojář přihlášený k Azure z některého z následujících vývojářských nástrojů:

  • Azure CLI (příkazový řádek nástroje Azure)
  • Azure Developer CLI
  • Azure PowerShell

Knihovna identit Azure dokáže zjistit, že vývojář je přihlášený z některého z těchto nástrojů. Knihovna pak může získat přístupový token Microsoft Entra prostřednictvím nástroje k ověření aplikace v Azure jako přihlášený uživatel.

Tento přístup využívá stávající účty Azure vývojáře ke zjednodušení procesu ověřování. Účet vývojáře ale pravděpodobně má více oprávnění, než vyžaduje aplikace, a proto překračuje oprávnění, která aplikace běží v produkčním prostředí. Jako alternativu můžete vytvořit služební principály aplikace, které se budou používat při místním vývojovém prostředí, což může být vymezeno tak, aby aplikace měla pouze potřebný přístup.

Vytvoření skupiny Microsoft Entra pro místní vývoj

Vytvořte skupinu Microsoft Entra, která zapouzdří role (oprávnění), jež aplikace potřebuje pro místní vývoj, spíše než přiřazovat role jednotlivým služebním hlavním objektům. Tento přístup nabízí následující výhody:

  • Každý vývojář má stejné role přiřazené na úrovni skupiny.
  • Pokud je pro aplikaci potřeba nová role, stačí ji přidat jenom do skupiny aplikace.
  • Pokud se nový vývojář připojí k týmu, vytvoří se nový instanční objekt aplikace pro vývojáře a přidá se do skupiny, aby vývojář získal správná oprávnění pro práci s aplikací.
  1. V Azure portálu přejděte na stránku přehledu Microsoft Entra ID.

  2. V nabídce vlevo vyberte Všechny skupiny .

  3. Na stránce Skupiny vyberte Nová skupina.

  4. Na stránce Nová skupina vyplňte následující pole formuláře:

    • Typ skupiny: Vyberte zabezpečení.
    • Název skupiny: Zadejte název skupiny, která obsahuje odkaz na název aplikace nebo prostředí.
    • Popis skupiny: Zadejte popis, který vysvětluje účel skupiny.

    snímek obrazovky znázorňující, jak vytvořit skupinu na webu Azure Portal

  5. Výběrem odkazu Žádní členové v části Členové přidat členy do skupiny.

  6. V rozbalovacím panelu, který se otevře, vyhledejte aplikační objekt služby, který jste vytvořili dříve, a vyberte ho z filtrovaných výsledků. Výběrem tlačítka Vybrat v dolní části panelu potvrďte výběr.

  7. Výběrem možnosti Vytvořit v dolní části stránky Nová skupina vytvořte skupinu a vraťte se na stránku Všechny skupiny . Pokud novou skupinu nevidíte, chvíli počkejte a aktualizujte stránku.

Přiřazení rolí ke skupině

Dále určete, jaké role (oprávnění) vaše aplikace potřebuje k jakým prostředkům, a přiřaďte tyto role skupině Microsoft Entra, kterou jste vytvořili. Skupinám lze přiřadit roli v rámci prostředku, skupiny prostředků nebo předplatného. Tento příklad ukazuje, jak přiřadit role v oboru skupiny prostředků, protože většina aplikací seskupuje všechny prostředky Azure do jedné skupiny prostředků.

  1. Na webu Azure Portal přejděte na stránku Přehled skupiny prostředků, která obsahuje vaši aplikaci.

  2. V levém navigačním panelu vyberte řízení přístupu (IAM).

  3. Na stránce Řízení přístupu (IAM) vyberte + Přidat a pak v rozevírací nabídce zvolte Přidat přiřazení role . Stránka Přidat přiřazení role poskytuje několik záložek pro konfiguraci a přiřazení rolí.

  4. Na kartě Role vyhledejte roli, kterou chcete přiřadit, pomocí vyhledávacího pole. Vyberte roli a pak zvolte Další.

  5. Na kartě Členové :

    • V části Přiřadit přístup k hodnotě vyberte Uživatel, skupina nebo instanční objekt .
    • Pro hodnotu Členové zvolte + Vybrat členy , aby se otevřel informační panel Vybrat členy .
    • Vyhledejte skupinu Microsoft Entra, kterou jste vytvořili dříve, a vyberte ji z filtrovaných výsledků. Výběrem možnosti Vybrat vyberte skupinu a zavřete informační panel.
    • V dolní části karty Členové vyberte Zkontrolovat a přiřadit.

    snímek obrazovky znázorňující, jak přiřadit roli ke skupině Microsoft Entra

  6. Na kartě Revize a Přiřazení vyberte Revize a Přiřazení v dolní části stránky.

Přihlášení k Azure pomocí vývojářských nástrojů

Dále se přihlaste k Azure pomocí některého z několika vývojářských nástrojů, které se dají použít k ověřování ve vašem vývojovém prostředí. Účet, který ověříte, by měl existovat také ve skupině Microsoft Entra, kterou jste vytvořili a nakonfigurovali dříve.

Vývojáři můžou k ověření použít Azure CLI . Aplikace používající DefaultAzureCredential nebo AzureCLICredential pak můžou tento účet použít k ověřování žádostí o aplikace.

Pokud se chcete ověřit pomocí Azure CLI, spusťte az login příkaz. V systému s výchozím webovým prohlížečem azure CLI spustí prohlížeč pro ověření uživatele.

az login

Pro systémy bez výchozího webového prohlížeče používá příkaz az login tok ověřování kódu zařízení. Uživatel může také vynutit, aby azure CLI používalo tok kódu zařízení místo spuštění prohlížeče zadáním argumentu --use-device-code.

az login --use-device-code

Ověřování ve službách Azure z vaší aplikace

Balíček azidentity poskytuje různé přihlašovací údaje přizpůsobené podpoře různých scénářů a toků ověřování Microsoft Entra. Následující kroky ukazují, jak používat DefaultAzureCredential při používání služebních identit místně a v produkčním prostředí.

Implementace kódu

K ověřování klientských objektů sady Azure SDK v Azure by vaše aplikace měla používat třídu DefaultAzureCredential. V tomto scénáři DefaultAzureCredential postupně zkontroluje, jestli se vývojář přihlásil k Azure pomocí Azure CLI nebo Azure Developer CLI. Pokud je vývojář přihlášený k Azure pomocí některého z těchto nástrojů, použije aplikace přihlašovací údaje použité k přihlášení k nástroji k ověření v Azure.

Nejprve do aplikace přidejte balíček azidentity.

go get github.com/Azure/azure-sdk-for-go/sdk/azidentity

V dalším kroku pro libovolný kód Go, který ve vaší aplikaci vytvoří objekt klienta sady Azure SDK, budete chtít:

  1. Importujte balíček azidentity.
  2. Vytvořte instanci typu DefaultAzureCredential.
  3. Předejte instanci typu DefaultAzureCredential do konstruktoru klienta sady Azure SDK.

Příklad těchto kroků je znázorněn v následujícím segmentu kódu.

import (
	"context"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
)

const (
	account       = "https://<replace_with_your_storage_account_name>.blob.core.windows.net/"
	containerName = "sample-container"
	blobName      = "sample-blob"
	sampleFile    = "path/to/sample/file"
)

func main() {
	// create a credential
	cred, err := azidentity.NewDefaultAzureCredential(nil)
	if err != nil {
	  // TODO: handle error
	}
	
	// create a client for the specified storage account
	client, err := azblob.NewClient(account, cred, nil)
	if err != nil {
	  // TODO: handle error
	}
	
	// TODO: perform some action with the azblob Client
	// _, err = client.DownloadFile(context.TODO(), <containerName>, <blobName>, <target_file>, <DownloadFileOptions>)
}