Ověřování a autorizace pro 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ů služby Azure Machine Learning. Tento článek popisuje ID Microsoft Entra, která podporují řízení přístupu na základě role a oprávnění. Id Microsoft Entra se označuje jako identita uživatele nebo identita koncového bodu v závislosti na jejím účelu.
Identita uživatele je ID Microsoft Entra, které může vytvořit koncový bod a jeho nasazení nebo pracovat s koncovými body nebo pracovními prostory. Identita uživatele vydává požadavky na koncové body, nasazení nebo pracovní prostory. Identita uživatele potřebuje správná oprávnění k provádění operací roviny řízení a roviny dat v koncových bodech nebo pracovních prostorech.
Identita koncového bodu je ID Microsoft Entra, které spouští kontejner uživatele v nasazeních. Kontejner uživatele používá identitu koncového bodu pro nasazení. Identita koncového bodu také potřebuje správná oprávnění pro kontejner uživatele pro interakci s prostředky podle potřeby. Identita koncového bodu například potřebuje správná oprávnění k načtení imagí ze služby Azure Container Registry nebo k interakci s jinými službami Azure.
Identita uživatele a identita koncového bodu mají 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.
Důležité
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 Azure Machine Learning aml_token
.
Oprávnění a rozsah autorizace
Řízení přístupu na základě role v 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, který můžete podle potřeby rozšířit.
Pro identitu uživatele:
- Ke správě operací roviny řízení a roviny dat můžete použít předdefinované role AzureML Datoví vědci, která zahrnuje akci
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions
oprávnění . - Pokud chcete řídit operace pro konkrétní koncový bod, použijte obor
/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>
. - Pokud chcete řídit operace pro všechny koncové body v pracovním prostoru, použijte obor
/subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>
.
Pro identitu koncového bodu, aby kontejner uživatele mohl číst objekty blob, integrovaná role Čtenář dat objektů blob služby Storage zahrnuje akci Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
s daty oprávnění .
Další informace o správě autorizace pracovních prostorů Azure Machine Learning najdete v tématu Správa přístupu ke službě Azure Machine Learning. 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.
Oprávnění potřebná pro identitu uživatele
Když se například přihlásíte ke svému tenantovi Azure pomocí účtu az login
Microsoft, dokončíte krok ověřování uživatele authn , který určuje vaši identitu jako uživatel. K vytvoření online koncového bodu v pracovním prostoru Azure Machine Learning potřebuje vaše identita správné oprávnění, označované také jako autorizace nebo authz. Identity uživatelů potřebují příslušná oprávnění k provádění operací řídicí roviny i roviny dat.
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 Learning.
Ověřování pro operace roviny řízení
Pro operace řídicí roviny použijete token Microsoft Entra k ověření klienta v pracovním prostoru. 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é přiřazenou správnou roli Azure RBAC pro přístup k prostředkům.
Autorizace pro operace řídicí roviny
V případě operací řídicí roviny musí mít vaše identita uživatele přiřazenou správnou roli Azure RBAC pro přístup k vašim prostředkům. Konkrétně pro operace CRUD s online koncovými body a nasazeními musí identita uživatele mít přiřazené role pro následující akce:
Operace | Požadovaná role Azure RBAC | Obor |
---|---|---|
Proveďte operace vytváření a aktualizace u online koncových bodů a nasazení. | Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write |
Pracovní prostor |
Proveďte operace odstranění u online koncových bodů a nasazení. | Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete |
Pracovní prostor |
Operace vytváření, aktualizace a odstranění u online koncových bodů a nasazení můžete provádět prostřednictvím studio Azure Machine Learning. | Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.Resources/deployments/write |
Skupina prostředků, která obsahuje pracovní prostor |
Provádět 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čtěte token služby Azure Machine Learning (aml_token ) pro vyvolání spravovaných i online koncových bodů Kubernetes z pracovního prostoru. |
Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action |
Koncový bod |
Načtěte klíč 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 |
Koncový bod |
Znovu vygenerujte klíče pro spravované i online koncové body Kubernetes. | Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action |
Koncový bod |
Načtěte Microsoft Entra aad_token pro vyvolání spravovaných online koncových bodů. |
Nevyžaduje roli. | Nepoužitelné* |
* Po přihlášení můžete načíst microsoft Entra aad_token
přímo z ID Microsoft Entra, takže tato operace nevyžaduje oprávnění Azure RBAC v pracovním prostoru.
Oprávnění pro identitu uživatele k vynucení přístupu k výchozím úložištům tajných kódů
Pokud používáte funkci injektáže tajných kódů a příznak nastavíte tak, aby při vytváření koncových bodů vynucovaly přístup 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ích prostorů.
Identita koncového bodu může být identita přiřazená systémem (SAI) nebo identita přiřazená uživatelem (UAI). Když se koncový bod vytvoří pomocí sai a příznak pro vynucení přístupu k výchozím úložištům tajných kódů je nastavený, identita uživatele musí mít oprávnění ke čtení tajných kódů z připojení pracovního prostoru při vytváření koncového bodu a nasazení. 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 se identita uživatele, která nemá oprávnění ke čtení tajných kódů z připojení pracovního prostoru, pokusí vytvořit koncový bod nebo nasazení se sai a příznak koncového bodu je nastavený tak, aby vynucoval přístup k výchozím úložištím tajných kódů, koncovému bodu nebo vytvoření nasazení se odmítne.
Pokud je koncový bod vytvořený pomocí rozhraní UAI nebo koncový bod používá sai, ale příznak k vynucení přístupu k výchozím úložištím tajných kódů není nastavený, identita uživatele nemusí kvůli vytvoření koncového bodu nebo nasazení číst tajné kódy z připojení pracovního prostoru. V tomto případě není identita koncového bodu automaticky udělena oprávnění ke čtení tajných kódů, ale toto oprávnění je možné udělit ručně přiřazením správné role.
Bez ohledu na to, jestli je přiřazení role automatické nebo ruční, se aktivuje načítání tajných kódů a injektáž, pokud jste namapovali proměnné prostředí s tajnými odkazy v definici koncového bodu nebo nasazení. Funkce injektáže tajných kódů používá identitu koncového bodu k načtení a injektáži tajných kódů. 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, která pracují 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 z následujících způsobů, jak ověřit klienta tak, aby odesílal požadavky do hodnoticího identifikátoru URI koncového bodu:
- Klíč
- Azure Machine Learning
aml_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
Pro operace roviny dat potřebuje vaše identita uživatele správné role Azure RBAC, aby umožňovala přístup k vašim prostředkům pouze v případě, že je koncový bod nastavený tak, aby používal Microsoft Entra aad_token
. V případě operací roviny dat s online koncovými body a nasazeními musí mít identita uživatele přiřazenou roli s následujícími akcemi:
Operace | Požadovaná role Azure RBAC | Obor |
---|---|---|
Vyvolání online koncových bodů pomocí key služby Azure Machine Learning aml_token |
Nevyžaduje roli. | Nelze použít |
Vyvolání spravovaných online koncových bodů pomocí Microsoft Entra aad_token . |
Povolení vlastníka, přispěvatele nebo jakékoli role Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action |
Koncový bod |
Vyvolání online koncových bodů Kubernetes pomocí Microsoft Entra aad_token . |
Online koncový bod Kubernetes nepodporuje token Microsoft Entra pro operace roviny dat. | 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 SAI nebo UAI. Při vytváření koncového bodu se můžete rozhodnout, jestli se má použít sai nebo UAI.
- Pro sai se identita vytvoří automaticky při vytváření koncového bodu a role se základními oprávněními, jako je AcrPull oprávnění služby Container Registry a Čtenář dat objektů blob služby Storage, se automaticky přiřadí.
- U UAI 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 SAI, přiřadí se k identitě koncového bodu následující role, 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 z registru kontejneru Azure přidruženého k pracovnímu prostoru. | Identita koncového bodu je SAI. |
Čtenář dat v objektech blob služby Storage | 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 SAI. |
AzureML Metrics Writer (Preview) | Umožňuje identitě koncového bodu zapisovat metriky do pracovního prostoru. | Identita koncového bodu je SAI. |
Čtečka tajných kódů připojení pracovního prostoru Azure Machine Learning | Umožňuje identitě koncového bodu číst tajné kódy z připojení pracovního prostoru. | Identita koncového bodu je SAI a vytvoření koncového bodu má příznak pro vynucení přístupu k výchozím úložištům tajných kódů. Identita uživatele, která vytvoří koncový bod, má také oprávnění ke čtení tajných kódů z připojení pracovního prostoru. |
- Pokud je identita koncového bodu sai a příznak vynucení není nastavený nebo identita uživatele nemá oprávnění ke čtení tajných kódů, neexistuje žádné automatické přiřazení role pro roli Čtenář tajných kódů pracovního prostoru služby Azure Machine Learning. Další informace najdete v tématu Nasazení online koncového bodu pomocí injektáže tajných kódů.
- Pokud je identita koncového bodu UAI, neexistuje žádné automatické přiřazení role pro roli Čtenář tajných kódů připojení pracovního prostoru služby Azure Machine Learning. V takovém případě musíte podle potřeby ručně přiřadit role identitě koncového bodu.
Další informace o roli Čtenář tajných kódů připojení pracovního prostoru Azure Machine Learning najdete v tématu Přiřazení oprávnění k identitě.