Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Azure fornece autenticação global e controlo de acesso baseado em funções através do Microsoft Entra ID para todos os serviços a correr na plataforma. Neste artigo, saiba quais funções fornecem acesso ao conteúdo de pesquisa e administração no Azure AI Search.
No Azure AI Search, você pode atribuir funções do Azure para:
- Administração de serviços
- Desenvolvimento ou permissão de escrita num serviço de pesquisa
- Acesso somente leitura para consultas
- Acesso restrito a um único índice
O acesso por utilizador sobre resultados de pesquisa (por vezes referido como segurança ao nível de linha ou acesso a nível de documento) é suportado através de herança de permissões para Azure Data Lake Storage (ADLS) Gen2 e índices de blob do Azure, bem como através de filtros de segurança para todas as outras plataformas (ver Controlo de acesso ao nível de documento).
As atribuições de função são cumulativas e generalizadas em todas as ferramentas e bibliotecas de clientes. Pode atribuir funções utilizando qualquer uma das abordagens suportadas descritas na documentação de controlo de acesso baseada em papéis do Azure.
O acesso baseado em função é opcional, mas recomendado. A alternativa é a autenticação baseada em chave, que é o padrão.
Pré-requisitos
Um serviço de pesquisa em qualquer região, em qualquer camada, habilitado para acesso baseado em função.
Proprietário, Administrador de Acesso de Usuário, Administrador de Controle de Acesso baseado em função ou uma função personalizada com permissões Microsoft.Authorization/roleAssignments/write .
Como atribuir funções no portal do Azure
As etapas a seguir funcionam para todas as atribuições de função.
Inicie sessão no portal do Azure.
Navegue até o serviço de pesquisa.
Habilite o acesso baseado em função.
Selecione Controle de acesso (IAM) no painel esquerdo.
Selecione + Adicionar>Adicionar atribuição de função para iniciar o assistente Adicionar atribuição de função.
Selecione uma função. Pode atribuir múltiplos princípios de segurança, sejam utilizadores ou identidades geridas, a um papel numa só passagem através do assistente. No entanto, tens de repetir estes passos para cada função que definires.
Na guia Membros, selecione a identidade do usuário ou grupo do Microsoft Entra. Se você estiver configurando permissões para outro serviço do Azure, selecione uma identidade gerenciada pelo sistema ou pelo usuário.
Na aba Rever + atribuir, selecione Rever + atribuir para atribuir a função.
Funções incorporadas utilizadas na pesquisa
Os perfis são um conjunto de permissões em operações específicas que afetam as camadas do plano de dados ou do plano de gestão.
O Plano de Dados refere-se a operações contra o endpoint do serviço de pesquisa, como indexação ou consultas, ou qualquer outra operação especificada nas APIs REST do Serviço de Pesquisa ou nas bibliotecas de clientes equivalentes do SDK do Azure.
O plano de controle refere-se ao gerenciamento de recursos do Azure, como a criação ou configuração de um serviço de pesquisa.
As funções a seguir são incorporadas. Se estas funções não correspondem às suas necessidades, crie uma função personalizada.
| Funções | Avião | Descrição |
|---|---|---|
| Proprietário | Controlo & Dados | Acesso total ao plano de controle do recurso de pesquisa, incluindo a capacidade de atribuir funções do Azure. Somente a função Proprietário pode habilitar ou desabilitar opções de autenticação ou gerenciar funções para outros usuários. Os administradores de subscrição são membros por predefinição.
No plano de dados, essa função tem o mesmo acesso que a função de Colaborador do Serviço de Pesquisa. Inclui acesso a todas as ações do plano de dados, exceto a capacidade de consultar documentos. |
| Contribuinte | Controlo & Dados | Mesmo nível de acesso ao plano de controle que o proprietário, menos a capacidade de atribuir funções ou alterar opções de autenticação.
No plano de dados, essa função tem o mesmo acesso que a função de Colaborador do Serviço de Pesquisa. Inclui acesso a todas as ações do plano de dados, exceto a capacidade de consultar ou indexar documentos. |
| Leitor | Controlo & Dados | Acesso de leitura em todo o serviço, incluindo métricas de pesquisa, métricas de conteúdo (armazenamento consumido, número de objetos) e as definições de objetos dos recursos do plano de dados (indexações, indexadores e assim por diante). No entanto, ele não pode ler chaves de API ou ler conteúdo dentro de índices. |
| Colaborador do Serviço de Pesquisa | Controlo & Dados | Acesso de leitura-gravação a definições de objeto (índices, aliases, mapas de sinônimos, indexadores, fontes de dados e conjuntos de habilidades). Essa função é para desenvolvedores que criam objetos e para administradores que gerenciam um serviço de pesquisa e seus objetos, mas sem acesso ao conteúdo de índice. Use essa função para criar, excluir e listar índices, obter definições de índice, obter informações de serviço (estatísticas e cotas), testar analisadores, criar e gerenciar mapas de sinônimos, indexadores, fontes de dados e conjuntos de habilidades. Consulte Microsoft.Search/searchServices/* para a lista de permissões. |
| Contribuidor de dados do índice de pesquisa | Dados | Acesso de leitura-gravação ao conteúdo em índices. Essa função é para desenvolvedores ou proprietários de índice que precisam importar, atualizar ou consultar a coleção de documentos de um índice. Esta função não suporta a criação de índices, atualizações ou eliminação. Por defeito, esta função aplica-se a todos os índices num serviço de pesquisa. Consulte Conceder acesso a um único índice para restringir o escopo. |
| Leitor de dados de índice de pesquisa | Dados | Acesso somente leitura para consultar índices de pesquisa. Essa função é para aplicativos e usuários que executam consultas. Esta função não suporta acesso de leitura a definições de objeto. Por exemplo, não é possível ler uma definição de índice de pesquisa ou obter estatísticas do serviço de pesquisa. Por padrão, essa função é para todos os índices em um serviço de pesquisa. Consulte Conceder acesso a um único índice para restringir o escopo. |
Combine essas funções para obter permissões suficientes para seu caso de uso.
Nota
Se você desabilitar o acesso baseado em função do Azure, as funções internas para o plano de controle (Proprietário, Colaborador, Leitor) continuarão disponíveis. A desativação do acesso baseado em função remove apenas as permissões relacionadas a dados associadas a essas funções. Se desativar os papéis do plano de dados, o Contribuidor do Serviço de Pesquisa é equivalente ao Contribuidor do plano de controlo.
Resumo
| Permissões | Leitor de dados de índice de pesquisa | Contribuidor de dados do índice de pesquisa | Colaborador do Serviço de Pesquisa | Proprietário/Colaborador | Leitor |
|---|---|---|---|---|---|
| Exibir o recurso no portal do Azure | ❌ | ❌ | ✅ | ✅ | ✅ |
| Ver propriedades de recursos, métricas e endpoint | ❌ | ❌ | ✅ | ✅ | ✅ |
| Listar todos os objetos no recurso | ❌ | ❌ | ✅ | ✅ | ✅ |
| Aceder a quotas e estatísticas de serviços | ❌ | ❌ | ✅ | ✅ | ❌ |
| Leia e consulte um índice | ✅ | ✅ | ❌ | ❌ | ❌ |
| Carregar dados para indexação 1 | ❌ | ✅ | ❌ | ❌ | ❌ |
| Leitura elevada independentemente dos filtros de permissões 2 | ❌ | ✅ | ❌ | ❌ | ❌ |
| Criar ou editar índices e pseudónimos | ❌ | ❌ | ✅ | ✅ | ❌ |
| Criar, editar e executar indexadores, fontes de dados e conjuntos de competências | ❌ | ❌ | ✅ | ✅ | ❌ |
| Criar ou editar mapas de sinónimos | ❌ | ❌ | ✅ | ✅ | ❌ |
| Criar ou editar sessões de depuração | ❌ | ❌ | ✅ | ✅ | ❌ |
| Criar ou gerenciar implantações | ❌ | ❌ | ✅ | ✅ | ❌ |
| Criar ou configurar recursos do Azure AI Search | ❌ | ❌ | ✅ | ✅ | ❌ |
| Visualizar, copiar e regenerar chaves em Chaves | ❌ | ❌ | ✅ | ✅ | ❌ |
| Ver funções, políticas e definições | ❌ | ❌ | ✅ | ✅ | ❌ |
| Definir opções de autenticação | ❌ | ❌ | ✅ | ✅ | ❌ |
| Configurar conexões privadas | ❌ | ❌ | ✅ | ✅ | ❌ |
| Configurar a segurança de rede | ❌ | ❌ | ✅ | ✅ | ❌ |
1 No portal do Azure, um Proprietário ou Colaborador pode executar os assistentes de Importação de dados que criam e carregam índices, mesmo que não possam carregar documentos em outros clientes. O serviço de pesquisa em si, e não os utilizadores individuais, faz ligações de dados no assistente. Os magos têm a Microsoft.Search/searchServices/indexes/documents/* permissão necessária para concluir esta tarefa.
2 Usar leitura privilegiada para depurar consultas que obtenham resultados usando a identidade do chamador. Para mais informações, consulte Investigar resultados incorretos da consulta.
Proprietários e Colaboradores concedem as mesmas permissões, exceto que apenas Proprietários podem atribuir funções.
Atribuir funções
Nesta seção, atribua funções para:
- Administração de serviços
- Desenvolvimento ou acesso de escrita a um serviço de pesquisa
- Acesso de leitura apenas para consultas
Atribuir funções para administração de serviços
Como administrador de serviço, você pode criar e configurar um serviço de pesquisa e executar todas as operações do plano de controle descritas na API REST de gerenciamento ou bibliotecas de cliente equivalentes. Se for um Proprietário ou Colaborador, também poderá executar a maioria das tarefas da API do plano de dados REST de Pesquisa no Portal do Azure.
| Funções | ID |
|---|---|
Owner |
8E3AF657-A8FF-443C-A75C-2FE8C4BCB635 |
Contributor |
B24988AC-6180-42A0-AB88-20F7382DD24C |
Reader |
acdd72a7-3385-48ef-bd42-f606fba81ae7 |
Inicie sessão no portal do Azure.
Atribua estas funções:
- Proprietário (acesso total a todas as operações do plano de dados e do plano de controle, exceto permissões de consulta)
- Colaborador (o mesmo que Proprietário, exceto para permissões para atribuir funções)
- Leitor (aceitável para monitoramento e visualização de métricas)
Atribuir funções para desenvolvimento
As atribuições de funções aplicam-se globalmente em todo o serviço de pesquisa. Para definir o escopo de permissões para um único índice, use o PowerShell ou a CLI do Azure para criar uma função personalizada.
| Tarefa | Funções | ID |
|---|---|---|
| Criar ou gerenciar objetos | Search Service Contributor |
7ca78c08-252a-4471-8644-bb5ff32d4ba0 |
| Carregar documentos, executar trabalhos de indexação | Search Index Data Contributor |
8EBE5A00-799E-43F5-93AC-243D3DCE84A7 |
| Consultar um índice | Search Index Data Reader |
1407120a-92aa-4202-b7e9-c0e197c71c8f |
Outra combinação de funções que fornece acesso total é Colaborador ou Proprietário, além de Leitor de Dados de Índice de Pesquisa.
Importante
Se você configurar o acesso baseado em função para um serviço ou índice e também fornecer uma chave de API na solicitação, o serviço de pesquisa usará a chave de API para autenticar.
Inicie sessão no portal do Azure.
Atribua estas funções:
- Search Service Contributor (criar, ler, atualizar e eliminar índices, indexadores, conjuntos de competências e outros objetos de nível superior)
- Search Index Data Contributor (carregar documentos e executar trabalhos de indexação)
- Leitor de dados de índice de pesquisa (consultar um índice)
Atribuir funções para consultas somente leitura
Use o papel de Leitor de Dados de Índice de Pesquisa para aplicações e processos que só precisam de acesso de leitura a um índice.
| Funções | ID |
|---|---|
Search Index Data Reader
com o PowerShell |
1407120a-92aa-4202-b7e9-c0e197c71c8f |
Esta função é muito específica. Ele concede acesso GET ou POST à coleção de documentos de um índice de pesquisa para pesquisa, preenchimento automático e sugestões. Ele não suporta operações GET ou LIST em um índice ou outros objetos de nível superior, ou estatísticas de serviço GET.
Esta secção fornece passos básicos para configurar a atribuição de funções e está aqui para completude, mas para instruções abrangentes sobre como configurar a sua aplicação para acesso baseado em funções, consulte Usar Azure AI Search sem chaves.
Nota
Como programador, se precisares de depurar consultas baseadas numa identidade Microsoft, usa o Search Index Data Contributor ou cria um papel personalizado que te dê permissões elevadas para fins de depuração.
Inicie sessão no portal do Azure.
Atribua a função de Leitor de Dados do Índice de Pesquisa.
Teste de atribuições de função
Use um cliente para testar atribuições de função. Lembrem-se que as funções são cumulativas. Não podes eliminar ou negar funções herdadas que abrangem o nível de subscrição ou grupo de recursos ao nível do recurso (serviço de pesquisa).
Configure seu aplicativo para conexões sem chave e tenha atribuições de função antes do teste.
Inicie sessão no portal do Azure.
Navegue até o serviço de pesquisa.
Na página Visão geral, selecione a guia Índices :
Os Colaboradores do Serviço de Pesquisa podem exibir e criar qualquer objeto, mas não podem carregar documentos ou consultar um índice. Para verificar as permissões, crie um índice de pesquisa.
Os contribuidores de dados do índice de pesquisa podem carregar documentos. Não há nenhuma opção de carregamento de documentos no portal do Azure fora do assistente Importar dados, mas você pode redefinir e executar um indexador para confirmar as permissões de carregamento de documentos.
Os leitores de dados do índice de pesquisa podem consultar o índice. Para verificar as permissões, use o Gerenciador de pesquisa. Você deve ser capaz de enviar consultas e exibir resultados, mas não deve ser capaz de visualizar a definição de índice ou criar uma.
Testar como usuário atual
Se já é Contribuidor ou Proprietário do seu serviço de pesquisa, pode usar um token portador para a identidade do seu utilizador para autenticar no Azure AI Search.
Obtenha um token portador para o utilizador atual usando a CLI do Azure:
az account get-access-token --scope https://search.azure.com/.defaultOu utilize o PowerShell:
Get-AzAccessToken -ResourceUrl https://search.azure.comCole essas variáveis em um novo arquivo de texto no Visual Studio Code.
@baseUrl = PASTE-YOUR-SEARCH-SERVICE-URL-HERE @index-name = PASTE-YOUR-INDEX-NAME-HERE @token = PASTE-YOUR-TOKEN-HERECole e envie uma solicitação para confirmar o acesso. Aqui está um que consulta o índice de hotéis-quickstart.
POST https://{{baseUrl}}/indexes/{{index-name}}/docs/search?api-version=2025-09-01 HTTP/1.1 Content-type: application/json Authorization: Bearer {{token}} { "queryType": "simple", "search": "motel", "filter": "", "select": "HotelName,Description,Category,Tags", "count": true }
Conceder acesso a um único índice
Em alguns cenários, talvez você queira limitar o acesso de um aplicativo a um único recurso, como um índice.
O portal Azure não suporta atualmente atribuições de funções a este nível de detalhe, mas pode atribuir funções usando o PowerShell ou a CLI do Azure.
No PowerShell, use New-AzRoleAssignment, fornecendo o nome de usuário ou grupo do Azure e o escopo da atribuição.
Carregue os módulos
AzureeAzureADe conecte-se à sua conta do Azure.Import-Module -Name Az Import-Module -Name AzureAD Connect-AzAccountAdicione uma atribuição de função com escopo a um índice individual:
New-AzRoleAssignment -ObjectId <objectId> ` -RoleDefinitionName "Search Index Data Contributor" ` -Scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Search/searchServices/<search-service>/indexes/<index-name>"
Criar uma função personalizada
Se as funções internas não fornecerem a combinação correta de permissões, você poderá criar uma função personalizada para dar suporte às operações necessárias.
Este exemplo clona o Search Index Data Reader e, em seguida, adiciona a capacidade de listar índices por nome. Normalmente, a listagem dos índices num serviço de pesquisa é considerada um direito administrativo.
Essas etapas são derivadas de Criar ou atualizar funções personalizadas do Azure usando o portal do Azure. Uma página de serviço de pesquisa suporta clonagem a partir de uma função existente.
Estas etapas criam uma função personalizada que aumenta os direitos de consulta de pesquisa para incluir índices de listagem por nome. Normalmente, listar índices é considerado uma função de administração.
No portal Azure, aceda ao seu serviço de pesquisa.
No painel de navegação esquerdo, selecione Controle de acesso (IAM).
Na barra de ações, selecione Funções.
Clique com o botão direito do rato em Leitor de Dados de Índice de Pesquisa (ou outra função) e selecione Clonar para abrir o assistente de criação de uma função personalizada.
Na guia Noções básicas, forneça um nome para a função personalizada, como "Search Index Data Explorer" e selecione Avançar.
Na guia Permissões, selecione Adicionar permissão.
Na guia Adicionar permissões, procure e selecione o tile Microsoft Search.
Defina as permissões para sua função personalizada. No topo da página, use a seleção padrão de Ações :
- Em Microsoft.Search/operations, selecione Ler : Listar todas as operações disponíveis.
- Em Microsoft.Search/searchServices/indexes, selecione Ler : Ler Índice.
Na mesma página, alterne para Ações de dados e, em Microsoft.Search/searchServices/indexes/documents, selecione Ler: Ler documentos.
A definição JSON se parece com o exemplo a seguir:
{ "properties": { "roleName": "search index data explorer", "description": "", "assignableScopes": [ "/subscriptions/0000000000000000000000000000000/resourceGroups/free-search-svc/providers/Microsoft.Search/searchServices/demo-search-svc" ], "permissions": [ { "actions": [ "Microsoft.Search/operations/read", "Microsoft.Search/searchServices/indexes/read" ], "notActions": [], "dataActions": [ "Microsoft.Search/searchServices/indexes/documents/read" ], "notDataActions": [] } ] } }Selecione Revisão e criação para criar o papel. Agora você pode atribuir usuários e grupos à função.
Acesso Condicional
Se precisar de aplicar políticas organizacionais, como autenticação multifator, utilize o Microsoft Entra Conditional Access.
Para habilitar uma política de Acesso Condicional para o Azure AI Search, siga estas etapas:
Pesquisar por Acesso Condicional do Microsoft Entra.
Selecione Políticas.
Selecione Nova política.
Na seção Aplicativos ou ações na nuvem da política, adicione o Azure AI Search como um aplicativo na nuvem, dependendo de como você deseja configurar sua política.
Atualize os parâmetros restantes da política. Por exemplo, especifique a quais usuários e grupos essa política se aplica.
Guardar a política.
Importante
Se o seu serviço de pesquisa tiver uma identidade gerida atribuída, o serviço de pesquisa específico aparece como uma aplicação na cloud que pode incluir ou excluir como parte da política de Acesso Condicional. Não podes aplicar políticas de Acesso Condicional a um serviço de pesquisa específico. Em vez disso, certifique-se de selecionar a aplicação geral Azure AI Search cloud.
Solução de problemas de controle de acesso baseado em função
Quando desenvolve aplicações que utilizam controlo de acesso baseado em funções para autenticação, pode encontrar alguns problemas comuns:
Se o token de autorização provém de uma identidade gerida e recentemente atribuiu as permissões apropriadas, pode demorar várias horas até que essas atribuições de permissões entrem em vigor.
A configuração padrão para um serviço de pesquisa é a autenticação baseada em chave. Se não mudar a definição padrão da chave para Both ou controlo de acesso baseado em funções, então todos os pedidos usando autenticação baseada em funções são automaticamente negados, independentemente das permissões subjacentes.