Ověřování pro spravované online koncové body

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

Tento článek vysvětluje koncepty identity a oprávnění v kontextu online koncových bodů. Začneme diskuzí o ID Microsoft Entra, která podporují Azure RBAC. V závislosti na účelu identity Microsoft Entra ji označujeme buď jako identitu uživatele, nebo identitu koncového bodu.

Identita uživatele je ID Microsoft Entra, které můžete použít k vytvoření koncového bodu a jeho nasazení nebo k interakci s koncovými body nebo pracovními prostory. Jinými slovy, identita může být považována za identitu uživatele, pokud vydává požadavky na koncové body, nasazení nebo pracovní prostory. Identita uživatele by potřebovala správná oprávnění k provádění operací řídicí roviny a roviny dat na koncových bodech nebo pracovních prostorech.

Identita koncového bodu je ID Microsoft Entra, které spouští kontejner uživatele v nasazeních. Jinými slovy, pokud je identita přidružená ke koncovému bodu a používá se pro kontejner uživatele pro nasazení, nazývá se identita koncového bodu. Identita koncového bodu by také potřebovala správná oprávnění pro kontejner uživatele k interakci s prostředky podle potřeby. Identita koncového bodu by například potřebovala správná oprávnění k načtení imagí ze služby Azure Container Registry nebo k interakci s jinými službami Azure.

Obecně platí, že identita uživatele a identita koncového bodu by měly samostatné požadavky na oprávnění. Další informace o správě identit a oprávnění najdete v tématu Ověřování klientů pro online koncové body. Další informace o speciálním případě automatického přidání dalších oprávnění pro tajné kódy najdete v tématu Další oprávnění pro identitu uživatele.

Omezení

Ověřování Microsoft Entra ID (aad_token) je podporováno pouze pro spravované online koncové body. Pro online koncové body Kubernetes můžete použít klíč nebo token azure machine Učení (aml_token).

Oprávnění potřebná pro identitu uživatele

Když se přihlásíte ke svému tenantovi Azure pomocí svého účtu Microsoft (například pomocí az login), dokončíte krok ověřování uživatele (běžně označovaný jako authn) a určí se vaše identita jako uživatel. Řekněme, že teď chcete vytvořit online koncový bod v pracovním prostoru, budete k tomu potřebovat správná oprávnění. Tady přichází autorizace (běžně označovaná jako authz).

Operace řídicí roviny

Řízení provozu roviny řízení a změna online koncových bodů Mezi tyto operace patří operace vytvoření, čtení, aktualizace a odstranění (CRUD) pro online koncové body a online nasazení. V případě online koncových bodů a nasazení se požadavky na provedení operací řídicí roviny převedou do pracovního prostoru Azure Machine Učení.

Ověřování pro operace roviny řízení

Pro operace řídicí roviny máte jeden způsob, jak ověřit klienta v pracovním prostoru: pomocí tokenu Microsoft Entra.

V závislosti na vašem případu použití si můžete vybrat z několika pracovních postupů ověřování, abyste získali tento token. Identita uživatele musí mít také správné řízení přístupu na základě role v Azure (Azure RBAC) povolené pro přístup k vašim prostředkům.

Autorizace pro operace řídicí roviny

V případě operací řídicí roviny musí mít vaše identita uživatele pro přístup k vašim prostředkům povolené správné řízení přístupu na základě role v Azure (Azure RBAC). Konkrétně pro operace CRUD s online koncovými body a nasazeními potřebujete, aby identita měla přiřazenou roli s následujícími akcemi:

Operace Požadovaná role Azure RBAC Obor, pro který je role přiřazená
Vytváření/aktualizace operací s online koncovými body a nasazeními Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write pracovní prostor
Odstranění operací s online koncovými body a nasazeními Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete pracovní prostor
Vytvoření, aktualizace nebo odstranění operací s online koncovými body a nasazeními prostřednictvím studio Azure Machine Learning Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.Resources/deployments/write skupina prostředků, ve které pracovní prostor patří
Operace čtení u online koncových bodů a nasazení Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read pracovní prostor
Načtení tokenu Azure Machine Učení (aml_token) pro vyvolání online koncových bodů (spravovaných i Kubernetes) z pracovního prostoru Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action endpoint
Načtení klíče pro vyvolání online koncových bodů (spravovaných i Kubernetes) z pracovního prostoru Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action endpoint
Opětovné vygenerování klíčů pro online koncové body (spravované i Kubernetes) Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action endpoint
Načtení tokenu Microsoft Entra (aad_token) pro vyvolání spravovaných online koncových bodů Nevyžaduje roli. nejde použít

