Ověřování Python aplikací pro Azure služeb 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 následující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 lokálním vývojovým nástrojům
  • Jak ověřit pomocí vývojářského účtu ve vašem aplikačním kódu.

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

Aby se aplikace při místním vývoji ověřila v Azure pomocí přihlašovacích údajů pro Azure vývojáře, musí se vývojář přihlásit 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
  • Visual Studio Code

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 prostřednictvím nástroje získat přístupový token Microsoft Entra, aby se aplikace vůči Azure ověřila jako přihlášený uživatel.

Tento přístup zjednodušuje proces ověřování tím, že využívá stávající účty Azure vývojáře. Účet vývojáře ale pravděpodobně má více oprávnění, než vyžaduje aplikace, což znamená, že překračuje oprávnění, která aplikace běží v produkčním prostředí. Jako alternativu můžete vytvořit instanční objekty aplikace, které se použijí při místním vývoji, které můžete nastavit tak, aby měly přístup potřebný jenom pro aplikaci.

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. Vyberte odkaz Žádné členy vybrané v části Členové a přidejte do skupiny členy.

  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ů

Pokud chcete provést ověření pomocí účtu Azure, zvolte jednu z následujících metod:

Vývojáři, kteří používají Visual Studio Code, se můžou ověřit pomocí svého vývojářského účtu přímo prostřednictvím editoru prostřednictvím zprostředkovatele. Aplikace, které používají DefaultAzureCredential nebo VisualStudioCodeCredential , pak můžou tento účet použít k ověřování žádostí o aplikace prostřednictvím bezproblémového jednotného přihlašování.

  1. V editoru Visual Studio Code přejděte na panel Rozšíření a nainstalujte rozšíření Azure Resources . Toto rozšíření umožňuje zobrazit a spravovat prostředky Azure přímo ze sady Visual Studio Code. Používá také integrovaného poskytovatele ověřování Microsoftu v editoru Visual Studio Code pro ověřování u Azure.

    Snímek obrazovky znázorňující rozšíření Azure Resources

  2. Otevřete paletu příkazů v editoru Visual Studio Code a vyhledejte a vyberte Azure: Přihlásit se.

    Snímek obrazovky znázorňující, jak se přihlásit k Azure v editoru Visual Studio Code

    Návod

    Otevřete paletu příkazů pomocí Ctrl+Shift+P Windows/Linuxu nebo Cmd+Shift+P v macOS.

  3. Přidejte balíček Pythonu azure-identity-broker do aplikace:

    pip install azure-identity-broker
    

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

Knihovna Identit Azure poskytuje implementace TokenCredential, které podporují různé scénáře a toky ověřování Microsoft Entra. Následující kroky ukazují, jak při práci s uživatelskými účty místně používat defaultAzureCredential nebo konkrétní přihlašovací údaje vývojového nástroje.

Implementace kódu

  1. Přidejte balíček azure identity a všechny balíčky klienta služby Azure, které vaše aplikace vyžaduje:

    pip install azure-identity azure-storage-blob
    

    Poznámka:

    Při použití VisualStudioCodeCredential musíte také nainstalovat balíček azure-identity-broker.

    pip install azure-identity-broker
    

    Přidejte potřebné import příkazy pro azure.identity modul a klientský modul služby Azure, který vaše aplikace vyžaduje.

  2. Zvolte jednu z implementací přihlašovacích údajů na základě vašeho scénáře.

Použití přihlašovacích údajů specifických pro váš vývojový nástroj

Předejte konstruktoru klienta služby Azure instanci, která odpovídá konkrétnímu vývojovému nástroji, například TokenCredential.

from azure.identity import AzureCliCredential
from azure.storage.blob import BlobServiceClient

credential = AzureCliCredential()

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Použití přihlašovacích údajů dostupných v jakémkoli vývojovém nástroji

Použijte instanci optimalizovanou DefaultAzureCredential pro všechny místní vývojové nástroje. Tento příklad vyžaduje proměnnou AZURE_TOKEN_CREDENTIALS prostředí nastavenou na dev. Další informace najdete v tématu Vyloučení kategorie typu přihlašovacích údajů.

Před spuštěním aplikace nastavte proměnnou prostředí:

export AZURE_TOKEN_CREDENTIALS=dev
from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

credential = DefaultAzureCredential(require_envvar=True)

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Návod

Pokud váš tým k ověřování v Azure používá více vývojových nástrojů, upřednostňujte DefaultAzureCredential přednost před přihlašovacími údaji specifickými pro konkrétní nástroje.