Delen via


Verificatie en autorisatie voor online-eindpunten

VAN TOEPASSING OP:Azure CLI ml-extensie v2 (huidige)Python SDK Azure-ai-ml v2 (huidige)

In dit artikel worden de concepten van identiteit en machtigingen in de context van online-eindpunten van Azure Machine Learning uitgelegd. In het artikel worden Microsoft Entra-id's besproken die op rollen gebaseerd toegangsbeheer en machtigingen ondersteunen. Een Microsoft Entra-id wordt een gebruikersidentiteit of een eindpuntidentiteit genoemd, afhankelijk van het doel ervan.

  • Een gebruikersidentiteit is een Microsoft Entra-id die een eindpunt en de bijbehorende implementaties kan maken, of interactie kan hebben met eindpunten of werkruimten. Een gebruikersidentiteit geeft aanvragen voor eindpunten, implementaties of werkruimten op. 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. De gebruikerscontainer gebruikt de eindpuntidentiteit voor de implementatie. 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.

De gebruikersidentiteit en eindpuntidentiteit hebben afzonderlijke machtigingsvereisten. Zie voor meer informatie over het beheren van identiteiten en machtigingen Hoe clients te verifiëren voor online-eindpunten.

Belangrijk

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 aml_tokengebruiken.

Machtigingen en bereik voor autorisatie

Met op rollen gebaseerd toegangsbeheer van 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 fungeren als uitgangspunt dat u zo nodig kunt uitbreiden.

Voor gebruikersidentiteit:

  • Als u besturingsvlak- en gegevensvlakbewerkingen wilt beheren, gebruikt u de ingebouwde rol AzureML Data Scientist die de machtigingsactie Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actionsbevat.
  • Als u de bewerkingen voor een specifiek eindpunt wilt beheren, gebruikt u het bereik /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>/onlineEndpoints/<endpointName>.
  • Als u de bewerkingen voor alle eindpunten in een werkruimte wilt beheren, gebruikt u het bereik /subscriptions/<subscriptionId>/resourcegroups/<resourceGroupName>/providers/Microsoft.MachineLearningServices/workspaces/<workspaceName>.

Voor de identiteitsverificatie van het eindpunt, om de gebruikerscontainer blobs te laten lezen, gebruikt u de ingebouwde rol Opslagblobgegevenslezer die de actie Microsoft.Storage/storageAccounts/blobServices/containers/blobs/readmachtigingsgegevens bevat.

Zie Toegang tot Azure Machine Learning beheren voor meer informatie over het beheren van autorisatie voor Azure Machine Learning-werkruimten. Zie Azure RBAC voor meer informatie over roldefinitie, bereik en roltoewijzing. Zie Omvang begrijpen voor Azure RBAC om de omvang van toegewezen rollen te begrijpen.

Benodigde machtigingen voor gebruikersidentiteit

Wanneer u zich aanmeldt bij uw Azure-tenant met uw Microsoft-account, bijvoorbeeld door gebruik te maken van az login, voltooit u de gebruikersauthenticatiestap authn die uw identiteit als gebruiker bepaalt. Als u een online-eindpunt wilt maken onder een Azure Machine Learning-werkruimte, heeft uw identiteit de juiste machtiging nodig, ook wel autorisatie of verificatie genoemd. Gebruikersidentiteiten hebben de juiste machtigingen nodig om bewerkingen op het besturingsvlak en het gegevensvlak uit te voeren.

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 controlevlakbewerkingen gebruikt u een Microsoft Entra-token om een client te authenticeren bij de werkruimte. Afhankelijk van uw use-case kunt u kiezen uit verschillende verificatiewerkstromen om dit token op te halen. Aan de gebruikersidentiteit moet ook de juiste Azure RBAC-rol zijn toegewezen voor toegang tot resources.

Autorisatie voor besturingsvlakbewerkingen

Voor besturingsvlakbewerkingen moet aan uw gebruikersidentiteit de juiste Azure RBAC-rol zijn toegewezen om toegang te krijgen tot uw resources. Voor CRUD-bewerkingen op online-eindpunten en -implementaties moet de gebruikersidentiteit rollen hebben toegewezen voor de volgende acties:

