Condividi tramite


Come configurare Azure OpenAI nei modelli Microsoft Foundry con autenticazione Microsoft Entra ID (versione classica)

Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry. Altre informazioni sul nuovo portale.

Annotazioni

I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (versione classica) visualizzata.

Gli scenari di sicurezza più complessi richiedono il controllo degli accessi in base al ruolo di Azure (Azure RBAC). Questo documento illustra come eseguire l'autenticazione alla risorsa OpenAI Azure usando Microsoft Entra ID.

Nelle sezioni seguenti si userà l'interfaccia della riga di comando di Azure per accedere e ottenere un token di autorizzazione per chiamare la risorsa di OpenAI. Se ci si blocca, i collegamenti vengono forniti in ogni sezione con tutte le opzioni disponibili per ogni comando in Azure Cloud Shell/interfaccia della riga di comando di Azure.

Prerequisiti

Assegnare un ruolo

Assegnare a se stessi il ruolo OpenAI User o Cognitive Services OpenAI Contributor per consentire di usare l'account per effettuare chiamate API di inferenza OpenAI Azure anziché dover usare l'autenticazione basata su chiave. Dopo aver apportato questa modifica, possono essere necessari fino a 5 minuti prima che la modifica venga applicata.

Accedere al interfaccia della riga di comando di Azure

Per accedere al interfaccia della riga di comando di Azure, eseguire il comando seguente e completare l'accesso. Potresti doverlo fare di nuovo se la sessione è stata inattiva per troppo tempo.

az login

Completamenti delle chat

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)

Esecuzione di query in Azure OpenAI con l'API del piano di controllo

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))

Autorizzare l'accesso alle identità gestite

OpenAI supporta l'autenticazione Microsoft Entra con identità gestite per le risorse di Azure. Le identità gestite per le risorse di Azure possono autorizzare l'accesso alle risorse OpenAI Azure usando le credenziali Microsoft Entra dalle applicazioni in esecuzione in macchine virtuali Azure, app per le funzioni, set di scalabilità di macchine virtuali e altri servizi. Usando le identità gestite per Azure risorse insieme all'autenticazione Microsoft Entra, è possibile evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.

Abilitare le identità gestite su una macchina virtuale

Prima di poter usare le identità gestite per Azure risorse per autorizzare l'accesso alle risorse OpenAI Azure dalla macchina virtuale, è necessario abilitare le identità gestite per le risorse Azure nella macchina virtuale. Per informazioni su come abilitare le identità gestite per le risorse Azure, vedere:

Per altre informazioni sulle identità gestite, vedere Identità gestite per Azure risorse.