Azure OpenAI Hizmetini yönetilen kimliklerle 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 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

Kendinizi Bilişsel Hizmetler Kullanıcı rolüne 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:

Yönetilen kimlikler hakkında daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler.