Udostępnij przez


authentication Moduł

Zawiera funkcje zarządzania różnymi typami uwierzytelniania w usłudze Azure Machine Learning.

Typy obsługiwanego uwierzytelniania:

  • Logowanie interakcyjne — tryb domyślny podczas korzystania z zestawu Azure Machine Learning SDK. Używa interaktywnego okna dialogowego.
  • Interfejs wiersza polecenia platformy Azure — do użycia z pakietem azure-cli .
  • Jednostka usługi — do użycia z zautomatyzowanymi przepływami pracy uczenia maszynowego.
  • MSI — do użycia z elementami zawartości z obsługą tożsamości usługi zarządzanej, takimi jak maszyna wirtualna platformy Azure.
  • Token usługi Azure ML — służy do uzyskiwania tokenów usługi Azure ML tylko dla przesłanych przebiegów.

Aby dowiedzieć się więcej o tych mechanizmach uwierzytelniania, zobacz https://aka.ms/aml-notebook-auth.

Klasy

AbstractAuthentication

Abstrakcyjna klasa nadrzędna dla wszystkich klas uwierzytelniania w usłudze Azure Machine Learning.

Klasy pochodne zapewniają różne sposoby uwierzytelniania i uzyskiwania tokenu na podstawie docelowego przypadku użycia. Przykłady uwierzytelniania można znaleźć w temacie https://aka.ms/aml-notebook-auth.

Konstruktor Klasy AbstractAuthentication.

AccessToken

Tworzenie nowego wystąpienia obiektu AccessToken(token, expires_on)

ArmTokenAuthentication

Używane wewnętrznie do uzyskiwania tokenów dostępu usługi ARM przy użyciu uwierzytelniania jednostki usługi lub tożsamości usługi zarządzanej.

W przypadku zautomatyzowanych przepływów pracy, w których potrzebna jest zarządzana kontrola dostępu, należy zamiast tego użyć polecenia ServicePrincipalAuthentication .

Konstruktor ArmTokenAuthentification.

AzureCliAuthentication

Zarządza uwierzytelnianiem i uzyskuje token dostępu przy użyciu interfejsu wiersza polecenia platformy Azure.

Aby użyć tej klasy, musisz mieć zainstalowany pakiet azure-cli . Aby uzyskać lepsze środowisko usługi Azure Notebooks, użyj InteractiveLoginAuthentication klasy .

Konstruktor uwierzytelniania interfejsu wiersza polecenia platformy Azure klasy.

AzureMLTokenAuthentication

Zarządza tokenami uwierzytelniania i dostępu w kontekście przesłanych przebiegów.

Token usługi Azure Machine Learning jest generowany po przesłaniu przebiegu i jest dostępny tylko dla kodu, który przesłał przebieg. Klasę AzureMLTokenAuthentication można używać tylko w kontekście przesłanego przebiegu. Zwrócony token nie może być używany względem żadnych operacji usługi Azure Resource Manager (ARM), takich jak aprowizowanie zasobów obliczeniowych. Token usługi Azure Machine Learning przydaje się podczas zdalnego wykonywania programu, w którym może być niebezpieczne użycie prywatnych poświadczeń użytkownika.

Autoryzowanie użytkowników przy użyciu tokenu usługi Azure ML.

Token usługi Azure ML jest generowany po przesłaniu przebiegu i jest dostępny tylko dla przesłanego kodu. Klasa może być używana tylko w kontekście przesłanego przebiegu. Token nie może być używany względem żadnych operacji usługi ARM, takich jak aprowizowanie zasobów obliczeniowych. Token usługi Azure ML jest przydatny podczas zdalnego wykonywania programu, w którym może być niebezpieczne użycie poświadczeń prywatnych użytkownika. Odbiorca tej klasy powinien wywołać metodę klasy create, która tworzy nowy obiekt lub zwraca zarejestrowane wystąpienie z tym samym wystąpieniem run_scope (subscription_id, resource_group_name, workspace_name, experiment_name, run_id).

InteractiveLoginAuthentication

Zarządza uwierzytelnianiem i uzyskuje token autoryzacji w interaktywnych przepływach pracy logowania.

Interaktywne uwierzytelnianie logowania jest odpowiednie do eksperymentowania lokalnego na własnym komputerze i jest domyślnym modelem uwierzytelniania podczas korzystania z zestawu Azure Machine Learning SDK. Na przykład podczas pracy lokalnie w notesie Jupyter proces uwierzytelniania interakcyjnego logowania otwiera okno przeglądarki, aby wyświetlić monit o poświadczenia, jeśli poświadczenia jeszcze nie istnieją.