Poznámka:

Token Microsoft Entra (aad_token) můžete načíst přímo z ID Microsoft Entra po přihlášení a v pracovním prostoru nepotřebujete další oprávnění Azure RBAC.

Další oprávnění pro identitu uživatele při vynucování přístupu k výchozím úložištím tajných kódů

Pokud máte v úmyslu používat funkci injektáže tajných kódů a při vytváření koncových bodů nastavíte příznak pro vynucení přístupu k výchozím úložištům tajných kódů, musí mít vaše identita uživatele oprávnění ke čtení tajných kódů z připojení pracovního prostoru.

Když se koncový bod vytvoří s identitou přiřazenou systémem (SAI) a příznak je nastavený tak, aby vynucuje přístup k výchozím úložištům tajných kódů, musí mít identita uživatele oprávnění ke čtení tajných kódů z připojení pracovního prostoru při vytváření koncového bodu a vytváření nasazení v rámci koncového bodu. Toto omezení zajišťuje, že identita uživatele s oprávněním ke čtení tajných kódů může identitě koncového bodu udělit oprávnění ke čtení tajných kódů.

  • Pokud identita uživatele nemá oprávnění ke čtení tajných kódů z připojení pracovního prostoru, ale pokusí se vytvořit koncový bod se sai a příznakem koncového bodu nastaveným tak, aby vynucoval přístup k výchozím úložištím tajných kódů, vytvoření koncového bodu se odmítne.

  • Podobně platí, že pokud identita uživatele nemá oprávnění ke čtení tajných kódů z připojení pracovního prostoru, ale pokusí se vytvořit nasazení v rámci koncového bodu pomocí sai a příznakem koncového bodu nastaveného tak, aby vynucoval přístup k výchozím úložištím tajných kódů, vytvoření nasazení se odmítne.

Když se koncový bod vytvoří pomocí UAI nebo (2) příznak nenínastavený tak, aby vynucuje přístup k výchozím úložištím tajných kódů, i když koncový bod používá SAI, nemusí mít vaše identita uživatele oprávnění ke čtení tajných kódů z připojení pracovního prostoru. V takovém případě nebude identita koncového bodu automaticky udělena oprávnění ke čtení tajných kódů, ale v případě potřeby můžete identitu koncového bodu udělit ručně tím, že v případě potřeby přiřadíte správné role. Bez ohledu na to, jestli se přiřazení role provedlo automaticky nebo ručně, se při mapování proměnných prostředí s tajnými odkazy v definici nasazení stále aktivuje načítání tajných kódů a injektáž tajných kódů a použije k tomu identitu koncového bodu.

Další informace o správě autorizace pro pracovní prostor Učení Azure najdete v tématu Správa přístupu k Učení azure machine.

Další informace o injektáži tajných kódů najdete v tématu Injektáž tajných kódů v online koncových bodech.

Operace roviny dat

Operace roviny dat nemění online koncové body, ale používají data k interakci s koncovými body. Příkladem operace roviny dat je odeslání žádosti o bodování do online koncového bodu a získání odpovědi z ní. V případě online koncových bodů a nasazení se požadavky na provedení operací roviny dat převedou na identifikátor URI bodování koncového bodu.

Ověřování operací roviny dat

U operací roviny dat si můžete vybrat ze tří způsobů, jak ověřit klienta tak, aby odesílal požadavky do identifikátoru URI bodování koncového bodu:

  • key
  • Token služby Azure Machine Učení (aml_token)
  • Token Microsoft Entra (aad_token)

Další informace o ověřování klientů pro operace roviny dat naleznete v tématu Jak ověřovat klienty pro online koncové body.

Autorizace pro operace roviny dat

V případě operací roviny dat musí mít vaše identita uživatele správné řízení přístupu na základě role v Azure (Azure RBAC) povolené pro přístup k vašim prostředkům, pouze pokud je koncový bod nastavený tak, aby používal token Microsoft Entra (aad_token). Konkrétně pro operace roviny dat s online koncovými body a nasazeními potřebujete, aby identita měla přiřazenou roli s následujícími akcemi:

Operace Požadovaná role Azure RBAC Obor, pro který je role přiřazená
Vyvolání online koncových bodů pomocí klíče nebo tokenu azure machine Učení (aml_token). Nevyžaduje roli. Nelze použít
Vyvolání spravovaných online koncových bodů pomocí tokenu Microsoft Entra (aad_token). Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action endpoint
Vyvolání online koncových bodů Kubernetes pomocí tokenu Microsoft Entra (aad_token). Nevyžaduje roli. Nelze použít

