Microsoft Entra ID kimlik doğrulaması ile Azure OpenAI Hizmetini yapılandırma
Daha karmaşık güvenlik senaryoları için Azure rol tabanlı erişim denetimi (Azure RBAC) gerekir. Bu belge, Microsoft Entra Id kullanarak Azure OpenAI kaynağınızda kimlik doğrulaması yapmayı kapsar.
Aşağıdaki bölümlerde, Oturum açmak ve OpenAI kaynağını çağırmak için taşıyıcı belirteci almak için Azure CLI'yi kullanacaksınız. Takılırsanız, her bölümde Azure Cloud Shell/Azure CLI'daki her komut için tüm kullanılabilir seçenekleri içeren bağlantılar sağlanır.
Önkoşullar
Azure aboneliği - Ücretsiz bir abonelik oluşturun
Azure CLI - Yükleme Kılavuzu
Aşağıdaki Python kitaplıkları: işletim sistemi, istekler, json, openai, azure-identity
Rol atama
Anahtar tabanlı kimlik doğrulaması kullanmak yerine Azure OpenAI çıkarım API'si çağrıları yapmak için hesabınızı kullanmanıza olanak sağlamak için kendinize Bilişsel Hizmetler OpenAI Kullanıcısı veya Bilişsel Hizmetler OpenAI Katkıda Bulunanı rolünü atayın. Bu değişikliği yaptıktan sonra, değişikliğin geçerlilik kazanması 5 dakika kadar sürebilir.
Azure CLI'da oturum açma
Azure CLI'da oturum açmak için aşağıdaki komutu çalıştırın ve oturum açmayı tamamlayın. Oturumunuz çok uzun süredir boştaysa bunu yeniden yapmanız gerekebilir.
az login
Sohbet Tamamlamaları
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)
Azure OpenAI'yi denetim düzlemi API'siyle sorgulama
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))
Yönetilen kimliklere erişimi yetkilendirme
OpenAI, Azure kaynakları için yönetilen kimliklerle Microsoft Entra kimlik doğrulamasını destekler. Azure kaynakları için yönetilen kimlikler, Azure sanal makinelerinde (VM' ler), işlev uygulamalarında, sanal makine ölçek kümelerinde ve diğer hizmetlerde çalışan uygulamalardan Microsoft Entra kimlik bilgilerini kullanarak Azure AI hizmetleri kaynaklarına erişim yetkisi verebilir. Azure kaynakları için yönetilen kimlikleri Microsoft Entra kimlik doğrulamasıyla birlikte kullanarak, kimlik bilgilerini bulutta çalışan uygulamalarınızla birlikte depolamaktan kaçınabilirsiniz.
VM'de yönetilen kimlikleri etkinleştirme
Vm'nizden Azure yapay zeka hizmetleri kaynaklarına erişim yetkisi vermek üzere Azure kaynakları için yönetilen kimlikleri kullanabilmeniz için önce VM'de Azure kaynakları için yönetilen kimlikleri etkinleştirmeniz gerekir. Azure Kaynakları için yönetilen kimlikleri etkinleştirmeyi öğrenmek için bkz:
- Azure portalındaki
- Azure PowerShell
- Azure CLI
- Azure Resource Manager şablonu
- Azure Resource Manager istemci kitaplıkları
Yönetilen kimlikler hakkında daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler.