Chinese, Simplified
category
更复杂的安全场景需要Azure基于角色的访问控制(Azure RBAC)。本文档介绍如何使用Microsoft Entra ID对您的OpenAI资源进行身份验证。
在以下部分中,您将使用Azure CLI进行登录,并获得一个承载令牌来调用OpenAI资源。如果您陷入困境,每个部分都会提供链接,其中包含Azure Cloud Shell/Azure CLI中每个命令的所有可用选项。
先决条件
- Azure订阅-免费创建一个
- 在所需的Azure订阅中授予对Azure OpenAI服务的访问权限
- 目前,仅由应用程序授予对此服务的访问权限。您可以通过填写“请求访问Azure OpenAI服务”表格来申请访问Azure Open人工智能。如果您有问题,请打开此回购的问题与我们联系。
- 需要自定义子域名称才能启用Microsoft Entra ID等功能进行身份验证。
- Azure CLI-安装指南
- 以下Python库:os, requests, json, openai, azure-identity
分配角色
为自己分配认知服务OpenAI用户或认知服务Open人工智能参与者角色,允许您使用帐户进行Azure OpenAI推理API调用,而不必使用基于密钥的身份验证。进行此更改后,可能需要长达5分钟的时间才能使更改生效。
登录Azure CLI
若要登录Azure CLI,请运行以下命令并完成登录。如果会话空闲时间过长,则可能需要再次登录。
Azure CLI
az login
聊天完成情况
Python
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)
使用控制平面API查询Azure OpenAI
Python
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))
授权访问托管身份
OpenAI支持Microsoft Entra身份验证和Azure资源的托管身份。Azure资源的托管身份可以使用Microsoft Entra凭据从运行在Azure虚拟机(VM)、功能应用程序【function apps】、虚拟机规模集和其他服务中的应用程序授权访问Azure AI服务资源。通过将Azure资源的托管身份与Microsoft Entra身份验证一起使用,您可以避免将凭据存储在云中运行的应用程序中。
在虚拟机上启用托管标识
在您可以使用Azure资源的托管标识授权从虚拟机访问Azure AI服务资源之前,您必须在虚拟机上为Azure资源启用托管标识。要了解如何为Azure资源启用托管身份,请参阅:
- Azure portal
- Azure PowerShell
- Azure CLI
- Azure Resource Manager template
- Azure Resource Manager client libraries
有关托管标识的更多信息,请参阅Azure资源的托管标识。
- 登录 发表评论
- 6 次浏览
发布日期
星期二, 七月 2, 2024 - 17:25
最后修改
星期二, 七月 2, 2024 - 17:25
Article
最新内容
- 10 hours ago
- 12 hours ago
- 13 hours ago
- 3 days 3 hours ago
- 3 days 11 hours ago
- 3 days 11 hours ago
- 3 days 12 hours ago
- 3 days 12 hours ago
- 1 week ago
- 1 week ago