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 Learning (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 Learning.
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 Learning 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 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 |
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 Learning, zobacz Zarządzanie dostępem do usługi Azure Machine Learning.
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 Learning (
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 (key ) lub tokenu usługi Azure Machine Learning (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 ). |
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ć 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 Reader 1 |
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/*/actions
uprawnień . - 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/read
danych 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 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.