Uwierzytelnianie zarządzanych 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. Rozpoczynamy od dyskusji na temat identyfikatorów Firmy Microsoft Entra obsługujących kontrolę dostępu opartą na rolach platformy Azure. W zależności od celu tożsamości firmy Microsoft Entra nazywamy ją tożsamością użytkownika lub tożsamością punktu końcowego.

Tożsamość użytkownika jest identyfikatorem Entra firmy Microsoft, którego można użyć do utworzenia punktu końcowego i jego wdrożeń lub użycia do interakcji z punktami końcowymi lub obszarami roboczymi. Innymi słowy, tożsamość może być traktowana jako tożsamość użytkownika, jeśli wysyła żą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. Innymi słowy, jeśli tożsamość jest skojarzona z punktem końcowym i używana dla kontenera użytkownika dla wdrożenia, jest nazywana tożsamością punktu końcowego. 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.

Ogólnie rzecz biorąc, tożsamość użytkownika i tożsamość punktu końcowego miałyby 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. Aby uzyskać więcej informacji na temat specjalnego przypadku automatycznego dodawania dodatkowych uprawnień do wpisów tajnych, zobacz Dodatkowe uprawnienia do tożsamości użytkownika.

Ograniczenie

Uwierzytelnianie identyfikatora entra firmy Microsoft (aad_token) 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 tokenu usługi Azure Machine Edukacja (aml_token).

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 (powszechnie znany jako authn) i określić tożsamość jako użytkownik. Teraz załóżmy, że chcesz utworzyć punkt końcowy online w obszarze roboczym, musisz mieć odpowiednie uprawnienia, aby to zrobić. W tym miejscu pojawia się autoryzacja (powszechnie znana jako authz).

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 Edukacja.

Uwierzytelnianie dla operacji płaszczyzny sterowania

W przypadku operacji płaszczyzny sterowania istnieje jeden sposób uwierzytelniania klienta w obszarze roboczym: przy użyciu tokenu Firmy Microsoft Entra.

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ć odpowiednią kontrolę dostępu opartą na rolach (RBAC) platformy Azure do uzyskiwania dostępu do zasobów.

Autoryzacja dla operacji płaszczyzny sterowania

W przypadku operacji na płaszczyźnie sterowania tożsamość użytkownika musi mieć odpowiednią kontrolę dostępu opartą na rolach (RBAC) platformy Azure zezwalaną na dostęp do zasobów. W szczególności w przypadku operacji CRUD w punktach końcowych i wdrożeniach online tożsamość musi mieć przypisaną rolę z następującymi akcjami:

Operacja Wymagana rola RBAC platformy Azure Zakres przypisany do roli
Tworzenie/aktualizowanie operacji na punktach końcowych i wdrożeniach online Właściciel, współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write obszar roboczy
Operacje 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
Tworzenie/aktualizowanie/usuwanie operacji na punktach końcowych i wdrożeniach online za pośrednictwem usługi Azure Machine Edukacja Studio Właściciel, współautor lub dowolna rola zezwalająca Microsoft.Resources/deployments/write grupa zasobów, do której należy obszar roboczy
Operacje 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
Pobieranie tokenu usługi Azure Machine Edukacja (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 endpoint
Pobieranie klucza 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 endpoint
Ponowne generowanie kluczy 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 endpoint
Pobieranie tokenu entra firmy Microsoft (aad_token) na potrzeby wywoływania zarządzanych punktów końcowych online Nie wymaga roli. nie dotyczy

Uwaga

Token entra firmy Microsoft możesz pobrać bezpośrednio z identyfikatora Entra firmyaad_token Microsoft po zalogowaniu się i nie potrzebujesz dodatkowych uprawnień RBAC platformy Azure w obszarze roboczym.

Dodatkowe uprawnienia do tożsamości użytkownika podczas wymuszania dostępu do domyślnych magazynów wpisów tajnych

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

Po utworzeniu punktu końcowego przy użyciu tożsamości przypisanej przez system (SAI), a flaga jest ustawiona na wymuszanie dostępu do domyślnych magazynów wpisów tajnych, tożsamość użytkownika musi mieć uprawnienia do odczytu wpisów tajnych z połączeń obszaru roboczego podczas tworzenia punktu końcowego i tworzenia wdrożeń w punkcie końcowym. 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 nie ma uprawnień do odczytu wpisów tajnych z połączeń obszaru roboczego, ale próbuje utworzyć punkt końcowy za pomocą sai i flaga punktu końcowego ustawiona w celu wymuszania dostępu do domyślnych magazynów wpisów tajnych, tworzenie punktu końcowego zostanie odrzucone.

  • Podobnie, jeśli tożsamość użytkownika nie ma uprawnień do odczytu wpisów tajnych z połączeń obszaru roboczego, ale próbuje utworzyć wdrożenie w punkcie końcowym za pomocą sai i flaga punktu końcowego ustawiona w celu wymuszenia dostępu do domyślnych magazynów wpisów tajnych, tworzenie wdrożenia zostanie odrzucone.

Po utworzeniu (1) punktu końcowego za pomocą interfejsu użytkownika lub (2) flaga nie jest ustawiona, aby wymusić dostęp do domyślnych magazynów wpisów tajnych, nawet jeśli punkt końcowy używa sai, tożsamość użytkownika nie musi mieć uprawnień do odczytu wpisów tajnych z połączeń obszaru roboczego. W takim przypadku tożsamość punktu końcowego nie zostanie automatycznie udzielona uprawnienia do odczytu wpisów tajnych, ale nadal możesz ręcznie przyznać tożsamość punktu końcowego temu uprawnieniem, przypisując odpowiednie role w razie potrzeby. Niezależnie od tego, czy przypisanie roli zostało wykonane automatycznie, czy ręcznie, pobieranie wpisu tajnego i wstrzyknięcie będzie nadal wyzwalane, jeśli zamapowano zmienne środowiskowe z odwołaniami tajnymi w definicji wdrożenia i użyje tożsamości punktu końcowego do tego celu.

Aby uzyskać więcej informacji na temat zarządzania autoryzacją w obszarze roboczym usługi Azure Machine Edukacja, zobacz Zarządzanie dostępem do usługi Azure Machine Edukacja.

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, a nie używają danych do interakcji 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 trzech sposobów uwierzytelniania klienta w celu wysyłania żądań do identyfikatora URI oceniania punktu końcowego:

  • key
  • Token usługi Azure Machine Edukacja (aml_token)
  • Token entra firmy Microsoft (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 na płaszczyźnie danych tożsamość użytkownika musi mieć odpowiednią kontrolę dostępu opartą na rolach platformy Azure (RBAC) dozwoloną na dostęp do zasobów tylko wtedy, gdy punkt końcowy ma używać tokenu Firmy Microsoft Entra (aad_token). W szczególności w przypadku operacji płaszczyzny danych w punktach końcowych i wdrożeniach online tożsamość musi mieć przypisaną rolę z następującymi akcjami:

Operacja Wymagana rola RBAC platformy Azure Zakres przypisany do roli
Wywoływanie punktów końcowych online przy użyciu klucza lub tokenu usługi Azure Machine Edukacja (aml_token). Nie wymaga roli. Nie dotyczy
Wywoływanie zarządzanych punktów końcowych online przy użyciu tokenu entra firmy Microsoft (aad_token). Właściciel, współautor lub dowolna rola zezwalająca Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action endpoint
Wywoływanie punktów końcowych online platformy Kubernetes przy użyciu tokenu Entra firmy Microsoft (aad_token). Nie wymaga roli. 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ć tożsamością przypisaną przez system (SAI) lub tożsamością przypisaną przez użytkownika (UAI). Podczas tworzenia punktu końcowego możesz zdecydować, czy używać sai, czy interfejsu użytkownika.

  • W przypadku tożsamości przypisanej przez system tożsamość jest tworzona automatycznie podczas tworzenia punktu końcowego, a role z podstawowymi uprawnieniami (takimi jak uprawnienie ściągnięcia usługi Azure Container Registry i czytnik danych obiektu blob magazynu) są automatycznie przypisywane.
  • W przypadku tożsamości przypisanej przez 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 tożsamością przypisaną przez system, niektóre 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 usługi Azure Container Registry (ACR) skojarzonej z obszarem roboczym. Tożsamość punktu końcowego jest tożsamością przypisaną przez system (SAI).
Storage Blob Data Reader 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 tożsamością przypisaną przez system (SAI).
AzureML Metrics Writer (preview) Umożliwia tożsamości punktu końcowego zapisywanie metryk w obszarze roboczym. Tożsamość punktu końcowego jest tożsamością przypisaną przez system (SAI).
Azure Machine Learning Workspace Connection Secrets Reader1 Umożliwia tożsamości punktu końcowego odczytywanie wpisów tajnych z połączeń obszaru roboczego. Tożsamość punktu końcowego jest tożsamością przypisaną przez system (SAI). Punkt końcowy jest tworzony z flagą wymuszania dostępu do domyślnych magazynów wpisów tajnych. Tożsamość użytkownika, która tworzy punkt końcowy, ma takie same uprawnienia do odczytywania wpisów tajnych z połączeń obszaru roboczego. 2

1 Aby uzyskać więcej informacji na Azure Machine Learning Workspace Connection Secrets Reader temat roli, zobacz Przypisywanie uprawnień do tożsamości.

2 Nawet jeśli tożsamość punktu końcowego to SAI, jeśli flaga wymuszania nie jest ustawiona lub tożsamość użytkownika nie ma uprawnień, nie ma automatycznego przypisania roli dla tej roli. 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 tożsamością przypisaną przez użytkownika, nie ma automatycznego przypisania roli. W takim przypadku należy ręcznie przypisać role do tożsamości punktu końcowego zgodnie z potrzebami.

Wybieranie uprawnień i zakresu autoryzacji

Kontrola dostępu oparta na rolach platformy Azure umożliwia definiowanie i przypisywanie ról z zestawem dozwolonych i/lub odrzuconych 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 i można je rozszerzyć w razie potrzeby.

Przykłady dotyczące tożsamości użytkownika

  • Aby kontrolować wszystkie operacje wymienione w poprzedniej tabeli dla operacji płaszczyzny sterowania i tabeli operacji płaszczyzny danych, można rozważyć użycie wbudowanej roli AzureML Data Scientist , która zawiera akcję Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsuprawnień .
  • Aby kontrolować operacje dla określonego punktu końcowego, rozważ użycie zakresu /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Aby kontrolować operacje dla wszystkich punktów końcowych w obszarze roboczym, rozważ użycie zakresu /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

Przykłady dotyczące tożsamości punktu końcowego

  • Aby umożliwić kontenerowi użytkownika odczytywanie obiektów blob, rozważ użycie wbudowanej roli Storage Blob Data Reader zawierającej akcję Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readdanych uprawnień .

Aby uzyskać więcej informacji na temat wytycznych dotyczących operacji płaszczyzny sterowania, zobacz Zarządzanie dostępem do usługi Azure Machine Edukacja. 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.