Configuración de Azure OpenAI Service con identidades administradas
Los escenarios de seguridad más complejos requieren el control de acceso basado en rol de Azure (Azure RBAC). En este documento se explica cómo autenticarse en el recurso OpenAI mediante Microsoft Entra ID.
En las secciones siguientes, usará la CLI de Azure para asignar iniciar sesión y obtener un token de portador para llamar al recurso OpenAI. Si se bloquea, se proporcionan vínculos en cada sección con todas las opciones disponibles para cada comando de Azure Cloud Shell o la CLI de Azure.
Requisitos previos
Una suscripción a Azure: cree una cuenta gratuita.
Acceso concedido al Azure OpenAI Service en la suscripción de Azure deseada
Actualmente, solo la aplicación concede acceso a este servicio. Puede solicitar acceso a Azure OpenAI completando el formulario Solicitud de acceso a Azure OpenAI Service. Si tiene algún problema, abra una incidencia en este repositorio para ponerse en contacto con nosotros.
CLI de Azure: Guía de instalación
Las siguientes bibliotecas de Python: os, requests, json, openai, azure-identity
Asignación de un rol
Asígnese el rol de Usuario de OpenAI de Cognitive Services o Colaborador de OpenAI de Cognitive Services para permitirle usar su cuenta para realizar llamadas a la API de inferencia de Azure OpenAI en lugar de tener que usar la autenticación basada en claves. Después de realizar este cambio, puede tardar hasta 5 minutos antes de que el cambio surta efecto.
Inicio de sesión en la CLI de Azure
Para iniciar sesión en la CLI de Azure, ejecute el siguiente comando y complete el inicio de sesión. Es posible que tenga que volver a hacerlo si la sesión ha estado inactiva durante demasiado tiempo.
az login
Finalizaciones de chat
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)
Consulta de Azure OpenAI con la API del plano de control
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))
Autorización para obtener acceso a identidades administradas
OpenAI admite la autenticación de Microsoft Entra con identidades administradas para los recursos de Azure. Las identidades administradas para recursos de Azure pueden autorizar el acceso a los recursos de servicios de Azure AI con credenciales de Microsoft Entra desde aplicaciones que se ejecutan en máquinas virtuales (VM) de Azure, aplicaciones de función, conjuntos de escalado de máquinas virtuales y otros servicios. Si usa identidades administradas para recursos de Azure junto con autenticación de Microsoft Entra, puede evitar el almacenamiento de credenciales con las aplicaciones que se ejecutan en la nube.
Habilitación de identidades administradas en una máquina virtual
Para poder usar identidades administradas para recursos de Azure a fin de autorizar el acceso los recursos de servicios de Azure AI desde la VM, primero debe habilitar las identidades administradas para los recursos de Azure en la VM. Para aprender a habilitar las identidades administradas para los recursos de Azure, consulte:
- Azure Portal
- Azure PowerShell
- CLI de Azure
- Plantilla de Azure Resource Manager
- Bibliotecas cliente de Azure Resource Manager
Para más información sobre las identidades administradas, consulte Identidades administradas para recursos de Azure.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de