Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Note
O Pesquisa de IA do Azure está disponível através do portal Azure, APIs REST e SDKs do Azure. Também sustenta o Foundry IQ, a camada de conhecimento gerida que transforma conteúdos empresariais em bases de conhecimento reutilizáveis e conscientes de permissões para agentes no portal Microsoft Foundry.
Este artigo descreve como configurar a ligação do indexador do Pesquisa de IA do Azure para SQL Managed Instance usando uma identidade gerida em vez de fornecer credenciais na cadeia de conexão.
Pode usar uma identidade gerida atribuída pelo sistema ou uma identidade gerida atribuída pelo utilizador. As identidades geridas são logins Microsoft Entra e requerem atribuições de funções no Azure para aceder a dados no SQL Managed Instance.
Antes de aprender mais sobre esta funcionalidade, deve compreender o que é um indexador e como configurar um indexador para a sua fonte de dados. Para mais informações, consulte Indexadores no Pesquisa de IA do Azure e indexar dados a partir do Base de Dados SQL do Azure.
Pré-requisitos
Crie uma identidade gerida para o seu serviço de pesquisa.
Papel de administrador Microsoft Entra na SQL Managed Instance:
Para atribuir permissões de leitura numa Instância Gerida do SQL, deve ser um Administrador Global do Azure com uma Instância Gerida do SQL. Consulte Configure e gere a autenticação Microsoft Entra com SQL Managed Instance e siga os passos para provisionar um administrador de Microsoft Entra (SQL Managed Instance).
Configure um endpoint público e um grupo de segurança de rede em SQL Managed Instance para permitir ligações a partir de Pesquisa de IA do Azure. A ligação através de uma ligação privada partilhada quando se utiliza uma identidade gerida não é atualmente suportada.
Atribuir permissões para ler a base de dados
Siga estes passos para atribuir ao sistema de pesquisa permissão de identidade gerida para ler a base de dados SQL Managed Database.
Ligue-se à sua SQL Managed Instance através do SQL Server Management Studio (SSMS) utilizando um dos seguintes métodos:
Autentique usando a sua conta Microsoft Entra.
No painel esquerdo, localiza a base de dados SQL que estás a usar como fonte de dados para indexação e clica com o botão direito. Selecione Nova Consulta.
Na janela T-SQL, copie os seguintes comandos e inclua os colchetes em torno do nome do seu serviço de pesquisa. Selecione Executar.
CREATE USER [insert your search service name here or user-assigned managed identity name] FROM EXTERNAL PROVIDER; EXEC sp_addrolemember 'db_datareader', [insert your search service name here or user-assigned managed identity name];
Se mais tarde alterar a identidade do sistema de serviço de pesquisa após atribuir permissões, deve remover a pertença à função e remover o utilizador na base de dados SQL, depois repita a atribuição de permissões. Para remover a associação ao papel e o utilizador, execute os seguintes comandos:
sp_droprolemember 'db_datareader', [insert your search service name or user-assigned managed identity name];
DROP USER IF EXISTS [insert your search service name or user-assigned managed identity name];
Adicionar uma atribuição de funções
Neste passo, dá permissão ao seu serviço Pesquisa de IA do Azure para ler dados da sua SQL Managed Instance.
No portal do Azure, aceda à sua página SQL Managed Instance.
Selecionar controlo de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função.
Selecione o papel de Leitor .
Deixe Atribuir acesso a como utilizador, grupo ou entidade de serviço Microsoft Entra.
Se estiveres a usar uma identidade gerida atribuída pelo sistema, procura o teu serviço de pesquisa e seleciona-o. Se estiver a usar uma identidade gerida atribuída pelo utilizador, procure o nome da identidade gerida atribuída pelo utilizador e selecione-a. Selecione Guardar.
Aqui está um exemplo para SQL Managed Instance usando uma identidade gerida atribuída pelo sistema:
Criar a fonte de dados
Crie a fonte de dados e forneça uma identidade gerida atribuída ao sistema.
Identidade gerida atribuída pelo sistema
A API REST, o portal Azure e o SDK .NET suportam identidade gerida atribuída ao sistema.
Quando se liga usando uma identidade gerida atribuída pelo sistema, a única alteração na definição da fonte de dados é o formato da propriedade "credenciais". Você fornece um nome de Catálogo Inicial ou Base de Dados e um ResourceId que não tem chave de conta nem palavra-passe. O ResourceId deve incluir o ID de subscrição de SQL Managed Instance, o grupo de recursos de SQL Managed instance e o nome da base de dados SQL.
Aqui está um exemplo de como criar uma fonte de dados para indexar dados de um SQL Managed Instance usando a API REST Create Data Source e uma cadeia de ligação de identidade gerida. O formato da string de conexão de identidade gerida é o mesmo para a API REST, o SDK .NET e o portal do Azure.
POST https://[service name].search.windows.net/datasources?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "sql-mi-datasource",
"type" : "azuresql",
"credentials" : {
"connectionString" : "Database=[SQL database name];ResourceId=/subscriptions/[subscription ID]/resourcegroups/[resource group name]/providers/Microsoft.Sql/managedInstances/[SQL Managed Instance name];Connection Timeout=100;"
},
"container" : {
"name" : "my-table"
}
}
Crie o índice
O índice especifica os campos num documento, atributos e outros construtos que moldam a experiência de pesquisa.
Aqui está uma chamada de API REST para Criar Índice com um campo pesquisávelbooktitle:
POST https://[service name].search.windows.net/indexes?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-target-index",
"fields": [
{ "name": "id", "type": "Edm.String", "key": true, "searchable": false },
{ "name": "booktitle", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false }
]
}
Criar o indexador
Um indexador liga uma fonte de dados a um índice de pesquisa alvo e fornece um calendário para automatizar a atualização dos dados. Depois de criar o índice e a fonte de dados, crie o indexador.
Aqui está uma chamada à API REST Create Indexer com uma definição de indexador SQL do Azure. O indexador executa quando você submete o pedido.
POST https://[service name].search.windows.net/indexers?api-version=2026-04-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "sql-mi-indexer",
"dataSourceName" : "sql-mi-datasource",
"targetIndexName" : "my-target-index"
}
Resolução de problemas
Se aparecer um erro quando o indexador tenta ligar-se à fonte de dados que diz que o cliente não pode aceder ao servidor, veja os erros comuns do indexador.
Também pode descartar problemas no firewall tentando a ligação com e sem restrições.