为Search服务添加Shared Private Access时Provisioned state失败如何解决
排查Azure认知搜索共享私有访问连接VNET后CosmosDB失败问题
1. 基础权限与配置预校验
- 确认操作账号对搜索服务、CosmosDB资源都有所有者或网络贡献者角色权限,权限不足会静默触发预配失败
- 确认CosmosDB的公共网络访问已设置为
禁用,且没有配置允许的IP段覆盖私有端点规则 - 确认搜索服务的系统托管标识已开启,且已授予CosmosDB的
Cosmos DB内置数据参与者权限,部分场景下权限缺失会导致私有连接预配校验不通过
2. 共享私有访问配置参数校验
- 添加共享私有访问时,资源类型必须选择
Microsoft.AzureCosmosDB/databaseAccounts,不要选错为其他Cosmos相关子资源类型 - 子资源字段必须和你CosmosDB的API类型匹配:SQL API填
Sql,MongoDB API填MongoDB,Cassandra API填Cassandra,Gremlin API填Gremlin,表API填Table,参数不匹配会直接预配失败 - 确认填写的CosmosDB资源ID完全正确,可从CosmosDB的「属性」页面直接复制完整资源ID,避免手动输入错误
3. 冲突场景排查
- 确认搜索服务所在区域和CosmosDB私有端点所在区域一致,跨区域共享私有连接预配会失败
- 确认当前搜索服务没有已存在的、指向同一CosmosDB的未删除共享私有访问记录,哪怕是之前失败的记录也要先删除再重新创建
- 确认CosmosDB的私有端点DNS解析配置正常,没有自定义DNS覆盖了Azure私有DNS区域的默认解析规则
4. 重试操作步骤
- 先删除搜索服务中所有指向目标CosmosDB的失败共享私有访问记录
- 等待15分钟让配置缓存同步完成
- 按照上述校验后的参数重新创建共享私有访问
- 创建完成后到CosmosDB的「专用端点连接」页面,手动同意搜索服务的私有连接请求,等待状态更新为
已批准后再配置索引器
内容的提问来源于stack exchange,提问作者Ryan Sangha
相关产品推荐
相关产品推荐

