Verificatie op basis van sleutels en tokens voor online-eindpunten

Wanneer u een online-eindpunt van een client gebruikt, kunt u een sleutel of een token gebruiken. Sleutels verlopen niet, tokens wel.

De eindpuntverificatie configureren

U kunt het verificatietype instellen wanneer u een online-eindpunt maakt. Stel de auth_mode in op key of aml_token afhankelijk van welke u wilt gebruiken. De standaardwaarde is key.

Wanneer u implementeert met CLI v2, stelt u deze waarde in het YAML-bestand voor het online-eindpunt in. Zie How to deploy an online endpoint (Een online-eindpunt implementeren) voor meer informatie.

Wanneer u implementeert met behulp van de Python SDK v2, gebruikt u de klasse OnlineEndpoint .

De sleutel of het token ophalen

De toegang voor het ophalen van de sleutel of het token voor een online-eindpunt wordt beperkt door op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC). Als u de verificatiesleutel of het token wilt ophalen, moet aan uw beveiligingsprincipal (gebruikersidentiteit of service-principal) een van de volgende rollen worden toegewezen:

  • Eigenaar
  • Inzender
  • Een aangepaste rol die en Microsoft.MachineLearningServices/workspaces/onlineEndpoints/listkeys/actiontoestaatMicrosoft.MachineLearningServices/workspaces/onlineEndpoints/token/action.

Zie Toegang tot Azure Machine Learning beheren voor meer informatie over het gebruik van Azure RBAC met Azure Machine Learning.

Gebruik az ml online-endpoint get-credentials om de sleutel op te halen. Met deze opdracht wordt een JSON-document geretourneerd dat de sleutel of het token bevat. Sleutels worden geretourneerd in de primaryKey velden en secondaryKey . Tokens worden geretourneerd in het accessToken veld. Daarnaast bevatten de expiryTimeUtc velden en refreshAfterTimeUtc de verloop- en vernieuwingstijden van het token. In het volgende voorbeeld ziet u hoe u de --query parameter gebruikt om alleen de primaire sleutel te retourneren:

ENDPOINT_KEY=$(az ml online-endpoint get-credentials -n $ENDPOINT_NAME -o tsv --query primaryKey)

Gegevens scoren met behulp van het token

Wanneer u het online-eindpunt voor scoren aanroept, geeft u de sleutel of het token door in de autorisatieheader. In het volgende voorbeeld ziet u hoe u het hulpprogramma curl gebruikt om het online-eindpunt aan te roepen met behulp van een sleutel (als u een token gebruikt, vervangt u door $ENDPOINT_KEY de tokenwaarde):

SCORING_URI=$(az ml online-endpoint show -n $ENDPOINT_NAME -o tsv --query scoring_uri)

curl --request POST "$SCORING_URI" --header "Authorization: Bearer $ENDPOINT_KEY" --header 'Content-Type: application/json' --data @endpoints/online/model-1/sample-request.json

Volgende stappen