Udostępnij za pomocą


Uwierzytelnianie aplikacji platformy .NET w usługach platformy Azure podczas programowania lokalnego przy użyciu kont deweloperów

Podczas programowania lokalnego aplikacje muszą uwierzytelniać się na platformie Azure, aby korzystać z różnych usług platformy Azure. Uwierzytelnij się lokalnie przy użyciu jednego z następujących metod:

W tym artykule wyjaśniono, jak uwierzytelniać się przy użyciu konta dewelopera przy użyciu narzędzi obsługiwanych przez bibliotekę tożsamości platformy Azure. W poniższych sekcjach nauczysz się:

  • Jak używać grup firmy Microsoft Entra do wydajnego zarządzania uprawnieniami dla wielu kont deweloperów.
  • Jak przypisywać role do kont deweloperów w celu określenia zakresu uprawnień.
  • Jak zalogować się do obsługiwanych lokalnych narzędzi programistycznych.
  • Jak uwierzytelniać się przy użyciu konta dewelopera z poziomu kodu aplikacji.

Obsługiwane narzędzia deweloperskie do uwierzytelniania

Aby aplikacja uwierzytelniła się na platformie Azure podczas programowania lokalnego przy użyciu poświadczeń platformy Azure dla deweloperów, deweloper musi zalogować się na platformę Azure z jednego z następujących narzędzi deweloperskich:

  • Interfejs Azure CLI
  • Azure Developer CLI
  • Azure PowerShell
  • Visual Studio
  • Visual Studio Code

Biblioteka tożsamości platformy Azure może wykryć, że deweloper jest zalogowany z jednego z tych narzędzi. Biblioteka może następnie uzyskać token dostępu firmy Microsoft Entra za pośrednictwem narzędzia w celu uwierzytelnienia aplikacji na platformie Azure jako zalogowanego użytkownika.

Takie podejście korzysta z istniejących kont platformy Azure dewelopera w celu usprawnienia procesu uwierzytelniania. Jednak konto dewelopera prawdopodobnie ma więcej uprawnień niż wymagane przez aplikację, w związku z czym przekracza uprawnienia uruchamiane przez aplikację w środowisku produkcyjnym. Alternatywnie, można utworzyć konta usługi aplikacji do użycia podczas lokalnego tworzenia, które mogą mieć jedynie dostęp wymagany przez aplikację.

Utwórz grupę Microsoft Entra do rozwoju lokalnego

Utwórz grupę Entra w Microsoft, aby zgrupować role (uprawnienia), których aplikacja potrzebuje w środowisku lokalnym, zamiast przypisywać te role do poszczególnych obiektów głównych usługi. Takie podejście zapewnia następujące korzyści:

  • Każdy deweloper ma te same role przypisane na poziomie grupy.
  • Jeśli dla aplikacji jest potrzebna nowa rola, należy ją dodać tylko do grupy aplikacji.
  • Jeśli nowy deweloper dołączy do zespołu, zostanie utworzona nowa jednostka usługi aplikacji dla dewelopera i dodana do grupy, zapewniając deweloperowi odpowiednie uprawnienia do pracy nad aplikacją.
  1. Przejdź do strony przeglądu Microsoft Entra ID w portalu Azure.

  2. Wybierz opcję Wszystkie grupy z menu po lewej stronie.

  3. Na stronie grupy wybierz pozycję Nowa grupa.

  4. Na stronie Nowa grupa wypełnij następujące pola formularza:

    • Typ grupy: wybierz pozycję Security.
    • nazwa grupy: wprowadź nazwę grupy zawierającej odwołanie do nazwy aplikacji lub środowiska.
    • opis grupy: wprowadź opis wyjaśniający cel grupy.

    Zrzut ekranu przedstawiający sposób tworzenia grupy w witrynie Azure Portal.

  5. Wybierz link „Brak wybranych członków” w obszarze „Członkowie”, aby dodać członków do grupy.

  6. W wyświetlonym panelu wysuwanym wyszukaj utworzoną wcześniej jednostkę usługi i wybierz ją z filtrowanych wyników. Wybierz przycisk Wybierz na dole panelu, aby potwierdzić swój wybór.

  7. Wybierz pozycję Utwórz u dołu strony Nowa grupa, aby utworzyć grupę i wrócić do strony Wszystkie grupy. Jeśli nie widzisz nowej grupy na liście, zaczekaj chwilę i odśwież stronę.

Przypisywanie ról do grupy