Operatie Vereiste Azure RBAC-rol Bereik
Maak-/updatebewerkingen uitvoeren op online-eindpunten en -implementaties. Eigenaar, Inzender of elke rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/write Werkplek
Verwijderbewerkingen uitvoeren op online-eindpunten en implementaties. Eigenaar, Inzender of elke rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/delete Werkplek
Voer bewerkingen voor maken/bijwerken/verwijderen uit op online-eindpunten en implementaties via Azure Machine Learning-studio. Eigenaar, Inzender of elke rol die toestaat Microsoft.Resources/deployments/write Resourcegroep die de werkruimte bevat
Leesbewerkingen uitvoeren op online-eindpunten en implementaties. Eigenaar, Inzender of elke rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/read Werkplek
Haal een Azure Machine Learning-token (aml_token) op voor het aanroepen van zowel beheerde als Kubernetes online-eindpunten uit de werkruimte. Eigenaar, Inzender of elke rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/token/action Eindpunt
Haal een sleutel op voor het aanroepen van online-eindpunten (zowel beheerde als Kubernetes) uit de werkruimte. Eigenaar, Inzender of elke rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listKeys/action Eindpunt
Genereer sleutels opnieuw voor zowel beheerde als Kubernetes Online-eindpunten. Eigenaar, Inzender of elke rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/regenerateKeys/action Eindpunt
Haal een Microsoft Entra aad_token op voor het aanroepen van beheerde online-eindpunten. Vereist geen rol Niet van toepassing*

* U kunt uw Microsoft Entra aad_token rechtstreeks ophalen van Microsoft Entra ID nadat u zich hebt aangemeld, zodat voor de bewerking geen Azure RBAC-machtiging voor de werkruimte is vereist.

Machtigingen voor gebruikersidentiteit voor het afdwingen van toegang tot standaardgeheimarchieven

Als u de functie voor geheiminjectie gebruikt en u de vlag instelt op om toegang tot de standaardgeheimenopslagplaatsen af te dwingen tijdens het creëren van endpoints, moet uw gebruikersidentiteit beschikken over de machtiging om geheimen van werkruimteverbindingen te lezen.

Een eindpuntidentiteit kan een door het systeem toegewezen identiteit (SAI) of een door de gebruiker toegewezen identiteit (UAI) zijn. Wanneer u het eindpunt maakt met een SAI en de vlag instelt om toegang tot de standaard geheime archieven af te dwingen, moet een gebruikersidentiteit beschikken over machtigingen om geheimen van werkruimteverbindingen te lezen bij het maken van een eindpunt en het uitvoeren van implementaties. 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 die niet gemachtigd is om geheimen van werkruimteverbindingen te lezen, probeert een eindpunt of een implementatie met een SAI te maken en de vlag van het eindpunt is ingesteld om toegang tot de standaardgeheimarchieven af te dwingen, wordt het eindpunt of het maken van de implementatie geweigerd.

Als u het eindpunt maakt met een UAI of als het eindpunt een SAI gebruikt, maar u de vlag niet instelt om toegang tot de standaardgeheimarchieven af te dwingen, hoeft de gebruikersidentiteit geen geheimen te lezen uit werkruimteverbindingen om een eindpunt of implementatie te maken. In dit geval krijgt de eindpuntidentiteit niet automatisch de machtiging om geheimen te lezen, maar u kunt deze machtiging handmatig verlenen door de juiste rol toe te wijzen.

Ongeacht of de roltoewijzing automatisch of handmatig is, wordt het ophalen en injecteren van geheimen geactiveerd als u de omgevingsvariabelen met referenties naar geheimen in het eindpunt of de implementatiedefinitie hebt toegewezen. De geheime injectiefunctie maakt gebruik van de eindpuntidentiteit om het ophalen en injecteren van geheimen uit te voeren. Zie Geheime injectie in online-eindpunten voor meer informatie over geheime injectie.

Bewerkingen van het gegevensvlak

