Udostępnij za pośrednictwem


identity Pakiet

Poświadczenia dla klientów zestawu Azure SDK.

Pakiety

aio

Poświadczenia dla asynchronicznych klientów zestawu Azure SDK.

Klasy

AuthenticationRecord

Informacje o koncie bez wpisu tajnego dla uwierzytelnionego użytkownika

Ta klasa umożliwia DeviceCodeCredential dostęp do wcześniej buforowanych danych uwierzytelniania i InteractiveBrowserCredential uzyskiwania do tego dostępu. Aplikacje nie powinny tworzyć wystąpień tej klasy. Zamiast tego należy uzyskać jeden z metody uwierzytelniania poświadczeń, na przykład authenticate. Aby uzyskać więcej informacji, zobacz przykład user_authentication.

AuthenticationRequiredError

Uwierzytelnianie interakcyjne jest wymagane do uzyskania tokenu.

Ten błąd jest zgłaszany tylko przez interakcyjne poświadczenia użytkownika skonfigurowane do automatycznego monitowania o interakcję użytkownika zgodnie z potrzebami. Jego właściwości zawierają dodatkowe informacje, które mogą być wymagane do uwierzytelnienia. Przykład control_interactive_prompts pokazuje obsługę tego błędu przez wywołanie metody "uwierzytelniania" poświadczeń.

AuthorizationCodeCredential

Uwierzytelnia się, korzystając z kodu autoryzacji uzyskanego wcześniej z usługi Azure Active Directory.

Aby uzyskać więcej informacji na temat przepływu uwierzytelniania, zobacz dokumentację usługi Azure Active Directory .

AzureAuthorityHosts

Poświadczenia dla klientów zestawu Azure SDK.

AzureCliCredential

Uwierzytelnia się, żądając tokenu z interfejsu wiersza polecenia platformy Azure.

Wymaga to wcześniejszego zalogowania się na platformie Azure za pośrednictwem polecenia "az login" i będzie używać aktualnie zalogowanego tożsamości interfejsu wiersza polecenia.

AzureDeveloperCliCredential

Uwierzytelnia się, żądając tokenu z Azure Developer CLI.

Azure Developer CLI to narzędzie interfejsu wiersza polecenia, które umożliwia deweloperom tworzenie i wdrażanie zasobów na platformie Azure oraz zarządzanie nimi. Jest ona oparta na interfejsie wiersza polecenia platformy Azure i udostępnia dodatkowe funkcje specyficzne dla deweloperów platformy Azure. Umożliwia ona użytkownikom uwierzytelnianie się jako użytkownik i/lub jednostka usługi w usłudze Azure Active Directory (Azure AD). Usługa AzureDeveloperCliCredential uwierzytelnia się w środowisku deweloperów i uzyskuje token w imieniu zalogowanego użytkownika lub jednostki usługi w Azure Developer CLI. Działa jako Azure Developer CLI zalogowanego użytkownika lub jednostki usługi i wykonuje polecenie interfejsu wiersza polecenia platformy Azure pod spodem, aby uwierzytelnić aplikację w usłudze Azure Active Directory.

Aby użyć tego poświadczenia, deweloper musi uwierzytelnić się lokalnie w Azure Developer CLI przy użyciu jednego z poniższych poleceń:

  • Uruchom polecenie "azd auth login" w Azure Developer CLI, aby uwierzytelnić się interaktywnie jako użytkownik.

  • Uruchom polecenie "azd auth login –client-id "client_id" –client-secret "client_secret" –tenant-id 'tenant_id'" w celu uwierzytelnienia jako jednostki usługi.

Może być konieczne powtórzenie tego procesu po pewnym czasie, w zależności od ważności tokenu odświeżania w organizacji. Ogólnie rzecz biorąc, okres ważności tokenu odświeżania wynosi od kilku tygodni do kilku miesięcy. AzureDeveloperCliCredential wyświetli monit o ponowne zalogowanie się.

AzurePowerShellCredential

Uwierzytelnia się, żądając tokenu z Azure PowerShell.