Następnie określ, jakich ról (uprawnień) potrzebuje twoja aplikacja na temat zasobów i przypisz te role do utworzonej grupy firmy Microsoft Entra. Grupy można przypisać do roli w zakresie zasobu, grupy zasobów lub subskrypcji. W tym przykładzie pokazano, jak przypisywać role w zakresie grupy zasobów, ponieważ większość aplikacji grupuje wszystkie zasoby platformy Azure w jedną grupę zasobów.

  1. W portalu Azure przejdź do strony Przegląd grupy zasobów zawierającej Twoją aplikację.

  2. Wybierz Kontrola dostępu (IAM) z nawigacji po lewej stronie.

  3. Na stronie kontroli dostępu (IAM) wybierz pozycję + Dodaj, a następnie wybierz pozycję Dodaj przypisanie roli z rozwijanego menu. Strona Dodawania ról zawiera kilka zakładek do konfigurowania i przypisywania ról.

  4. Na karcie Rola użyj pola wyszukiwania, aby zlokalizować rolę, którą chcesz przypisać. Wybierz rolę, a następnie wybierz pozycję Dalej.

  5. Na karcie Członkowie:

    • Dla wartości Przypisz dostęp do wybierz użytkownik, grupa lub jednostka usługi .
    • Dla wartości członkowie wybierz pozycję + Wybierz członków, aby otworzyć panel wysuwany Wybierz członków.
    • Wyszukaj utworzoną wcześniej grupę Microsoft Entra i wybierz ją z filtrowanych wyników. Wybierz , a następnie, aby wybrać grupę i zamknąć wysuwane okno.
    • Wybierz Przejrzyj i przypisz w dolnej części karty Członków.

    Zrzut ekranu przedstawiający sposób przypisywania roli do grupy Microsoft Entra.

  6. Na zakładce Przeglądanie i przypisywanie wybierz pozycję Przeglądanie i przypisywanie na dole strony.

Logowanie się do platformy Azure przy użyciu narzędzi deweloperskich

Następnie zaloguj się do platformy Azure przy użyciu jednego z kilku narzędzi deweloperskich, których można użyć do przeprowadzenia uwierzytelniania w środowisku projektowym. Konto, które uwierzytelnisz, powinno również istnieć w utworzonej i skonfigurowanej wcześniej grupie Microsoft Entra.

Deweloperzy korzystający z programu Visual Studio 2017 lub nowszego mogą uwierzytelniać się przy użyciu konta dewelopera za pośrednictwem środowiska IDE. Aplikacje korzystające z DefaultAzureCredential lub VisualStudioCredential mogą odnajdywać i używać tego konta do uwierzytelniania żądań aplikacji podczas uruchamiania lokalnego. To konto jest również używane podczas publikowania aplikacji bezpośrednio z programu Visual Studio na platformę Azure.

Ważne

Musisz zainstalować obciążenie programistyczne Azure, aby umożliwić użycie narzędzi programu Visual Studio do uwierzytelniania, tworzenia i wdrażania w Azure.

  1. W programie Visual Studio przejdź do Tools>Options, aby otworzyć okno dialogowe opcji.

  2. W polu Opcje wyszukiwania u góry wpisz Azure, aby filtrować dostępne opcje.

  3. W obszarze Uwierzytelnianie usługi Azure wybierz Wybór konta.

  4. Wybierz menu rozwijane w obszarze Wybierz konto i wybierz opcję dodania konta Microsoft.

  5. W otwartym oknie wprowadź poświadczenia wybranego przez ciebie konta Azure, a następnie potwierdź wprowadzone dane.

    Zrzut ekranu przedstawiający sposób logowania się do platformy Azure przy użyciu programu Visual Studio.

  6. Wybierz przycisk OK , aby zamknąć okno dialogowe opcji.

Uwierzytelnianie w usługach platformy Azure z aplikacji

Biblioteka tożsamości platformy Azure udostępnia implementacje, które obsługują różne scenariusze TokenCredential i przepływy uwierzytelniania firmy Microsoft Entra. Poniższe kroki pokazują, jak używać DefaultAzureCredential lub poświadczeń dla określonego narzędzia programistycznego podczas pracy z kontami użytkowników lokalnie.

Implementowanie kodu

Wykonaj następujące kroki:

  1. Dodaj odwołania do pakietów Azure.Identity i Microsoft.Extensions.Azure w projekcie:

    dotnet add package Azure.Identity
    dotnet add package Microsoft.Extensions.Azure
    
  2. W Program.cs dodaj using dyrektywy dla przestrzeni nazw Azure.Identity i Microsoft.Extensions.Azure.

  3. Zarejestruj klienta usługi Azure używając odpowiedniej metody rozszerzenia z prefiksem Add.

    Dostęp do usług platformy Azure jest uzyskiwany przy użyciu wyspecjalizowanych klas klientów z bibliotek klienckich zestawu Azure SDK. Zarejestruj te typy klientów, aby uzyskać do nich dostęp za pośrednictwem wstrzykiwania zależności w aplikacji.

  4. Przekaż wystąpienie TokenCredential do metody UseCredential. Typowe TokenCredential przykłady obejmują:

    • DefaultAzureCredential Wystąpienie zoptymalizowane pod kątem programowania lokalnego. W tym przykładzie zmienna środowiskowa AZURE_TOKEN_CREDENTIALS jest ustawiana na dev. Aby uzyskać więcej informacji, zobacz Wykluczanie kategorii typu poświadczeń.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          DefaultAzureCredential credential = new(
              DefaultAzureCredential.DefaultEnvironmentVariableName);
          clientBuilder.UseCredential(credential);
      });
      
    • Instancja poświadczenia odpowiadająca określonemu narzędziu programistycznemu, takiemu jak VisualStudioCredential.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          VisualStudioCredential credential = new();
          clientBuilder.UseCredential(credential);
      });
      

    Wskazówka

    Kiedy zespół używa wielu narzędzi programistycznych do uwierzytelniania w Azure, preferuj lokalne wystąpienie DefaultAzureCredential zoptymalizowane pod kątem lokalnego środowiska deweloperskiego zamiast poświadczeń specyficznych dla narzędzi.