Oprávnění potřebná pro identitu koncového bodu

Online nasazení spustí kontejner uživatele s identitou koncového bodu, tj. spravovanou identitou přidruženou ke koncovému bodu. Identita koncového bodu je ID Microsoft Entra, které podporuje Azure RBAC. Proto můžete k identitě koncového bodu přiřadit role Azure, abyste mohli řídit oprávnění potřebná k provádění operací. Tato identita koncového bodu může být identita přiřazená systémem (SAI) nebo identita přiřazená uživatelem (UAI). Při vytváření koncového bodu se můžete rozhodnout, jestli se má použít sai nebo UAI.

  • Pro identitu přiřazenou systémem se identita vytvoří automaticky při vytváření koncového bodu a role se základními oprávněními (například oprávněním ke stažení služby Azure Container Registry a čtenářem dat objektů blob úložiště).
  • Pro identitu přiřazenou uživatelem musíte nejprve vytvořit identitu a přidružit ji ke koncovému bodu při vytváření koncového bodu. Zodpovídáte také za přiřazování správných rolí uživatelskému rozhraní podle potřeby.

Automatické přiřazení role pro identitu koncového bodu

Pokud je identita koncového bodu identitou přiřazená systémem, některé role jsou přiřazené k identitě koncového bodu, aby se vám to dají hodit.

Role Popis Podmínka automatického přiřazení role
AcrPull Umožňuje identitě koncového bodu načíst image ze služby Azure Container Registry (ACR) přidružené k pracovnímu prostoru. Identita koncového bodu je identita přiřazená systémem (SAI).
Storage Blob Data Reader Umožňuje identitě koncového bodu číst objekty blob z výchozího úložiště dat pracovního prostoru. Identita koncového bodu je identita přiřazená systémem (SAI).
AzureML Metrics Writer (preview) Umožňuje identitě koncového bodu zapisovat metriky do pracovního prostoru. Identita koncového bodu je identita přiřazená systémem (SAI).
Azure Machine Learning Workspace Connection Secrets Reader1 Umožňuje identitě koncového bodu číst tajné kódy z připojení pracovního prostoru. Identita koncového bodu je identita přiřazená systémem (SAI). Koncový bod se vytvoří s příznakem pro vynucení přístupu k výchozím úložištům tajných kódů. Identita uživatele, která vytvoří koncový bod, má stejné oprávnění ke čtení tajných kódů z připojení pracovního prostoru. 2

1 Další informace o Azure Machine Learning Workspace Connection Secrets Reader roli naleznete v tématu Přiřazení oprávnění k identitě.

2 I když je identita koncového bodu SAI, pokud příznak vynucení není nastavený nebo identita uživatele nemá oprávnění, neexistuje pro tuto roli žádné automatické přiřazení role. Další informace najdete v tématu Nasazení online koncového bodu pomocí injektáže tajných kódů.

Pokud je identita koncového bodu identitou přiřazená uživatelem, neexistuje žádné automatické přiřazení role. V takovém případě musíte podle potřeby ručně přiřadit role identitě koncového bodu.

Výběr oprávnění a rozsahu autorizace

Azure RBAC umožňuje definovat a přiřazovat role se sadou povolených nebo zakázaných akcí pro konkrétní obory. Tyto role a obory můžete přizpůsobit podle potřeb vaší firmy. Následující příklady slouží jako výchozí bod a je možné je podle potřeby rozšířit.

Příklady pro identitu uživatele

  • Pokud chcete řídit všechny operace uvedené v předchozí tabulce pro operace roviny řízení a tabulku pro operace roviny dat, můžete zvážit použití předdefinované role AzureML Data Scientist , která zahrnuje akci Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsoprávnění .
  • Pokud chcete řídit operace pro konkrétní koncový bod, zvažte použití oboru /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Pokud chcete řídit operace pro všechny koncové body v pracovním prostoru, zvažte použití oboru /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

Příklady identity koncového bodu

  • Pokud chcete kontejneru uživatelů umožnit čtení objektů blob, zvažte použití předdefinované role Storage Blob Data Reader , která zahrnuje akci Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readdat oprávnění .

Další informace o pokynech pro operace řídicí roviny najdete v tématu Správa přístupu ke službě Azure Machine Učení. Další informace o definici, oboru a přiřazení rolí najdete v tématu Azure RBAC. Pokud chcete porozumět rozsahu přiřazených rolí, přečtěte si téma Vysvětlení oboru pro Azure RBAC.