Udostępnij przez


Uwierzytelnianie aplikacji języka Python 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:

  • Azure CLI
  • Azure Developer CLI
  • Azure PowerShell
  • 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ć zasady usługi aplikacji do użytku w trakcie lokalnego rozwoju, którym można przypisać 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 pozycję 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, która zawiera odwołanie do nazwy aplikacji lub środowiska.
    • Opis grupy: wprowadź opis, który wyjaśnia przeznaczenie 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 w dolnej części panelu, aby potwierdzić wybór.

  7. Wybierz pozycję Utwórz w dolnej części 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 witrynie Azure Portal przejdź do strony Przegląd grupy zasobów zawierającej aplikację.

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

  3. Na stronie Kontrola dostępu (zarządzanie dostępem i tożsamościami) wybierz pozycję + Dodaj , a następnie z menu rozwijanego wybierz pozycję Dodaj przypisanie roli . Strona Dodawanie przypisania roli zawiera kilka kart 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:

    • W polu Przypisz dostęp do wartości wybierz pozycję Użytkownik, grupa lub jednostka usługi .
    • Dla wartości Członkowie wybierz pozycję + Wybierz członków , aby otworzyć panel wysuwany Wybieranie 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 + przypisz na dole zakładki Członkowie.

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

  6. Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz w dolnej części strony.

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

Aby uwierzytelnić się przy użyciu konta platformy Azure, wybierz jedną z następujących metod:

Deweloperzy korzystający z programu Visual Studio Code mogą uwierzytelniać się przy użyciu konta dewelopera bezpośrednio za pośrednictwem edytora za pośrednictwem brokera. Aplikacje korzystające z elementu DefaultAzureCredential lub VisualStudioCodeCredential mogą następnie używać tego konta do uwierzytelniania żądań aplikacji za pomocą bezproblemowego środowiska logowania jednokrotnego.

  1. W programie Visual Studio Code przejdź do panelu Rozszerzenia i zainstaluj rozszerzenie Zasoby platformy Azure . To rozszerzenie umożliwia wyświetlanie zasobów platformy Azure i zarządzanie nimi bezpośrednio z poziomu programu Visual Studio Code. Używa również wbudowanego dostawcy uwierzytelniania firmy Microsoft programu Visual Studio Code do uwierzytelniania za pomocą platformy Azure.

    Zrzut ekranu przedstawiający rozszerzenie zasobów platformy Azure.

  2. Otwórz paletę poleceń w programie Visual Studio Code, a następnie wyszukaj i wybierz pozycję Azure: Zaloguj.

    Zrzut ekranu przedstawiający sposób logowania się do platformy Azure w programie Visual Studio Code.

    Wskazówka

    Otwórz paletę poleceń przy użyciu systemu Ctrl+Shift+P Windows/Linux lub Cmd+Shift+P w systemie macOS.

  3. azure-identity-broker Dodaj pakiet języka Python do aplikacji:

    pip install azure-identity-broker
    

Uwierzytelnianie w usługach platformy Azure z aplikacji

Biblioteka tożsamości platformy Azure udostępnia implementacje TokenCredential, które obsługują różne scenariusze i przepływy uwierzytelniania Microsoft Entra. W kolejnych krokach pokazano, jak używać DefaultAzureCredential lub określonego narzędzia programistycznego, pracując lokalnie z kontami użytkowników.

Implementowanie kodu

  1. Dodaj pakiet azure-identity do aplikacji:

    pip install azure-identity
    

    Uwaga

    W przypadku korzystania z VisualStudioCodeCredential należy również zainstalować azure-identity-broker pakiet:

    pip install azure-identity-broker
    

    Dodaj niezbędne import instrukcje dla modułu azure.identity i modułu klienta usługi Azure, których potrzebuje aplikacja.

  2. Wybierz jedną z implementacji poświadczeń na podstawie danego scenariusza.

Używanie poświadczeń specyficznych dla narzędzia programistycznego

Przekaż wystąpienie TokenCredential odpowiadające określonemu narzędziu programistycznemu do konstruktora klienta usługi platformy Azure, takie jak AzureCliCredential.

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)

Używanie poświadczeń dostępnych do użycia w dowolnym narzędziu programistycznym

Użyj wystąpienia DefaultAzureCredential, które jest zoptymalizowane do wszystkich lokalnych narzędzi programistycznych. W tym przykładzie zmienna środowiskowa AZURE_TOKEN_CREDENTIALS jest ustawiona na dev. Aby uzyskać więcej informacji, zobacz Wykluczanie kategorii typu poświadczeń.

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)

Wskazówka

Gdy zespół używa wielu narzędzi programistycznych do uwierzytelniania za pomocą platformy Azure, preferuj DefaultAzureCredential zamiast poświadczeń specyficznych dla narzędzi.