Verificatie voor beheerde online-eindpunten

VAN TOEPASSING OP:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

In dit artikel worden de concepten van identiteit en machtigingen in de context van online-eindpunten uitgelegd. We beginnen met een bespreking van Microsoft Entra-id's die Ondersteuning bieden voor Azure RBAC. Afhankelijk van het doel van de Microsoft Entra-identiteit, verwijzen we ernaar als een gebruikersidentiteit of een eindpuntidentiteit.

Een gebruikersidentiteit is een Microsoft Entra-id die u kunt gebruiken om een eindpunt en de bijbehorende implementaties te maken, of om te communiceren met eindpunten of werkruimten. Met andere woorden, een identiteit kan worden beschouwd als een gebruikersidentiteit als deze aanvragen verzendt naar eindpunten, implementaties of werkruimten. De gebruikersidentiteit heeft de juiste machtigingen nodig om besturingsvlak- en gegevensvlakbewerkingen uit te voeren op de eindpunten of werkruimten.

Een eindpuntidentiteit is een Microsoft Entra-id waarmee de gebruikerscontainer in implementaties wordt uitgevoerd. Met andere woorden, als de identiteit is gekoppeld aan het eindpunt en wordt gebruikt voor de gebruikerscontainer voor de implementatie, wordt deze een eindpuntidentiteit genoemd. De eindpuntidentiteit heeft ook de juiste machtigingen nodig voor de gebruikerscontainer om naar behoefte te communiceren met resources. De eindpuntidentiteit heeft bijvoorbeeld de juiste machtigingen nodig om installatiekopieën op te halen uit Azure Container Registry of om te communiceren met andere Azure-services.

Over het algemeen zouden de gebruikersidentiteit en eindpuntidentiteit afzonderlijke machtigingsvereisten hebben. Zie Clients verifiëren voor online-eindpunten voor meer informatie over het beheren van identiteiten en machtigingen. Zie Aanvullende machtigingen voor gebruikersidentiteit voor meer informatie over het speciale geval van het automatisch toevoegen van extra machtigingen voor geheimen.

Beperking

Microsoft Entra ID-verificatie (aad_token) wordt alleen ondersteund voor beheerde online-eindpunten. Voor Online-eindpunten van Kubernetes kunt u een sleutel of een Azure Machine Learning-token (aml_token) gebruiken.

Benodigde machtigingen voor gebruikersidentiteit

Wanneer u zich aanmeldt bij uw Azure-tenant met uw Microsoft-account (bijvoorbeeld met behulp az loginvan), voltooit u de stap voor gebruikersverificatie (ook wel verificatie genoemd) en wordt uw identiteit als gebruiker bepaald. Stel nu dat u een online-eindpunt wilt maken onder een werkruimte. Hiervoor hebt u de juiste machtiging nodig. Dit is waar autorisatie (ook wel authz genoemd) binnenkomt.

Besturingsvlakbewerkingen

Besturingselementen voor besturingsvlakbewerkingen en wijzigen van de online-eindpunten. Deze bewerkingen omvatten cruD-bewerkingen (maken, lezen, bijwerken en verwijderen) op online-eindpunten en onlineimplementaties. Voor online-eindpunten en implementaties gaan aanvragen voor het uitvoeren van besturingsvlakbewerkingen naar de Azure Machine Learning-werkruimte.

Verificatie voor besturingsvlakbewerkingen

Voor besturingsvlakbewerkingen hebt u één manier om een client te verifiëren bij de werkruimte: met behulp van een Microsoft Entra-token.

Afhankelijk van uw use-case kunt u kiezen uit verschillende verificatiewerkstromen om dit token op te halen. Uw gebruikersidentiteit moet ook beschikken over het juiste op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) dat toegang heeft tot uw resources.

Autorisatie voor besturingsvlakbewerkingen

Voor besturingsvlakbewerkingen moet uw gebruikersidentiteit beschikken over het juiste op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) dat toegang heeft tot uw resources. Voor CRUD-bewerkingen op online-eindpunten en -implementaties hebt u de identiteit nodig om de rol toe te wijzen aan de volgende acties:

Operation Vereiste Azure RBAC-rol Bereik waarvoor de rol is toegewezen
Bewerkingen maken/bijwerken op online-eindpunten en implementaties Eigenaar, inzender of een rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write werkruimte
Verwijderbewerkingen op online-eindpunten en -implementaties Eigenaar, inzender of een rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete werkruimte
Bewerkingen maken/bijwerken/verwijderen op online-eindpunten en implementaties via de Azure Machine Learning-studio Eigenaar, inzender of een rol die toestaat Microsoft.Resources/deployments/write resourcegroep waartoe de werkruimte behoort
Bewerkingen voor online-eindpunten en implementaties lezen Eigenaar, inzender of een rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read werkruimte
Een Azure Machine Learning-token (aml_token) ophalen voor het aanroepen van online-eindpunten (zowel beheerde als Kubernetes) uit de werkruimte Eigenaar, inzender of een rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action endpoint
Een sleutel ophalen voor het aanroepen van online-eindpunten (zowel beheerde als Kubernetes) uit de werkruimte Eigenaar, inzender of een rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action endpoint
Sleutels opnieuw genereren voor online-eindpunten (zowel beheerde als Kubernetes) Eigenaar, inzender of een rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action endpoint
Een Microsoft Entra-token (aad_token) ophalen voor het aanroepen van beheerde online-eindpunten Hiervoor is geen rol vereist. niet van toepassing

Notitie

U kunt uw Microsoft Entra-token (aad_token) rechtstreeks ophalen uit Microsoft Entra-id wanneer u bent aangemeld en u hebt geen extra Azure RBAC-machtiging nodig voor de werkruimte.

Aanvullende machtigingen voor gebruikersidentiteit bij het afdwingen van toegang tot standaardgeheimarchieven

Als u van plan bent om de functie voor geheiminjectie te gebruiken en tijdens het maken van uw eindpunten, stelt u de vlag in om toegang tot de standaardgeheimopslag af te dwingen, moet uw gebruikersidentiteit de machtiging hebben om geheimen van werkruimteverbindingen te lezen.

Wanneer het eindpunt wordt gemaakt met een door het systeem toegewezen identiteit (SAI) en de vlag is ingesteld om toegang tot de standaardgeheimarchieven af te dwingen, moet uw gebruikersidentiteit machtigingen hebben voor het lezen van geheimen uit werkruimteverbindingen bij het maken van het eindpunt en het maken van de implementatie(s) onder het eindpunt. Deze beperking zorgt ervoor dat alleen een gebruikersidentiteit met de machtiging voor het lezen van geheimen de eindpuntidentiteit de machtiging kan verlenen om geheimen te lezen.

  • Als een gebruikersidentiteit niet beschikt over de machtigingen voor het lezen van geheimen uit werkruimteverbindingen, maar probeert het eindpunt te maken met een SAI en de vlag van het eindpunt ingesteld om toegang tot de standaardgeheimarchieven af te dwingen, wordt het maken van het eindpunt geweigerd.

  • Als een gebruikersidentiteit niet over de machtigingen beschikt om geheimen van werkruimteverbindingen te lezen, maar probeert een implementatie te maken onder het eindpunt met een SAI en de vlag van het eindpunt ingesteld om toegang tot de standaardgeheimarchieven af te dwingen, wordt het maken van de implementatie geweigerd.

