Konfigurace služby Azure OpenAI s ověřováním Microsoft Entra ID
Složitější scénáře zabezpečení vyžadují řízení přístupu na základě role v Azure (Azure RBAC). Tento dokument popisuje, jak ověřit prostředek Azure OpenAI pomocí ID Microsoft Entra.
V následujících částech se pomocí Azure CLI přihlásíte a získáte nosný token pro volání prostředku OpenAI. Pokud se zaseknete, v každé části se zobrazí odkazy se všemi dostupnými možnostmi pro každý příkaz v Azure Cloud Shellu nebo Azure CLI.
Požadavky
Předplatné Azure – Vytvoření předplatného zdarma
K povolení funkcí, jako je ID Microsoft Entra pro ověřování, se vyžadují vlastní názvy subdomén.
Azure CLI – Průvodce instalací
Následující knihovny Pythonu: os, requests, json, openai, azure-identity
Přiřazení role
Přiřaďte si roli Přispěvatel OpenAI služeb Cognitive Services OpenAI nebo Přispěvatel OpenAI služeb Cognitive Services, která vám umožní používat váš účet k volání rozhraní API pro odvozování Azure OpenAI, a nemusíte používat ověřování založené na klíči. Po provedení této změny může trvat až 5 minut, než se změna projeví.
Přihlášení k Azure CLI
Pokud se chcete přihlásit k Azure CLI, spusťte následující příkaz a dokončete přihlášení. Pokud byla relace nečinná příliš dlouho, budete to možná muset udělat znovu.
az login
Dokončení chatu
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)
Dotazování Azure OpenAI pomocí rozhraní API řídicí roviny
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))
Autorizace přístupu ke spravovaným identitám
OpenAI podporuje ověřování Microsoft Entra se spravovanými identitami pro prostředky Azure. Spravované identity pro prostředky Azure můžou autorizovat přístup k prostředkům služeb Azure AI pomocí přihlašovacích údajů Microsoft Entra z aplikací spuštěných ve virtuálních počítačích Azure, aplikací funkcí, škálovacích sad virtuálních počítačů a dalších služeb. Pomocí spravovaných identit pro prostředky Azure společně s ověřováním Microsoft Entra se můžete vyhnout ukládání přihlašovacích údajů s aplikacemi, které běží v cloudu.
Povolení spravovaných identit na virtuálním počítači
Abyste mohli používat spravované identity pro prostředky Azure k autorizaci přístupu k prostředkům služeb Azure AI z virtuálního počítače, musíte na virtuálním počítači povolit spravované identity pro prostředky Azure. Informace o povolení spravovaných identit pro prostředky Azure najdete tady:
- Azure Portal
- Azure PowerShell
- Azure CLI
- Šablona Azure Resource Manageru
- Klientské knihovny Azure Resource Manageru
Další informace o spravovaných identitách najdete v tématu Spravované identity pro prostředky Azure.