Udostępnij za pośrednictwem


Uwierzytelnianie i autoryzacja dla punktów końcowych online

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)

W tym artykule wyjaśniono pojęcia dotyczące tożsamości i uprawnień w kontekście punktów końcowych online usługi Azure Machine Learning. W tym artykule omówiono identyfikatory firmy Microsoft Entra, które obsługują kontrolę dostępu opartą na rolach i uprawnienia. Identyfikator entra firmy Microsoft jest nazywany tożsamością użytkownika lub tożsamością punktu końcowego w zależności od celu.

  • Tożsamość użytkownika to identyfikator firmy Microsoft Entra, który może utworzyć punkt końcowy i jego wdrożenia lub wchodzić w interakcje z punktami końcowymi lub obszarami roboczymi. Tożsamość użytkownika wystawia żądania do punktów końcowych, wdrożeń lub obszarów roboczych. Tożsamość użytkownika wymaga odpowiednich uprawnień do wykonywania operacji płaszczyzny sterowania i płaszczyzny danych w punktach końcowych lub obszarach roboczych.

  • Tożsamość punktu końcowego to identyfikator firmy Microsoft Entra, który uruchamia kontener użytkownika we wdrożeniach. Kontener użytkownika używa tożsamości punktu końcowego do wdrożenia. Tożsamość punktu końcowego wymaga również odpowiednich uprawnień dla kontenera użytkownika w celu interakcji z zasobami zgodnie z potrzebami. Na przykład tożsamość punktu końcowego wymaga odpowiednich uprawnień do ściągania obrazów z usługi Azure Container Registry lub interakcji z innymi usługami platformy Azure.

Tożsamość użytkownika i tożsamość punktu końcowego mają oddzielne wymagania dotyczące uprawnień. Aby uzyskać więcej informacji na temat zarządzania tożsamościami i uprawnieniami, zobacz Jak uwierzytelniać klientów dla punktów końcowych online.

Ważne

Uwierzytelnianie identyfikatora aad_token Entra firmy Microsoft jest obsługiwane tylko w przypadku zarządzanych punktów końcowych online. W przypadku punktów końcowych online platformy Kubernetes można użyć klucza lub usługi Azure Machine Learning aml_token.

Uprawnienia i zakres autoryzacji

Kontrola dostępu oparta na rolach (RBAC) platformy Azure umożliwia definiowanie i przypisywanie ról za pomocą zestawu dozwolonych i/lub niedozwolonych akcji w określonych zakresach. Te role i zakresy można dostosować zgodnie z potrzebami biznesowymi. Poniższe przykłady służą jako punkt wyjścia, który można rozszerzyć w razie potrzeby.

W przypadku tożsamości użytkownika:

  • Aby zarządzać operacjami płaszczyzny sterowania i płaszczyzny danych, możesz użyć wbudowanej roli AzureML badacze dancyh, która zawiera akcję Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsuprawnień .
  • Aby kontrolować operacje dla określonego punktu końcowego, użyj zakresu /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Aby kontrolować operacje dla wszystkich punktów końcowych w obszarze roboczym, użyj zakresu /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

W przypadku tożsamości punktu końcowego, aby umożliwić kontenerowi użytkownika odczytywanie obiektów blob, wbudowany czytnik danych obiektu blob usługi Storage zawiera akcję Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readdanych uprawnień.

Aby uzyskać więcej informacji na temat zarządzania autoryzacją w obszarach roboczych usługi Azure Machine Learning, zobacz Zarządzanie dostępem do usługi Azure Machine Learning. Aby uzyskać więcej informacji na temat definicji roli, zakresu i przypisania roli, zobacz Kontrola dostępu oparta na rolach na platformie Azure. Aby zrozumieć zakres przypisanych ról, zobacz Omówienie zakresu kontroli dostępu opartej na rolach platformy Azure.

Uprawnienia wymagane do obsługi tożsamości użytkownika

Po zalogowaniu się do dzierżawy platformy Azure przy użyciu konta Microsoft, na przykład przy użyciu polecenia az login, należy wykonać krok uwierzytelniania użytkownika authn , który określa tożsamość jako użytkownik. Aby utworzyć punkt końcowy online w obszarze roboczym usługi Azure Machine Learning, tożsamość potrzebuje odpowiednich uprawnień, nazywanych również autoryzacją lub authz. Tożsamości użytkowników muszą mieć odpowiednie uprawnienia do wykonywania zarówno operacji płaszczyzny sterowania, jak i płaszczyzny danych.

Operacje płaszczyzny sterowania

Sterowanie operacjami płaszczyzny sterowania i zmienianie punktów końcowych online. Operacje te obejmują operacje tworzenia, odczytu, aktualizacji i usuwania (CRUD) w punktach końcowych online i wdrożeniach online. W przypadku punktów końcowych i wdrożeń online żądania wykonania operacji płaszczyzny sterowania są kierowane do obszaru roboczego usługi Azure Machine Learning.

Uwierzytelnianie dla operacji płaszczyzny sterowania

W przypadku operacji płaszczyzny sterowania używasz tokenu Entra firmy Microsoft do uwierzytelniania klienta w obszarze roboczym. W zależności od przypadku użycia możesz wybrać spośród kilku przepływów pracy uwierzytelniania, aby uzyskać ten token. Tożsamość użytkownika musi również mieć przypisaną odpowiednią rolę RBAC platformy Azure w celu uzyskania dostępu do zasobów.

Autoryzacja dla operacji płaszczyzny sterowania

W przypadku operacji płaszczyzny sterowania tożsamość użytkownika musi mieć przypisaną odpowiednią rolę RBAC platformy Azure w celu uzyskania dostępu do zasobów. W szczególności w przypadku operacji CRUD w punktach końcowych i wdrożeniach online tożsamość użytkownika musi mieć przypisane role dla następujących akcji:

Operacja Wymagana rola RBAC platformy Azure Scope
Wykonywanie operacji tworzenia/aktualizowania w punktach końcowych i wdrożeniach online. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write Obszar roboczy
Wykonywanie operacji usuwania w punktach końcowych i wdrożeniach online. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete Obszar roboczy
Wykonaj operacje tworzenia/aktualizowania/usuwania w punktach końcowych online i wdrożeniach za pośrednictwem usługi Azure Machine Learning Studio. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.Resources/deployments/write Grupa zasobów zawierająca obszar roboczy
Wykonywanie operacji odczytu w punktach końcowych i wdrożeniach online. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read Obszar roboczy
Pobierz token usługi Azure Machine Learning (aml_token) na potrzeby wywoływania punktów końcowych online zarządzanych i Kubernetes z obszaru roboczego. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Punkt końcowy
Pobierz klucz do wywoływania punktów końcowych online (zarządzanych i Kubernetes) z obszaru roboczego. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action Punkt końcowy
Wygeneruj ponownie klucze dla punktów końcowych online zarządzanych i Kubernetes. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Punkt końcowy
Pobierz aplikację Microsoft Entra aad_token na potrzeby wywoływania zarządzanych punktów końcowych online. Nie wymaga roli Nie dotyczy*

* Po zalogowaniu się możesz pobrać swoją aplikację Microsoft Entra aad_token ID bezpośrednio z witryny Microsoft Entra ID, aby ta operacja nie wymagała uprawnień RBAC platformy Azure w obszarze roboczym.

Uprawnienia do tożsamości użytkownika w celu wymuszania dostępu do domyślnych magazynów wpisów tajnych

Jeśli używasz funkcji wstrzykiwania wpisu tajnego i ustawisz flagę wymuszania dostępu do domyślnych magazynów wpisów tajnych podczas tworzenia punktów końcowych, tożsamość użytkownika musi mieć uprawnienia do odczytu wpisów tajnych z połączeń obszaru roboczego.

Tożsamość punktu końcowego może być tożsamością przypisaną przez system (SAI) lub tożsamością przypisaną przez użytkownika (UAI). Po utworzeniu punktu końcowego za pomocą sai i flaga wymuszania dostępu do domyślnych magazynów wpisów tajnych jest ustawiona, tożsamość użytkownika musi mieć uprawnienia do odczytu wpisów tajnych z połączeń obszaru roboczego podczas tworzenia punktu końcowego i wdrożeń. To ograniczenie gwarantuje, że tylko tożsamość użytkownika z uprawnieniami do odczytu wpisów tajnych może udzielić tożsamości punktu końcowego uprawnienia do odczytu wpisów tajnych.

Jeśli tożsamość użytkownika, która nie ma uprawnień do odczytu wpisów tajnych z połączeń obszaru roboczego, próbuje utworzyć punkt końcowy lub wdrożenie za pomocą sai, a flaga punktu końcowego jest ustawiona, aby wymusić dostęp do domyślnych magazynów wpisów tajnych, punkt końcowy lub tworzenie wdrożenia zostanie odrzucone.

Jeśli punkt końcowy jest tworzony przy użyciu interfejsu użytkownika lub punkt końcowy używa sai, ale flaga wymuszania dostępu do domyślnych magazynów wpisów tajnych nie jest ustawiona, tożsamość użytkownika nie musi mieć możliwości odczytywania wpisów tajnych z połączeń obszaru roboczego w celu utworzenia punktu końcowego lub wdrożenia. W takim przypadku tożsamość punktu końcowego nie otrzymuje automatycznie uprawnień do odczytywania wpisów tajnych, ale może zostać ręcznie udzielona tej uprawnienia, przypisując odpowiednią rolę.

Niezależnie od tego, czy przypisanie roli jest automatyczne, czy ręczne, pobieranie wpisów tajnych i iniekcja jest wyzwalane, jeśli zamapujesz zmienne środowiskowe z odwołaniami tajnymi w definicji punktu końcowego lub wdrożenia. Funkcja wstrzykiwania wpisu tajnego używa tożsamości punktu końcowego do pobierania i wstrzykiwania wpisu tajnego. Aby uzyskać więcej informacji na temat wstrzykiwania wpisów tajnych, zobacz Secret injection in online endpoints (Wstrzykiwanie wpisów tajnych w punktach końcowych online).

Operacje płaszczyzny danych

Operacje płaszczyzny danych nie zmieniają punktów końcowych online, ale używają danych, które współdziałają z punktami końcowymi. Przykładem operacji płaszczyzny danych jest wysłanie żądania oceniania do punktu końcowego online i uzyskanie z niego odpowiedzi. W przypadku punktów końcowych i wdrożeń online żądania dotyczące wykonywania operacji płaszczyzny danych są kierowane do identyfikatora URI oceniania punktu końcowego.

Uwierzytelnianie dla operacji płaszczyzny danych

W przypadku operacji płaszczyzny danych można wybrać spośród następujących sposobów uwierzytelniania klienta w celu wysyłania żądań do identyfikatora URI oceniania punktu końcowego:

  • Klucz
  • Azure Machine Learning aml_token
  • Microsoft Entra aad_token

Aby uzyskać więcej informacji na temat uwierzytelniania klientów na potrzeby operacji płaszczyzny danych, zobacz Jak uwierzytelniać klientów dla punktów końcowych online.

Autoryzacja operacji płaszczyzny danych

W przypadku operacji płaszczyzny danych tożsamość użytkownika wymaga odpowiednich ról kontroli dostępu opartej na rolach platformy Azure, aby umożliwić dostęp do zasobów tylko wtedy, gdy punkt końcowy ma używać usługi Microsoft Entra aad_token. W przypadku operacji płaszczyzny danych w punktach końcowych i wdrożeniach online tożsamość użytkownika musi mieć przypisaną rolę z następującymi akcjami:

Operacja Wymagana rola RBAC platformy Azure Scope
Wywoływanie punktów końcowych online za pomocą key usługi Azure Machine Learning aml_tokenlub . Nie wymaga roli. Nie dotyczy
Wywoływanie zarządzanych punktów końcowych online za pomocą usługi Microsoft Entra aad_token. Właściciel, Współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action Punkt końcowy
Wywoływanie punktów końcowych online platformy Kubernetes za pomocą usługi Microsoft Entra aad_token. Punkt końcowy online platformy Kubernetes nie obsługuje tokenu Microsoft Entra dla operacji płaszczyzny danych. Nie dotyczy

