Dodatkowe metody uwierzytelniania w zasobach platformy Azure z poziomu aplikacji języka Python

W tym artykule wymieniono dodatkowe metody, których aplikacje mogą używać do uwierzytelniania w zasobach platformy Azure. Metody w tym artykule są rzadziej używane; jeśli to możliwe, zachęcamy do użycia jednej z metod opisanych w temacie uwierzytelnianie aplikacji języka Python na platformie Azure przy użyciu przeglądu zestawu Azure SDK.

Uwierzytelnianie za pomocą przeglądarki interakcyjnej

Ta metoda interaktywnie uwierzytelnia aplikację poprzez InteractiveBrowserCredential, zbierając poświadczenia użytkownika w domyślnym systemie.

Uwierzytelnianie za pomocą przeglądarki interakcyjnej umożliwia aplikacji wszystkie operacje dozwolone przez poświadczenia logowania interakcyjnego. W związku z tym, jeśli jesteś właścicielem lub administratorem subskrypcji, twój kod ma nieodłączny dostęp do większości zasobów w tej subskrypcji bez konieczności przypisywania określonych uprawnień. Z tego powodu korzystanie z interaktywnego uwierzytelniania przeglądarki jest odradzane z wyjątkiem eksperymentów.

Włączanie aplikacji na potrzeby uwierzytelniania za pomocą przeglądarki interakcyjnej

Wykonaj następujące kroki, aby umożliwić aplikacji uwierzytelnianie za pośrednictwem interaktywnego przepływu przeglądarki. Te kroki działają również w przypadku uwierzytelniania kodu urządzenia opisanego w dalszej części. Wykonanie tego procesu jest konieczne tylko w przypadku użycia InteractiveBrowserCredential w kodzie.

  1. W witrynie Azure Portal przejdź do pozycji Microsoft Entra ID i wybierz pozycję Rejestracje aplikacji w menu po lewej stronie.

  2. Wybierz rejestrację aplikacji, a następnie wybierz pozycję Uwierzytelnianie.

  3. W obszarze Ustawienia zaawansowane wybierz pozycję Tak dla ustawienia Zezwalaj na przepływy klientów publicznych.

  4. Wybierz Zapisz, aby zastosować zmiany.

  5. Aby autoryzować aplikację dla określonych zasobów, przejdź do odpowiedniego zasobu, wybierz pozycję Uprawnienia interfejsu API i włącz program Microsoft Graph i inne zasoby, do których chcesz uzyskać dostęp. Program Microsoft Graph jest domyślnie włączony.

    Ważne

    Musisz również być administratorem dzierżawy, aby wyrazić zgodę na aplikację podczas pierwszego logowania.

Jeśli nie możesz skonfigurować opcji przepływu kodu urządzenia w usłudze Active Directory, aplikacja może wymagać działania w modelu wielu dzierżawców. Aby wprowadzić tę zmianę, przejdź do panelu Uwierzytelnianie , wybierz pozycję Konta w dowolnym katalogu organizacyjnym (w obszarze Obsługiwane typy kont), a następnie wybierz pozycję Tak w obszarze Zezwalaj na przepływy klientów publicznych.

Przykład użycia elementu InteractiveBrowserCredential

W poniższym przykładzie pokazano użycie elementu InteractiveBrowserCredential do uwierzytelniania za pomocą elementu SubscriptionClient:

# Show Azure subscription information

import os
from azure.identity import InteractiveBrowserCredential
from azure.mgmt.resource import SubscriptionClient

credential = InteractiveBrowserCredential()
subscription_client = SubscriptionClient(credential)

subscription = next(subscription_client.subscriptions.list())
print(subscription.subscription_id)

Aby uzyskać bardziej precyzyjną kontrolę, na przykład ustawiając identyfikatory URI przekierowania, można podać konkretne argumenty do InteractiveBrowserCredential, takie jak redirect_uri.

Uwierzytelnianie kodu urządzenia

Ta metoda interaktywnie uwierzytelnia użytkownika na urządzeniach z ograniczonym interfejsem użytkownika (zazwyczaj urządzenia bez klawiatury):

  1. Gdy aplikacja podejmie próbę uwierzytelnienia, użytkownik zostanie poproszony o podanie adresu URL oraz kodu uwierzytelniania.
  2. Użytkownik odwiedza adres URL na oddzielnym urządzeniu z obsługą przeglądarki (komputerze, smartfonie itp.) i wprowadza kod.
  3. Użytkownik wykonuje normalny proces uwierzytelniania w przeglądarce.
  4. Po pomyślnym uwierzytelnieniu aplikacja jest uwierzytelniana na urządzeniu.

Aby uzyskać więcej informacji, zobacz Platformę tożsamości Microsoft i przepływ udzielania autoryzacji urządzenia OAuth 2.0.

Uwierzytelnianie kodu urządzenia w środowisku projektowym umożliwia aplikacji wszystkie operacje dozwolone przez poświadczenia logowania interakcyjnego. W związku z tym, jeśli jesteś właścicielem lub administratorem subskrypcji, twój kod ma nieodłączny dostęp do większości zasobów w tej subskrypcji bez konieczności przypisywania określonych uprawnień. Można jednak użyć tej metody z określonym identyfikatorem klienta, a nie domyślnym, dla którego można przypisać określone uprawnienia.