Dela via


Autentisering och auktorisering för onlineslutpunkter

GÄLLER FÖR:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (aktuell)

Den här artikeln beskriver begreppen identitet och behörighet i kontexten för Azure Machine Learning-slutpunkter online. I artikeln beskrivs Microsoft Entra-ID:t som stöder rollbaserad åtkomstkontroll och behörigheter. Ett Microsoft Entra-ID kallas antingen en användaridentitet eller en slutpunktsidentitet, beroende på dess syfte.

  • En användaridentitet är ett Microsoft Entra-ID som kan skapa en slutpunkt och dess distributioner eller interagera med slutpunkter eller arbetsytor. En användaridentitet utfärdar begäranden till slutpunkter, distributioner eller arbetsytor. Användaridentiteten behöver rätt behörigheter för att utföra kontrollplans - och dataplansåtgärder på slutpunkterna eller arbetsytorna.

  • En slutpunktsidentitet är ett Microsoft Entra-ID som kör användarcontainern i distributioner. Användarcontainern använder slutpunktsidentiteten för distributionen. Slutpunktsidentiteten behöver också rätt behörigheter för att användarcontainern ska kunna interagera med resurser efter behov. Slutpunktsidentiteten behöver till exempel rätt behörighet för att hämta avbildningar från Azure Container Registry eller interagera med andra Azure-tjänster.

Användaridentiteten och slutpunktsidentiteten har separata behörighetskrav. Mer information om hur du hanterar identiteter och behörigheter finns i Autentisera klienter för onlineslutpunkter.

Viktigt!

Microsoft Entra-ID-autentisering aad_token stöds endast för hanterade onlineslutpunkter. För Kubernetes onlineslutpunkter kan du använda antingen en nyckel eller en Azure Machine Learning aml_token.

Behörigheter och omfång för auktorisering

Med rollbaserad åtkomstkontroll i Azure (RBAC) kan du definiera och tilldela roller med en uppsättning tillåtna och/eller nekade åtgärder för specifika omfång. Du kan anpassa de här rollerna och omfången efter dina affärsbehov. Följande exempel fungerar som en startpunkt som du kan utöka efter behov.

För användaridentitet:

  • Om du vill hantera kontrollplans- och dataplansåtgärder kan du använda den inbyggda rollen AzureML-Dataforskare som innehåller behörighetsåtgärden Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions.
  • Om du vill kontrollera åtgärderna för en viss slutpunkt använder du omfånget /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Om du vill styra åtgärderna för alla slutpunkter i en arbetsyta använder du omfånget /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

För slutpunktsidentitet, för att tillåta användarcontainern att läsa blobar, innehåller den inbyggda rollen Storage Blob Data Reader behörighetsdataåtgärden Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read.

Mer information om hur du hanterar auktorisering till Azure Machine Learning-arbetsytor finns i Hantera åtkomst till Azure Machine Learning. Mer information om rolldefinition, omfång och rolltilldelning finns i Azure RBAC. Information om omfånget för tilldelade roller finns i Förstå omfånget för Azure RBAC.

Behörigheter som krävs för användaridentitet

När du loggar in på din Azure-klientorganisation med ditt Microsoft-konto, till exempel med hjälp az loginav , slutför du steget för autentisering av användarautentisering som bestämmer din identitet som användare. För att skapa en onlineslutpunkt under en Azure Machine Learning-arbetsyta behöver din identitet rätt behörighet, även kallad auktorisering eller authz. Användaridentiteter behöver lämpliga behörigheter för att utföra både kontrollplans - och dataplansåtgärder .

Kontrollplansåtgärder

Kontrollera planåtgärder och ändra onlineslutpunkterna. Dessa åtgärder omfattar åtgärder för att skapa, läsa, uppdatera och ta bort (CRUD) på onlineslutpunkter och onlinedistributioner. För onlineslutpunkter och distributioner går begäranden om att utföra kontrollplansåtgärder till Azure Machine Learning-arbetsytan.

Autentisering för kontrollplansåtgärder

För kontrollplansåtgärder använder du en Microsoft Entra-token för att autentisera en klient till arbetsytan. Beroende på ditt användningsfall kan du välja mellan flera autentiseringsarbetsflöden för att hämta den här token. Användaridentiteten måste också ha rätt Azure RBAC-roll tilldelad för åtkomst till resurser.

Auktorisering för kontrollplansåtgärder

För kontrollplansåtgärder måste din användaridentitet ha rätt Azure RBAC-roll tilldelad för att få åtkomst till dina resurser. Mer specifikt måste användaridentiteten ha tilldelats roller för följande åtgärder för CRUD-åtgärder på onlineslutpunkter och distributioner:

Åtgärd Nödvändig Azure RBAC-roll Omfattning
Utför åtgärder för att skapa/uppdatera onlineslutpunkter och distributioner. Ägare, deltagare eller någon roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write Arbetsyta
Utför borttagningsåtgärder på onlineslutpunkter och distributioner. Ägare, deltagare eller någon roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete Arbetsyta
Utför åtgärder för att skapa/uppdatera/ta bort onlineslutpunkter och distributioner via Azure Machine Learning-studio. Ägare, deltagare eller någon roll som tillåter Microsoft.Resources/deployments/write Resursgrupp som innehåller arbetsytan
Utföra läsåtgärder på onlineslutpunkter och distributioner. Ägare, deltagare eller någon roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read Arbetsyta
Hämta en Azure Machine Learning-token (aml_token) för att anropa både hanterade och Kubernetes onlineslutpunkter från arbetsytan. Ägare, deltagare eller någon roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Slutpunkt
Hämta en nyckel för att anropa onlineslutpunkter (både hanterade och Kubernetes) från arbetsytan. Ägare, deltagare eller någon roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action Slutpunkt
Återskapa nycklar för både hanterade och Kubernetes onlineslutpunkter. Ägare, deltagare eller någon roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Slutpunkt
Hämta en Microsoft Entra aad_token för att anropa hanterade onlineslutpunkter. Kräver ingen roll Ej tillämpligt*

* Du kan hämta Microsoft Entra aad_token direkt från Microsoft Entra-ID när du har loggat in, så att åtgärden inte kräver Azure RBAC-behörighet på arbetsytan.

Behörigheter för användaridentitet för att framtvinga åtkomst till standardhemlighetslager

Om du använder funktionen för hemlig inmatning och anger flaggan för att framtvinga åtkomst till standardhemlighetslagren när du skapar slutpunkter, måste användaridentiteten ha behörighet att läsa hemligheter från arbetsyteanslutningar.

En slutpunktsidentitet kan vara antingen en systemtilldelad identitet (SAI) eller en användartilldelad identitet (UAI). När slutpunkten skapas med en SAI och flaggan för att framtvinga åtkomst till standardhemlighetslagren har angetts, måste en användaridentitet ha behörighet att läsa hemligheter från arbetsyteanslutningar när en slutpunkt och distribution skapas. Den här begränsningen säkerställer att endast en användaridentitet med behörighet att läsa hemligheter kan ge slutpunktsidentiteten behörighet att läsa hemligheter.

Om en användaridentitet som inte har behörighet att läsa hemligheter från arbetsyteanslutningar försöker skapa en slutpunkt eller en distribution med ett SAI, och slutpunktens flagga är inställd för att framtvinga åtkomst till standardhemlighetslagren, avvisas slutpunkten eller distributionsskapandet.

Om slutpunkten skapas med en UAI, eller om slutpunkten använder ett SAI, men flaggan för att framtvinga åtkomst till standardhemlighetslagren inte har angetts, behöver användaridentiteten inte kunna läsa hemligheter från arbetsyteanslutningar för att skapa en slutpunkt eller distribution. I det här fallet beviljas slutpunktsidentiteten inte automatiskt behörighet att läsa hemligheter, men kan beviljas den här behörigheten manuellt genom att tilldela rätt roll.

Oavsett om rolltilldelningen är automatisk eller manuell utlöses den hemliga hämtningen och inmatningen om du mappade miljövariablerna med hemliga referenser i slutpunkten eller distributionsdefinitionen. Funktionen för hemlig inmatning använder slutpunktsidentiteten för att göra den hemliga hämtningen och inmatningen. Mer information om hemlig injektion finns i Hemlig injektion i onlineslutpunkter.

Dataplansåtgärder

Dataplansåtgärder ändrar inte onlineslutpunkterna, utan använder data som interagerar med slutpunkterna. Ett exempel på en dataplansåtgärd är att skicka en bedömningsbegäran till en onlineslutpunkt och få ett svar från den. För onlineslutpunkter och distributioner går begäranden om att utföra dataplansåtgärder till slutpunktens bedömnings-URI.

