Verificatie en autorisatie voor 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 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 Clients verifiëren voor online-eindpunten voor meer informatie over het beheren van identiteiten en machtigingen.
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_token
gebruiken.
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, kunt u de ingebouwde azureML-Datawetenschapper gebruiken die de machtigingsactie
Microsoft.MachineLearningServices/workspaces/onlineEndpoints/*/actions
bevat. - 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 eindpuntidentiteit, zodat de gebruikerscontainer blobs kan lezen, bevat de ingebouwde rol Opslagblobgegevenslezer de actie Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
machtigingsgegevens.
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 Bereik voor Azure RBAC begrijpen voor meer informatie over het bereik voor toegewezen rollen.
Benodigde machtigingen voor gebruikersidentiteit
Wanneer u zich aanmeldt bij uw Azure-tenant met uw Microsoft-account, bijvoorbeeld door gebruik te maken az login
van, voltooit u de verificatiestap van de verificatie van de verificatie 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 besturingsvlakbewerkingen gebruikt u een Microsoft Entra-token om een client te verifiëren 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:
Operation | 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 om toegang tot de standaardgeheimarchieven af te dwingen tijdens het maken van eindpunten, moet uw gebruikersidentiteit gemachtigd zijn 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 het eindpunt wordt gemaakt met een SAI en de vlag voor het afdwingen van toegang tot de standaardgeheimarchieven is ingesteld, moet een gebruikersidentiteit machtigingen hebben voor het lezen van geheimen uit werkruimteverbindingen bij het maken van een eindpunt en 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 het eindpunt wordt gemaakt met een UAI of als het eindpunt een SAI gebruikt, maar de vlag voor het afdwingen van toegang tot de standaardgeheimarchieven niet is ingesteld, hoeft de gebruikersidentiteit geen geheimen van werkruimteverbindingen te lezen om een eindpunt of implementatie te maken. In dit geval krijgt de eindpuntidentiteit niet automatisch de machtiging om geheimen te lezen, maar kan deze machtiging handmatig worden verleend door de juiste rol toe te wijzen.
Ongeacht of de roltoewijzing automatisch of handmatig is, wordt het ophalen van het geheim geactiveerd en wordt injectie geactiveerd als u de omgevingsvariabelen met geheime verwijzingen 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 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 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:
Operation | Vereiste Azure RBAC-rol | Bereik |
---|---|---|
Online-eindpunten aanroepen met key of Azure Machine Learning aml_token . |
Hiervoor 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, 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 kunt beslissen 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 Storage Blob Data Reader, 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 eindpuntidentiteit installatiekopieën ophalen uit het Azure-containerregister dat is gekoppeld aan de werkruimte | De eindpuntidentiteit is een SAI. |
Lezer voor opslagblobgegevens | 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 maken van het eindpunt heeft een vlag om toegang tot de standaardgeheimarchieven 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 vlag voor afdwingen 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 Lezer van azure Machine Learning-werkruimteverbindingsgeheimen . In dit geval moet u zo nodig handmatig rollen toewijzen aan de eindpuntidentiteit.
Zie Machtigingen toewijzen aan de identiteit voor meer informatie over de rol Lezer van verbindingsgeheimen voor Azure Machine Learning-werkruimte.