Uprawnienia wymagane do obsługi tożsamości punktu końcowego

Wdrożenie online uruchamia kontener użytkownika z tożsamością punktu końcowego, czyli tożsamością zarządzaną skojarzoną z punktem końcowym. Tożsamość punktu końcowego jest identyfikatorem Entra firmy Microsoft, który obsługuje kontrolę dostępu opartą na rolach platformy Azure. W związku z tym można przypisać role platformy Azure do tożsamości punktu końcowego, aby kontrolować uprawnienia wymagane do wykonywania operacji. Ta tożsamość punktu końcowego może być sai lub UAI. Podczas tworzenia punktu końcowego możesz zdecydować, czy używać sai, czy interfejsu użytkownika.

  • W przypadku sai tożsamość jest tworzona automatycznie podczas tworzenia punktu końcowego, a role z podstawowymi uprawnieniami, takimi jak uprawnienie ściągnięcia rejestru kontenerów AcrPull i czytelnik danych obiektu blob usługi Storage, są automatycznie przypisywane.
  • W przypadku interfejsu użytkownika należy najpierw utworzyć tożsamość, a następnie skojarzyć ją z punktem końcowym podczas tworzenia punktu końcowego. Odpowiadasz również za przypisywanie odpowiednich ról do interfejsu użytkownika zgodnie z potrzebami.

Automatyczne przypisywanie roli dla tożsamości punktu końcowego

Jeśli tożsamość punktu końcowego jest sai, następujące role są przypisywane do tożsamości punktu końcowego dla wygody.

Rola opis Warunek automatycznego przypisania roli
AcrPull Umożliwia tożsamości punktu końcowego ściąganie obrazów z rejestru kontenerów platformy Azure skojarzonego z obszarem roboczym Tożsamość punktu końcowego jest sai.
Czytelnik danych obiektu blob usługi Storage Umożliwia tożsamości punktu końcowego odczytywanie obiektów blob z domyślnego magazynu danych obszaru roboczego Tożsamość punktu końcowego jest sai.
Moduł zapisywania metryk usługi AzureML (wersja zapoznawcza) Umożliwia tożsamości punktu końcowego zapisywanie metryk w obszarze roboczym Tożsamość punktu końcowego jest sai.
Czytelnik wpisów tajnych połączenia obszaru roboczego usługi Azure Machine Learning Umożliwia tożsamości punktu końcowego odczytywanie wpisów tajnych z połączeń obszaru roboczego Tożsamość punktu końcowego to sai, a tworzenie punktu końcowego ma flagę wymuszania dostępu do domyślnych magazynów wpisów tajnych. Tożsamość użytkownika, która tworzy punkt końcowy, ma również uprawnienia do odczytywania wpisów tajnych z połączeń obszaru roboczego.
  • Jeśli tożsamość punktu końcowego jest sai, a flaga wymuszania nie jest ustawiona lub tożsamość użytkownika nie ma uprawnień do odczytywania wpisów tajnych, nie ma automatycznego przypisania roli dla roli Czytelnik wpisów tajnych połączenia obszaru roboczego usługi Azure Machine Learning. Aby uzyskać więcej informacji, zobacz How to deploy online endpoint with secret injection (Jak wdrożyć punkt końcowy online z wstrzyknięciem wpisu tajnego).
  • Jeśli tożsamość punktu końcowego jest interfejsem użytkownika, nie ma automatycznego przypisania roli dla roli Czytelnik wpisów tajnych połączenia obszaru roboczego usługi Azure Machine Learning. W takim przypadku należy ręcznie przypisać role do tożsamości punktu końcowego zgodnie z potrzebami.

Aby uzyskać więcej informacji na temat roli Czytelnik wpisów tajnych połączenia obszaru roboczego usługi Azure Machine Learning, zobacz Przypisywanie uprawnień do tożsamości.