Wanneer (1) het eindpunt wordt gemaakt met een UAI of (2) is de vlag niet ingesteld om toegang tot de standaardgeheimarchieven af te dwingen, zelfs als het eindpunt gebruikmaakt van een SAI, hoeft uw gebruikersidentiteit geen machtigingen te hebben om geheimen van werkruimteverbindingen te lezen. In dit geval krijgt de eindpuntidentiteit niet automatisch de machtiging om geheimen te lezen, maar u kunt de eindpuntidentiteit deze machtiging nog steeds handmatig verlenen door indien nodig de juiste rollen toe te wijzen. Ongeacht of de roltoewijzing automatisch of handmatig is uitgevoerd, wordt het ophalen en injecteren van het geheim nog steeds geactiveerd als u de omgevingsvariabelen met geheime verwijzingen in de implementatiedefinitie hebt toegewezen. Hiervoor wordt de eindpuntidentiteit gebruikt.

Zie Toegang tot Azure Machine Learning beheren voor meer informatie over het beheren van autorisatie voor een Azure Machine Learning-werkruimte.

Zie Geheime injectie in online-eindpunten voor meer informatie over geheime injectie.

Bewerkingen van het gegevensvlak

Bewerkingen in het gegevensvlak wijzigen niet de online-eindpunten, maar gebruiken gegevens om met de eindpunten te communiceren. Een voorbeeld van een gegevensvlakbewerking is het verzenden van een scoreaanvraag naar een online-eindpunt en het ontvangen van een reactie. Voor online-eindpunten en implementaties gaan aanvragen om gegevensvlakbewerkingen uit te voeren naar de score-URI van het eindpunt.

Verificatie voor bewerkingen in het gegevensvlak

Voor bewerkingen in het gegevensvlak kunt u kiezen uit drie manieren om een client te verifiëren voor het verzenden van aanvragen naar de score-URI van een eindpunt:

  • sleutel
  • Azure Machine Learning-token (aml_token)
  • Microsoft Entra-token (aad_token)

Zie Clients verifiëren voor online-eindpunten voor meer informatie over het verifiëren van clients voor gegevensvlakbewerkingen.

Autorisatie voor gegevensvlakbewerkingen

Voor gegevensvlakbewerkingen moet uw gebruikersidentiteit beschikken over het juiste op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) dat toegang heeft tot uw resources, alleen als het eindpunt is ingesteld op het gebruik van Microsoft Entra-token (aad_token). Voor gegevensvlakbewerkingen op online-eindpunten en implementaties hebt u de identiteit nodig om de rol toe te wijzen aan de volgende acties:

Operation Vereiste Azure RBAC-rol Bereik waarvoor de rol is toegewezen
Online-eindpunten aanroepen met sleutel of Azure Machine Learning-token (aml_token). Hiervoor is geen rol vereist. Niet van toepassing
Beheerde online-eindpunten aanroepen met Microsoft Entra-token (aad_token). Eigenaar, inzender of een rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action endpoint
Roep Kubernetes online-eindpunten aan met Microsoft Entra-token (aad_token). Hiervoor is geen rol vereist. Niet van toepassing

Benodigde machtigingen voor eindpuntidentiteit

Met een onlineimplementatie wordt uw gebruikerscontainer uitgevoerd met de eindpuntidentiteit, de beheerde identiteit die is gekoppeld aan het eindpunt. De eindpuntidentiteit is een Microsoft Entra-id die ondersteuning biedt voor Azure RBAC. Daarom kunt u Azure-rollen toewijzen aan de eindpuntidentiteit om machtigingen te beheren die nodig zijn om bewerkingen uit te voeren. Deze eindpuntidentiteit kan een door het systeem toegewezen identiteit (SAI) of een door de gebruiker toegewezen identiteit (UAI) zijn. U kunt beslissen of u een SAI of een UAI wilt gebruiken wanneer u het eindpunt maakt.

  • Voor een door het systeem toegewezen identiteit wordt de identiteit automatisch gemaakt wanneer u het eindpunt maakt en worden rollen met fundamentele machtigingen (zoals de pull-machtiging van Azure Container Registry en de gegevenslezer van de opslagblob) automatisch toegewezen.
  • Voor een door de gebruiker toegewezen identiteit moet u eerst de identiteit maken en deze vervolgens koppelen aan het eindpunt wanneer u het eindpunt maakt. U bent ook verantwoordelijk voor het toewijzen van de juiste rollen aan de UAI, indien nodig.

Automatische roltoewijzing voor eindpuntidentiteit

Als de eindpuntidentiteit een door het systeem toegewezen identiteit is, worden sommige rollen voor het gemak toegewezen aan de eindpuntidentiteit.

Rol Beschrijving Voorwaarde voor de automatische roltoewijzing
AcrPull Hiermee kan de eindpuntidentiteit installatiekopieën ophalen uit azure Container Registry (ACR) die aan de werkruimte zijn gekoppeld. De eindpuntidentiteit is een door het systeem toegewezen identiteit (SAI).
Storage Blob Data Reader Hiermee kan de eindpuntidentiteit blobs lezen uit het standaardgegevensarchief van de werkruimte. De eindpuntidentiteit is een door het systeem toegewezen identiteit (SAI).
AzureML Metrics Writer (preview) Hiermee kan de eindpuntidentiteit metrische gegevens naar de werkruimte schrijven. De eindpuntidentiteit is een door het systeem toegewezen identiteit (SAI).
Azure Machine Learning Workspace Connection Secrets Reader1 Hiermee kan de eindpuntidentiteit geheimen lezen uit werkruimteverbindingen. De eindpuntidentiteit is een door het systeem toegewezen identiteit (SAI). Het eindpunt wordt gemaakt met een vlag om toegang tot de standaardgeheimarchieven af te dwingen. De gebruikersidentiteit die het eindpunt maakt, heeft dezelfde machtiging om geheimen van werkruimteverbindingen te lezen. 2

1 Zie Machtigingen toewijzen aan de identiteit voor meer informatie over de Azure Machine Learning Workspace Connection Secrets Reader rol.

2 Zelfs als de eindpuntidentiteit SAI is, als de vlag afdwingen niet is ingesteld of als de gebruikersidentiteit niet over de machtiging beschikt, is er geen automatische roltoewijzing voor deze rol. Zie Online-eindpunt implementeren met geheime injectie voor meer informatie.

Als de eindpuntidentiteit een door de gebruiker toegewezen identiteit is, is er geen automatische roltoewijzing. In dit geval moet u zo nodig handmatig rollen toewijzen aan de eindpuntidentiteit.

De machtigingen en het bereik voor autorisatie kiezen

Met Azure RBAC kunt u rollen definiëren en toewijzen met een set toegestane en/of geweigerde acties voor specifieke bereiken. U kunt deze rollen en bereiken aanpassen aan de behoeften van uw bedrijf. De volgende voorbeelden dienen als uitgangspunt en kunnen indien nodig worden uitgebreid.

Voorbeelden voor gebruikersidentiteit

  • Als u alle bewerkingen in de vorige tabel wilt beheren voor besturingsvlakbewerkingen en de tabel voor bewerkingen van het gegevensvlak, kunt u overwegen een ingebouwde rol AzureML Data Scientist te gebruiken die de machtigingsactie Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsbevat.
  • Als u de bewerkingen voor een specifiek eindpunt wilt beheren, kunt u overwegen het bereik te /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>gebruiken.
  • Als u de bewerkingen voor alle eindpunten in een werkruimte wilt beheren, kunt u overwegen het bereik /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>te gebruiken.

Voorbeelden voor eindpuntidentiteit

  • Als u wilt dat de gebruikerscontainer blobs kan lezen, kunt u overwegen een ingebouwde rol Storage Blob Data Reader te gebruiken die de actie Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readmachtigingsgegevens bevat.

Zie Toegang tot Azure Machine Learning beheren voor meer informatie over richtlijnen voor besturingsvlakbewerkingen. Zie Azure RBAC voor meer informatie over roldefinitie, bereik en roltoewijzing. Zie Bereik voor Azure RBAC begrijpen voor meer informatie over het bereik voor toegewezen rollen.