Azure OpenAI-service configureren met Microsoft Entra ID-verificatie
Complexere beveiligingsscenario's vereisen op rollen gebaseerd toegangsbeheer van Azure (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.
Vereisten
Een Azure-abonnement - Een gratis abonnement maken
Azure CLI - Installatiehandleiding
De volgende Python-bibliotheken: besturingssysteem, aanvragen, json, openai, azure-identity
Rol toewijzen
Wijs uzelf de rol OpenAI-gebruiker van Cognitive Services of Cognitive Services OpenAI-inzender toe, zodat u uw account kunt gebruiken om API-aanroepen voor Azure OpenAI-deductie te maken 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.
Aanmelden 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 dit opnieuw doen als uw sessie te lang inactief is geweest.
az login
Chatvoltooiingen
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
from openai import AzureOpenAI
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint="https://{your-custom-endpoint}.openai.azure.com/",
azure_ad_token_provider=token_provider
)
response = client.chat.completions.create(
model="gpt-35-turbo-0125", # 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 AI 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))
Toegang tot beheerde identiteiten autoriseren
OpenAI ondersteunt Microsoft Entra-verificatie met beheerde identiteiten voor Azure-resources. Beheerde identiteiten voor Azure-resources kunnen toegang verlenen tot Azure AI-servicesbronnen met behulp van Microsoft Entra-referenties van toepassingen die worden uitgevoerd in virtuele Azure-machines (VM's), functie-apps, virtuele-machineschaalsets en andere services. Door beheerde identiteiten te gebruiken voor Azure-resources samen met Microsoft Entra-verificatie, kunt u voorkomen dat referenties worden opgeslagen met 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 AI-services-resources vanaf uw VM, moet u beheerde identiteiten inschakelen voor Azure-resources op de VM. Zie voor meer informatie over het inschakelen van beheerde identiteiten voor Azure-resources:
- Azure-portal
- Azure PowerShell
- Azure-CLI
- Azure Resource Manager-sjabloon
- Azure Resource Manager-clientbibliotheken
Zie Beheerde identiteiten voor Azure-resources voor meer informatie over beheerde identiteiten.