Sdílet prostřednictvím


Ověřování aplikací .NET ve službách 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
  • Azure Developer CLI
  • Azure PowerShell
  • Visual Studio
  • 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 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 zástupce služeb aplikace pro použití při místním vývoji, které lze nastavit tak, aby měly pouze přístup potřebný 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í.
  • Azure portál
  • Azure CLI
  1. Na portálu Azure přejděte na stránku s přehledem Microsoft Entra ID .

  2. V seznamu 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í členové vybráni v části Členové a přidejte č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. Chcete-li vytvořit skupinu a vrátit se na stránku Všechny skupiny, vyberte Vytvořit ve spodní části stránky Nová skupina. 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ů.

  • Azure portál
  • Azure CLI
  1. Na portálu Azure 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 roli. Stránka Přidat přiřazení role obsahuje několik záložek pro konfiguraci a přiřazení rolí.

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

  5. Na záložce Členové:

    • V části Přiřadit přístup k hodnotě vyberte možnost Uživatel, skupina nebo instanční objekt .
    • U hodnoty Členové zvolte možnost + Vybrat členy pro otevření panelu Vybrat členy.
    • Vyhledejte skupinu Microsoft Entra, kterou jste vytvořili dříve, a vyberte ji z filtrovaných výsledků. Zvolte Vyberte pro vybrání skupiny a zavření panelu zobrazení.
    • V dolní části karty Členové vyberte možnost Zkontrolovat a přidělit.

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

  6. Na kartě Review + assign vyberte Review + assign 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, kteří používají Visual Studio 2017 nebo novější, se můžou ověřit pomocí svého vývojářského účtu prostřednictvím integrovaného vývojového prostředí( IDE). Aplikace používající DefaultAzureCredential nebo VisualStudioCredential můžou zjišťovat a používat tento účet k ověřování žádostí o aplikace při místním spuštění. Tento účet se používá také při publikování aplikací přímo ze sady Visual Studio do Azure.

Důležité

Abyste mohli aktivovat nástroje sady Visual Studio pro ověřování v Azure, vývoj a nasazení, budete muset nainstalovat pracovní zátěž vývoje Azure.

  1. V sadě Visual Studio přejděte na Tools>Options a otevřete dialogové okno možností.

  2. Do pole Možnosti hledání v horní části zadejte Azure a vyfiltrujte dostupné možnosti.

  3. V části Ověřování služby Azure zvolte Výběr účtu.

  4. Vyberte rozevírací nabídku v části Zvolte účet a zvolte přidání účtu Microsoft.

  5. V okně, které se otevře, zadejte přihlašovací údaje pro požadovaný účet Azure a potvrďte své vstupy.

    snímek obrazovky znázorňující, jak se přihlásit k Azure pomocí sady Visual Studio

  6. Vyberte OK a zavřete dialogové okno možností.

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

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

Implementace kódu

Proveďte následující kroky:

  1. Přidejte do projektu odkazy na balíčky Azure.Identity a Microsoft.Extensions.Azure :

    dotnet add package Azure.Identity
    dotnet add package Microsoft.Extensions.Azure
    
  2. V Program.cs přidejte direktivy using pro obory názvů Azure.Identity a Microsoft.Extensions.Azure.

  3. Zaregistrujte klienta služby Azure pomocí odpovídající metody rozšíření s předponou Add.

    Ke službám Azure se přistupuje pomocí specializovaných klientských tříd z klientských knihoven Azure SDK. Zaregistrujte tyto typy klientů, abyste k nim měli přístup prostřednictvím injektáže závislostí napříč vaší aplikací.

  4. Předejte TokenCredential instanci metodě UseCredential . Mezi běžné TokenCredential příklady patří:

    • Instance DefaultAzureCredential optimalizovaná pro místní vývoj. Tento příklad nastaví proměnnou AZURE_TOKEN_CREDENTIALS prostředí na dev. Další informace najdete v tématu Vyloučení kategorie typu přihlašovacích údajů.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          DefaultAzureCredential credential = new(
              DefaultAzureCredential.DefaultEnvironmentVariableName);
          clientBuilder.UseCredential(credential);
      });
      
    • Instance přihlašovacích údajů odpovídající určitému vývojovému nástroji, například VisualStudioCredential.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          VisualStudioCredential credential = new();
          clientBuilder.UseCredential(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 místní instanci DefaultAzureCredential optimalizovanou pro vývoj před přihlašovacími údaji specifickými pro konkrétní nástroje.