Autentisering för dataplansåtgärder

För dataplansåtgärder kan du välja mellan följande sätt att autentisera en klient för att skicka begäranden till en slutpunkts bedömnings-URI:

  • Nyckel
  • Azure Machine Learning aml_token
  • Microsoft Entra aad_token

Mer information om hur du autentiserar klienter för dataplansåtgärder finns i Autentisera klienter för onlineslutpunkter.

Auktorisering för dataplansåtgärder

För dataplansåtgärder behöver din användaridentitet rätt Azure RBAC-roller för att endast tillåta åtkomst till dina resurser om slutpunkten är inställd på att använda Microsoft Entra aad_token. För dataplansåtgärder på onlineslutpunkter och distributioner måste användaridentiteten ha en roll tilldelad med följande åtgärder:

Åtgärd Nödvändig Azure RBAC-roll Omfattning
Anropa onlineslutpunkter med key eller Azure Machine Learning aml_token. Kräver ingen roll. Inte tillämpligt
Anropa hanterade onlineslutpunkter med Microsoft Entra aad_token. Ägare, deltagare eller någon roll som tillåter Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action Slutpunkt
Anropa Kubernetes onlineslutpunkter med Microsoft Entra aad_token. Kubernetes onlineslutpunkt stöder inte Microsoft Entra-token för dataplansåtgärder. Inte tillämpligt

Behörigheter som krävs för slutpunktsidentitet

En onlinedistribution kör din användarcontainer med slutpunktsidentiteten, dvs. den hanterade identitet som är associerad med slutpunkten. Slutpunktsidentiteten är ett Microsoft Entra-ID som stöder Azure RBAC. Därför kan du tilldela Azure-roller till slutpunktsidentiteten för att styra behörigheter som krävs för att utföra åtgärder. Den här slutpunktsidentiteten kan vara antingen en SAI eller en UAI. Du kan bestämma om du vill använda en SAI eller en UAI när du skapar slutpunkten.

  • För ett SAI skapas identiteten automatiskt när du skapar slutpunkten och roller med grundläggande behörigheter, till exempel containerregistrets pull-behörighet AcrPull och Storage Blob Data Reader, tilldelas automatiskt.
  • För en UAI måste du först skapa identiteten och sedan associera den med slutpunkten när du skapar slutpunkten. Du ansvarar också för att tilldela rätt roller till UAI efter behov.

Automatisk rolltilldelning för slutpunktsidentitet

Om slutpunktsidentiteten är ett SAI tilldelas följande roller till slutpunktsidentiteten för enkelhetens skull.

Roll beskrivning Villkor för automatisk rolltilldelning
AcrPull Tillåter att slutpunktsidentiteten hämtar avbildningar från Azure-containerregistret som är associerat med arbetsytan Slutpunktsidentiteten är en SAI.
Storage Blob Data-läsare Tillåter att slutpunktsidentiteten läser blobar från arbetsytans standarddatalager Slutpunktsidentiteten är en SAI.
AzureML Metrics Writer (förhandsversion) Gör att slutpunktsidentiteten kan skriva mått till arbetsytan Slutpunktsidentiteten är en SAI.
Anslutningshemlighetsläsare för Azure Machine Learning-arbetsyta Gör att slutpunktsidentiteten kan läsa hemligheter från arbetsyteanslutningar Slutpunktsidentiteten är ett SAI och slutpunktens skapande har en flagga för att framtvinga åtkomst till standardhemlighetsarkiven. Användaridentiteten som skapar slutpunkten har också behörighet att läsa hemligheter från arbetsyteanslutningar.
  • Om slutpunktsidentiteten är ett SAI och framtvingandeflaggan inte har angetts eller om användaridentiteten inte har behörighet att läsa hemligheter, finns det ingen automatisk rolltilldelning för rollen Anslutningshemligheter för Azure Machine Learning-arbetsytans anslutningshemligheter . Mer information finns i Distribuera onlineslutpunkt med hemlig inmatning.
  • Om slutpunktsidentiteten är en UAI finns det ingen automatisk rolltilldelning för rollen Anslutningshemligheter för Azure Machine Learning-arbetsyta. I det här fallet måste du tilldela roller till slutpunktsidentiteten manuellt efter behov.

Mer information om rollen Anslutningshemligheter för Azure Machine Learning-arbetsyta finns i Tilldela behörigheter till identiteten.