Delen via


Azure OpenAI configureren in Microsoft Foundry-modellen met Microsoft Entra ID verificatie (klassiek)

Alleen van toepassing op:Foundry (klassiek) portal. Dit artikel is niet beschikbaar voor de nieuwe Foundry-portal. Meer informatie over de nieuwe portal.

Opmerking

Koppelingen in dit artikel kunnen inhoud openen in de nieuwe Microsoft Foundry-documentatie in plaats van de Foundry-documentatie (klassiek) die u nu bekijkt.

Complexere beveiligingsscenario's vereisen Azure op rollen gebaseerd toegangsbeheer (Azure RBAC). In dit document wordt beschreven hoe u zich kunt verifiëren bij uw Azure OpenAI-resource met behulp van Microsoft Entra ID.

In de volgende secties gebruikt u de Azure CLI om u aan te melden en een Bearer-token te verkrijgen om de OpenAI-resource aan te roepen. Als u vastloopt, vindt u koppelingen in elke sectie met alle beschikbare opties voor elke opdracht in Azure Cloud Shell/Azure CLI.

Vereiste voorwaarden

Rol toewijzen

Wijs uzelf de rol Cognitive Services OpenAI User of Cognitive Services OpenAI Contributor toe zodat u uw account kunt gebruiken om Azure OpenAI-deductie-API-aanroepen uit te voeren in plaats van dat u verificatie op basis van sleutels moet gebruiken. Nadat u deze wijziging hebt aangebracht, kan het tot vijf minuten duren voordat de wijziging van kracht wordt.

Meld u aan bij de Azure CLI

Als u zich wilt aanmelden bij de Azure CLI, voert u de volgende opdracht uit en voltooit u de aanmelding. Mogelijk moet u het opnieuw doen als uw sessie te lang inactief is geweest.

az login

Chatresultaten

from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import OpenAI

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = AzureOpenAI(
    base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",
    api_key=token_provider
)

response = client.chat.completions.create(
    model="gpt-4o", # model = "deployment_name".
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},
        {"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},
        {"role": "user", "content": "Do other Azure services support this too?"}
    ]
)

print(response.choices[0].message.content)

Query's uitvoeren op Azure OpenAI met de BESTURINGSvlak-API

import requests
import json
from azure.identity import DefaultAzureCredential

region = "eastus"
token_credential = DefaultAzureCredential()
subscriptionId = "{YOUR-SUBSCRIPTION-ID}" 

token = token_credential.get_token('https://management.azure.com/.default')
headers = {'Authorization': 'Bearer ' + token.token}

url = f"https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{region}/models?api-version=2023-05-01"

response = requests.get(url, headers=headers)

data = json.loads(response.text)

print(json.dumps(data, indent=4))

Access autoriseren voor beheerde identiteiten

OpenAI ondersteunt Microsoft Entra verificatie met beheerde identiteiten voor Azure resources. Beheerde identiteiten voor Azure-resources kunnen toegang verlenen tot Azure OpenAI-resources met behulp van Microsoft Entra-referenties van toepassingen die worden uitgevoerd in Azure-virtuele machines (VM's), functie-apps, virtuele machineschaalsets en andere diensten. Door beheerde identiteiten voor Azure-resources te gebruiken samen met de verificatie van Microsoft Entra, kunt u voorkomen dat referenties worden opgeslagen bij uw toepassingen die in de cloud worden uitgevoerd.

Beheerde identiteiten inschakelen op een VIRTUELE machine

Voordat u beheerde identiteiten voor Azure resources kunt gebruiken om toegang te verlenen tot Azure OpenAI-resources vanaf uw VIRTUELE machine, moet u beheerde identiteiten inschakelen voor Azure resources op de VIRTUELE machine. Zie voor meer informatie over het inschakelen van beheerde identiteiten voor Azure Resources:

Zie Beheerde identiteiten voor Azure resources voor meer informatie over beheerde identiteiten.