Konstruktor uwierzytelniania interakcyjnego logowania klasy.

Ten konstruktor wyświetli monit o zalogowanie użytkownika, a następnie zapisze poświadczenia dla wszelkich kolejnych prób. Jeśli użytkownik jest już zalogowany do interfejsu wiersza polecenia platformy Azure lub zalogował się wcześniej, konstruktor załaduje istniejące poświadczenia bez monitu. Gdy ten proces języka Python jest uruchomiony w usłudze Azure Notebook, konstruktor podejmie próbę użycia funkcji "połącz z platformą Azure" w usłudze Azure Notebooks. Jeśli ten proces języka Python jest uruchomiony na maszynie wirtualnej notesu, konstruktor podejmie próbę użycia uwierzytelniania MSI.

MsiAuthentication

Zarządza uwierzytelnianiem przy użyciu tożsamości zarządzanej w usłudze Azure Active Directory.

W przypadku korzystania z zestawu Azure ML SDK na maszynie wirtualnej platformy Azure można uwierzytelnić się przy użyciu tożsamości zarządzanej (wcześniej znanej jako tożsamość usługi zarządzanej — MSI). Użycie tożsamości zarządzanej umożliwia maszynie wirtualnej łączenie się z obszarem roboczym bez przechowywania poświadczeń w kodzie języka Python, co powoduje oddzielenie procesu uwierzytelniania od dowolnego logowania użytkownika.

Konstruktor MsiAuthentication klasy.

ServicePrincipalAuthentication

Zarządza uwierzytelnianiem przy użyciu jednostki usługi zamiast tożsamości użytkownika.

Uwierzytelnianie jednostki usługi jest odpowiednie dla zautomatyzowanych przepływów pracy, takich jak scenariusze ciągłej integracji/ciągłego wdrażania. Ten typ uwierzytelniania rozdziela proces uwierzytelniania z dowolnego konkretnego logowania użytkownika i umożliwia zarządzanie kontrolą dostępu.

Klasa ServicePrincipalAuthentication, konstruktor.

TokenAuthentication

Zarządzanie uwierzytelnianiem przy użyciu tokenu usługi AAD objętego zakresem odbiorców.

Uwierzytelnianie tokenu jest odpowiednie, gdy generowanie tokenów i jego odświeżanie znajdują się poza zestawem AML SDK. Ten typ uwierzytelniania umożliwia większą kontrolę nad generowaniem tokenów i jego odświeżaniem.

W przypadku zautomatyzowanych przepływów pracy, w których potrzebna jest zarządzana kontrola dostępu, należy zamiast tego użyć polecenia ServicePrincipalAuthentication .

Ta klasa wymaga podania metody get_token_for_audience , która zostanie wywołana w celu pobrania tokenu.

Przykład wywołania get_token_for_audience i przekazanie odbiorców get_token_for_audience (odbiorców)

Zarządzanie uwierzytelnianiem przy użyciu tokenu usługi AAD objętego zakresem odbiorców.

Uwierzytelnianie tokenu jest odpowiednie, gdy generowanie tokenów i jego odświeżanie znajdują się poza zestawem AML SDK. Ten typ uwierzytelniania umożliwia większą kontrolę nad generowaniem tokenów i jego odświeżaniem.

W przypadku zautomatyzowanych przepływów pracy, w których potrzebna jest zarządzana kontrola dostępu, należy zamiast tego użyć polecenia ServicePrincipalAuthentication .

Ta klasa wymaga podania metody get_token_for_audience , która zostanie wywołana w celu pobrania tokenu.

Przykład wywołania get_token_for_audience i przekazanie odbiorców get_token_for_audience (odbiorców)

gdzie odbiorcy mogą być uwierzytelnianiem ARM lub AML = TokenAuthentication(get_token_for_audience)

  AML audience value passed to get_token_for_audience can be retrieved by :
  auth.get_aml_resource_id(cloud)

  ARM audience value passed to get_token_for_audience can be retrieved by :
  auth._cloud_type.endpoints.active_directory_resource_id

Wyliczenia

Audience

Odbiorcy obsługiwani przez usługę AML. Do użycia tylko z klasą TokenAuthentication .