Bewerkingen in het gegevensvlak wijzigen de online-eindpunten niet, maar gebruiken gegevens die met de eindpunten communiceren. Een voorbeeld van een gegevensvlakbewerking is het verzenden van een scoreaanvraag naar een online-eindpunt en het ontvangen van een antwoord. 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

Kies voor bewerkingen in het gegevensvlak een van de volgende manieren om een client te verifiëren voor het verzenden van aanvragen naar de score-URI van een eindpunt:

  • Sleutel
  • Azure Machine Learning aml_token
  • Microsoft Entra 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 heeft uw gebruikersidentiteit de juiste Azure RBAC-rollen nodig om alleen toegang tot uw resources toe te staan als het eindpunt is ingesteld op het gebruik van Microsoft Entra aad_token. Voor gegevensvlakbewerkingen op online-eindpunten en -implementaties moet aan de gebruikersidentiteit een rol zijn toegewezen met de volgende acties:

Operatie Vereiste Azure RBAC-rol Bereik
Online-eindpunten aanroepen met key of Azure Machine Learning aml_token. Er is geen rol vereist. Niet van toepassing
Beheerde online-eindpunten aanroepen met Microsoft Entra aad_token. Eigenaar, Inzender of elke rol die toestaat Microsoft.MachineLearningServices/workspaces/onlineEndpoints/score/action Eindpunt
Roep Kubernetes online-eindpunten aan met Microsoft Entra aad_token. Het online-eindpunt van Kubernetes biedt geen ondersteuning voor Microsoft Entra-token voor gegevensvlakbewerkingen. Niet van toepassing

Benodigde machtigingen voor eindpuntidentiteit

Met een onlineimplementatie wordt uw gebruikerscontainer uitgevoerd met de eindpuntidentiteit. Dit is 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 SAI of een UAI zijn. U bepaalt of u een SAI of een UAI wilt gebruiken wanneer u het eindpunt maakt.

  • Voor een SAI wordt de identiteit automatisch gemaakt wanneer u het eindpunt maakt en worden rollen met fundamentele machtigingen, zoals de Pull-machtiging Container Registry AcrPull en de opslagblobgegevenslezer, automatisch toegewezen.
  • Voor een UAI 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 SAI is, worden de volgende rollen voor het gemak toegewezen aan de eindpuntidentiteit.

Rol Beschrijving Voorwaarde voor automatische roltoewijzing
AcrPull Hiermee kan de endpoint-identiteit afbeeldingen ophalen uit het Azure Container Registry dat is gekoppeld aan de werkruimte. De eindpuntidentiteit is een SAI.
Opslagblobgegevenslezer Hiermee kan de eindpuntidentiteit blobs lezen uit het standaardgegevensarchief van de werkruimte De eindpuntidentiteit is een SAI.
AzureML Metrics Writer (preview) Hiermee kan de eindpuntidentiteit metrische gegevens naar de werkruimte schrijven De eindpuntidentiteit is een SAI.
Azure Machine Learning Workspace Connection Secrets Reader Hiermee kan de eindpuntidentiteit geheimen lezen uit werkruimteverbindingen De eindpuntidentiteit is een SAI en het aanmaken van het eindpunt heeft een indicator om toegang tot de standaardgeheime opslagplaatsen af te dwingen. De gebruikersidentiteit waarmee het eindpunt wordt gemaakt, heeft ook machtigingen om geheimen van werkruimteverbindingen te lezen.
  • Als de eindpuntidentiteit een SAI is en de afdwingvlag niet is ingesteld of als de gebruikersidentiteit geen machtiging heeft om geheimen te lezen, is er geen automatische roltoewijzing voor de rol Lezer van Azure Machine Learning-werkruimteverbindingsgeheimen. Zie Online-eindpunt implementeren met geheime injectie voor meer informatie.
  • Als de eindpuntidentiteit een UAI is, is er geen automatische roltoewijzing voor de rol Azure Machine Learning Werkruimte Verbindingsgeheimen Lezer. In dit geval moet u zo nodig handmatig rollen toewijzen aan de eindpuntidentiteit.

Voor meer informatie over de rol Lezer van verbindingsgeheimen voor Azure Machine Learning-werkruimte, zie Machtigingen toewijzen aan de identiteit.