如何配置Azure AI Search向量器以TenantId、ClientId、ClientSecret鉴权?
解决Azure AI Search向量器使用服务Principal鉴权的配置问题
问题根源
你尝试使用的authentication嵌套属性并非Azure AI Search向量器配置的合法字段,针对Azure OpenAI资源的服务Principal(TenantId/ClientId/ClientSecret)鉴权,正确的配置字段是aadCredentials。
正确的向量器JSON配置
将原配置中的authentication替换为aadCredentials,并调整字段名称(直接填写租户ID而非完整authority URL):
"vectorizers": [ { "name": "search-service-developer-index-azureOpenAi-text-vectorizer", "kind": "azureOpenAI", "azureOpenAIParameters": { "resourceUri": "https://openai.resource.url", "deploymentId": "text-embedding-ada-002", "aadCredentials": { "tenantId": "your-tenant-id", "clientId": "my-client-id", "clientSecret": "my-client-secret" }, "modelName": "text-embedding-ada-002" } } ],
关键配置说明
aadCredentials:Azure AI Search官方指定的服务Principal鉴权配置字段,替代你错误使用的authenticationtenantId:直接填入Azure AD租户ID即可,无需拼接完整的登录URL- 你使用的API版本
2024-07-01完全支持该配置,无需调整版本号
额外注意事项
- 确保配置的服务Principal(ClientId对应的身份)已被授予目标Azure OpenAI资源的访问权限,至少需要Cognitive Services OpenAI User角色(需联系管理员完成权限配置)
- 验证ClientSecret未过期,同时确认
resourceUri、deploymentId等参数与实际OpenAI资源完全匹配
内容的提问来源于stack exchange,提问作者daemonium
相关产品推荐
相关产品推荐