Wymaga to wcześniejszego zalogowania się na platformie Azure za pośrednictwem polecenia "Connect-AzAccount" i będzie używać aktualnie zalogowanej tożsamości.

CertificateCredential

Uwierzytelnia się jako jednostka usługi przy użyciu certyfikatu.

Certyfikat musi mieć klucz prywatny RSA, ponieważ to poświadczenia podpisuje asercji przy użyciu rs256. Aby uzyskać więcej informacji na temat konfigurowania uwierzytelniania certyfikatów, zobacz dokumentację usługi Azure Active Directory .

ChainedTokenCredential

Sekwencja poświadczeń, która sama jest poświadczenie.

Metoda get_token wywołuje get_token każde poświadczenie w kolejności, zwracając pierwszy prawidłowy token odebrany.

ClientAssertionCredential

Uwierzytelnia jednostkę usługi przy użyciu asercji JWT.

To poświadczenie jest przeznaczone dla zaawansowanych scenariuszy. CertificateCredential ma bardziej wygodny interfejs API dla najbardziej typowego scenariusza asercji, uwierzytelnianie jednostki usługi przy użyciu certyfikatu.

ClientSecretCredential

Uwierzytelnia się jako jednostka usługi przy użyciu klucza tajnego klienta.

CredentialUnavailableError

Poświadczenie nie próbowało się uwierzytelnić, ponieważ wymagane dane lub stan są niedostępne.

DefaultAzureCredential

Domyślne poświadczenia obsługujące większość scenariuszy uwierzytelniania zestawu Azure SDK.

Używana tożsamość zależy od środowiska. Gdy token dostępu jest potrzebny, żąda jednego z tych tożsamości z kolei, zatrzymując się po udostępnieniu tokenu:

  1. Jednostka usługi skonfigurowana przez zmienne środowiskowe. Aby uzyskać więcej informacji, zobacz EnvironmentCredential .

  2. WorkloadIdentityCredential, jeśli konfiguracja zmiennej środowiskowej jest ustawiana przez element webhook tożsamości obciążenia platformy Azure.

  3. Tożsamość zarządzana platformy Azure. Aby uzyskać więcej informacji, zobacz ManagedIdentityCredential .

  4. Tylko w systemie Windows: użytkownik, który zalogował się przy użyciu aplikacji firmy Microsoft, na przykład Visual Studio. Jeśli w pamięci podręcznej znajduje się wiele tożsamości, wartość zmiennej AZURE_USERNAME środowiskowej jest używana do wybierania tożsamości do użycia. Aby uzyskać więcej informacji, zobacz SharedTokenCacheCredential .

  5. Tożsamość aktualnie zalogowana do interfejsu wiersza polecenia platformy Azure.

  6. Tożsamość jest obecnie zalogowana do Azure PowerShell.

  7. Tożsamość jest obecnie zalogowana do Azure Developer CLI.

To domyślne zachowanie można skonfigurować przy użyciu argumentów słów kluczowych.

DeviceCodeCredential

Uwierzytelnia użytkowników za pośrednictwem przepływu kodu urządzenia.

Po get_token wywołaniu to poświadczenie uzyskuje adres URL weryfikacji i kod z usługi Azure Active Directory. Użytkownik musi przejść do adresu URL, wprowadzić kod i uwierzytelnić się w usłudze Azure Active Directory. Jeśli użytkownik pomyślnie uwierzytelnia się, poświadczenie otrzyma token dostępu.

To poświadczenie jest przede wszystkim przydatne do uwierzytelniania użytkownika w środowisku bez przeglądarki internetowej, takiej jak sesja SSH. Jeśli przeglądarka internetowa jest dostępna, jest wygodniejsza, InteractiveBrowserCredential ponieważ automatycznie otwiera przeglądarkę na stronie logowania.

EnvironmentCredential

Poświadczenia skonfigurowane przez zmienne środowiskowe.

To poświadczenie może uwierzytelniać się jako jednostka usługi przy użyciu klucza tajnego klienta lub certyfikatu albo jako użytkownik z nazwą użytkownika i hasłem. W tej kolejności podjęto próbę konfiguracji przy użyciu następujących zmiennych środowiskowych:

Jednostka usługi z wpisem tajnym:

  • AZURE_TENANT_ID: identyfikator dzierżawy jednostki usługi. Nazwana również identyfikatorem "katalogu".

  • AZURE_CLIENT_ID: identyfikator klienta jednostki usługi

  • AZURE_CLIENT_SECRET: jeden z wpisów tajnych klienta jednostki usługi

  • AZURE_AUTHORITY_HOST: urząd punktu końcowego usługi Azure Active Directory, na przykład "login.microsoftonline.com", urząd dla chmury publicznej platformy Azure, który jest wartością domyślną, gdy nie zostanie podana żadna wartość.

Jednostka usługi z certyfikatem:

  • AZURE_TENANT_ID: identyfikator dzierżawy jednostki usługi. Nazwana również identyfikatorem "katalogu".

  • AZURE_CLIENT_ID: identyfikator klienta jednostki usługi

  • AZURE_CLIENT_CERTIFICATE_PATH: ścieżka do pliku certyfikatu PEM lub PKCS12, w tym klucza prywatnego.

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: (opcjonalnie) hasło pliku certyfikatu, jeśli istnieje.

  • AZURE_AUTHORITY_HOST: urząd punktu końcowego usługi Azure Active Directory, na przykład "login.microsoftonline.com", urząd dla chmury publicznej platformy Azure, który jest wartością domyślną, gdy nie zostanie podana żadna wartość.

Użytkownik z nazwą użytkownika i hasłem:

  • AZURE_CLIENT_ID: identyfikator klienta aplikacji

  • AZURE_USERNAME: nazwa użytkownika (zazwyczaj adres e-mail)

  • AZURE_PASSWORD: hasło użytkownika

  • AZURE_TENANT_ID: (opcjonalnie) identyfikator dzierżawy jednostki usługi. Nazwana również identyfikatorem "katalogu". Jeśli nie zostanie podana, domyślnie jest to dzierżawa "organizacji", która obsługuje tylko konta służbowe usługi Azure Active Directory.

  • AZURE_AUTHORITY_HOST: urząd punktu końcowego usługi Azure Active Directory, na przykład "login.microsoftonline.com", urząd dla chmury publicznej platformy Azure, który jest wartością domyślną, gdy nie zostanie podana żadna wartość.

InteractiveBrowserCredential

Otwiera przeglądarkę w celu interaktywnego uwierzytelniania użytkownika.

get_token Otwiera przeglądarkę pod adresem URL logowania udostępnianym przez usługę Azure Active Directory i uwierzytelnia użytkownika w przepływie kodu autoryzacji przy użyciu protokołu PKCE (klucz dowodowy dla programu Code Exchange) wewnętrznie w celu ochrony kodu.

KnownAuthorities

Alias AzureAuthorityHosts

ManagedIdentityCredential

Uwierzytelnia się przy użyciu tożsamości zarządzanej platformy Azure w dowolnym środowisku hostingu, które obsługuje tożsamości zarządzane.

To poświadczenie domyślnie używa tożsamości przypisanej przez system. Aby skonfigurować tożsamość przypisaną przez użytkownika, użyj jednego z argumentów słowa kluczowego. Aby uzyskać więcej informacji na temat konfigurowania tożsamości zarządzanej dla aplikacji, zobacz dokumentację usługi Azure Active Directory .

OnBehalfOfCredential

Uwierzytelnia jednostkę usługi za pośrednictwem przepływu w imieniu.

Ten przepływ jest zwykle używany przez usługi warstwy środkowej, które autoryzować żądania do innych usług z delegowanej tożsamości użytkownika. Ponieważ nie jest to interaktywny przepływ uwierzytelniania, aplikacja korzystająca z niej musi mieć zgodę administratora na wszelkie delegowane uprawnienia przed żądaniem tokenów dla nich. Zobacz dokumentację usługi Azure Active Directory , aby uzyskać bardziej szczegółowy opis przepływu w imieniu.

SharedTokenCacheCredential

Uwierzytelnia się przy użyciu tokenów w lokalnej pamięci podręcznej udostępnionej między aplikacjami firmy Microsoft.

TokenCachePersistenceOptions

Opcje trwałego buforowania tokenów.

Większość poświadczeń akceptuje wystąpienie tej klasy w celu skonfigurowania trwałego buforowania tokenów. Wartości domyślne konfigurują poświadczenia do używania pamięci podręcznej udostępnionej narzędziom deweloperów firmy Microsoft i SharedTokenCacheCredential. Aby odizolować dane poświadczeń od innych aplikacji, określ nazwę pamięci podręcznej.

Domyślnie pamięć podręczna jest szyfrowana za pomocą interfejsu API ochrony danych użytkownika bieżącej platformy i zgłasza błąd, gdy jest to niedostępne. Aby skonfigurować pamięć podręczną, aby powrócić do niezaszyfrowanego pliku zamiast zgłaszać błąd, określ wartość allow_unencrypted_storage=True.

Ostrzeżenie

Pamięć podręczna zawiera wpisy tajne uwierzytelniania. Jeśli pamięć podręczna nie jest zaszyfrowana, ochrona jest

odpowiedzialność za aplikację. Naruszenie jego zawartości spowoduje pełne naruszenie zabezpieczeń kont.

UsernamePasswordCredential

Uwierzytelnia użytkownika przy użyciu nazwy użytkownika i hasła.

Ogólnie rzecz biorąc, firma Microsoft nie zaleca tego rodzaju uwierzytelniania, ponieważ jest mniej bezpieczna niż inne przepływy uwierzytelniania.

Uwierzytelnianie przy użyciu tego poświadczenia nie jest interakcyjne, dlatego nie jest zgodne z żadną formą uwierzytelniania wieloskładnikowego ani monitowania o zgodę. Aplikacja musi już wyrazić zgodę od użytkownika lub administratora katalogu.

To poświadczenie może uwierzytelniać tylko konta służbowe; Konta Microsoft nie są obsługiwane. Aby uzyskać więcej informacji na temat typów kont, zobacz dokumentację usługi Azure Active Directory .

VisualStudioCodeCredential

Uwierzytelnia się jako użytkownik platformy Azure zalogowany do Visual Studio Code za pośrednictwem rozszerzenia "Konto platformy Azure".

Znany problem polega na tym, że to poświadczenie nie działa z wersjami rozszerzenia konta platformy Azure nowszymi niż 0.9.11. Długoterminowe rozwiązanie tego problemu jest w toku. W międzyczasie rozważ uwierzytelnienie za pomocą AzureCliCredentialpolecenia .

WorkloadIdentityCredential

Uwierzytelnia się przy użyciu tożsamości obciążenia usługi Azure Active Directory.

Uwierzytelnianie tożsamości obciążenia to funkcja platformy Azure, która umożliwia aplikacjom działającym na maszynach wirtualnych dostęp do innych zasobów platformy Azure bez konieczności używania jednostki usługi lub tożsamości zarządzanej. W przypadku uwierzytelniania tożsamości obciążenia aplikacje uwierzytelniają się przy użyciu własnej tożsamości, zamiast korzystać z jednostki usługi udostępnionej lub tożsamości zarządzanej. Uwierzytelnianie tożsamości obciążenia używa koncepcji poświadczeń konta usługi (SAC), które są automatycznie tworzone przez platformę Azure i przechowywane bezpiecznie na maszynie wirtualnej. Korzystając z uwierzytelniania tożsamości obciążenia, można uniknąć konieczności zarządzania jednostkami usługi lub tożsamościami zarządzanymi dla każdej aplikacji na każdej maszynie wirtualnej i obracania ich. Ponadto, ponieważ kontrolery Zabezpieczeń są tworzone automatycznie i zarządzane przez platformę Azure, nie musisz martwić się o przechowywanie i zabezpieczanie poufnych poświadczeń.

Element WorkloadIdentityCredential obsługuje uwierzytelnianie tożsamości obciążeń platformy Azure w usłudze Azure Kubernetes i uzyskuje token przy użyciu poświadczeń konta usługi dostępnych w środowisku usługi Azure Kubernetes. Aby uzyskać więcej informacji, zapoznaj się z omówieniem tej tożsamości obciążenia .