Compartilhar via


Conectar-se à Pesquisa de IA do Azure usando funções

O Azure fornece autenticação global e controle de acesso baseado em função por meio da ID do Microsoft Entra para todos os serviços em execução na plataforma. Neste artigo, saiba quais funções fornecem acesso ao conteúdo de pesquisa e à administração na Pesquisa de IA do Azure.

Na Pesquisa de IA do Azure, você poderá atribuir funções do Azure em:

O acesso por usuário sobre os resultados da pesquisa (às vezes chamado de segurança em nível de linha ou acesso em nível de documento) é suportado por meio de herança de permissão para índices de blob do Azure Data Lake Storage (ADLS) Gen2 e Azure e por meio de filtros de segurança para todas as outras plataformas (consulte o controle de acesso no nível do documento).

As atribuições de função são cumulativas e disseminadas em todas as ferramentas e bibliotecas de clientes. Você pode atribuir funções usando qualquer uma das abordagens com suporte descritas na documentação de controle de acesso baseada em função 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

Como atribuir funções no portal do Azure

As etapas a seguir funcionam para todas as atribuições de função.

  1. Entre no portal do Azure.

  2. Navegue até seu serviço de pesquisa.

  3. Habilitar o acesso baseado em função.

  4. Selecione Controle de Acesso (IAM) no painel esquerdo.

  5. Selecione + Adicionar>Adicionar atribuição de função para iniciar o assistente Adicionar atribuição de função.

    Captura de tela da página de controle de acesso no portal do Azure.

  6. Selecionar uma função. Você pode atribuir várias entidades de segurança, sejam usuários ou identidades gerenciadas, a uma função de uma só vez através do assistente. No entanto, você precisa repetir essas etapas para cada função definida.

  7. Na guia Membros, selecione a identidade do usuário ou do grupo do Microsoft Entra. Se você estiver configurando permissões para outro serviço do Azure, selecione um sistema ou uma identidade gerenciada pelo usuário.

  8. Na guia Examinar + atribuir, selecione Examinar + atribuir para atribuir a função.

As funções são uma coleção de permissões em operações específicas que afetam o plano de dados ou as camadas do plano de controle.

Plano de dados refere-se a operações no endpoint do serviço de pesquisa, como indexação ou consultas, ou qualquer outra operação especificada nas APIs REST do Search Service ou bibliotecas de cliente equivalentes do Azure SDK.

Painel de controle se refere ao gerenciamento de recursos do Azure, como criar ou configurar um serviço de pesquisa.

As funções a seguir são incorporadas. Se essas funções não atenderem às suas necessidades, crie uma função personalizada.

Função Avião Descrição
Proprietário Controle e dados Acesso completo ao painel 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 de outros usuários. Os administradores de assinatura são membros por padrão.

No plano de dados, essa função tem o mesmo acesso que a função Colaborador do Serviço de Pesquisa. Ele inclui acesso a todas as ações do plano de dados, exceto a capacidade de consultar documentos.
Colaborador Controle e 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 Colaborador do Serviço de Pesquisa. Ela inclui acesso a todas as ações do plano de dados, exceto a capacidade de consultar ou indexar documentos.
Leitor Controle e 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 definições de objetos dos recursos do plano de dados (índices, indexadores e assim por diante). No entanto, ele não pode ler chaves de API ou conteúdo em índices.
Colaborador do Serviço de Pesquisa Controle e dados Acesso de leitura e gravação a definições de objetos (í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 do índice. Use essa função para criar, excluir e listar índices, obter definições de índices, 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. Confira Microsoft.Search/searchServices/* para obter a lista de permissões.
Contribuinte de dados do índice de pesquisa Dados Acesso de leitura e gravação ao conteúdo dos í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. Essa função não dá suporte à criação, às atualizações ou à exclusão do índice. Por padrão, essa função se aplica a todos os índices em um 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 a consulta de índices de pesquisa. Essa tarefa é para aplicativos e usuários que executam consultas. Essa função não dá suporte ao acesso de leitura às definições de objeto. Por exemplo, você não pode ler uma definição de índice de pesquisa nem 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.

Agrupe essas funções para obter permissões suficientes para o seu caso de uso.

Observação

Se você desabilitar o acesso baseado em função do Azure, as funções internas do 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 você desabilitar funções de plano de dados, o Colaborador do Serviço de Pesquisa será equivalente ao Colaborador do plano de controle.

Resumo

Permissões Leitor de dados de índice de pesquisa Colaborador de dados de índice de pesquisa Colaborador do Serviço de Pesquisa Proprietário/Colaborador Leitor
Exibir o recurso no portal do Azure
Exibir propriedades, métricas e ponto de extremidade do recurso
Listar todos os objetos no recurso
Cotas de acesso e estatísticas de serviço
Ler e consultar um índice
Carregar dados para indexação 1
Leitura elevada independentemente dos filtros de permissão 2
Criar ou editar índices e aliases
Criar, editar e executar indexadores, fontes de dados e conjuntos de habilidades
Criar ou editar mapas de sinônimos
Criar ou editar sessões de depuração
Criar ou gerenciar implantações
Criar ou configurar recursos da Pesquisa de IA do Azure
Exibir, copiar e regenerar chaves em Chaves
Exibir 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 usuários individuais, estabelece conexões de dados no assistente. Os magos têm a Microsoft.Search/searchServices/indexes/documents/* permissão necessária para concluir essa tarefa.

2 Use leitura elevada para depurar consultas que obtêm resultados usando a identidade do chamador. Para obter mais informações, consulte Investigar resultados de consulta incorretos.

Proprietários e Colaboradores concedem as mesmas permissões, exceto que somente os Proprietários podem atribuir funções.

Atribuir funções

Nesta seção, atribua funções para:

  • Administração do serviço
  • Desenvolvimento ou acesso de gravação a um serviço Pesquisa
  • Acesso somente leitura para consultas

Atribuir funções para administração de serviço

Como administrador de serviços, é possível criar e configurar um serviço de pesquisa e executar todas as operações de plano de controle descritas na API REST de Gerenciamento ou bibliotecas de clientes equivalentes. Se você for um Proprietário ou Colaborador, também poderá executar a maioria das tarefas da API REST de Pesquisa do plano de dados no portal do Azure.

Função ID
Owner 8e3af657-a8ff-443c-a75c-2fe8c4bcb635
Contributor b24988ac-6180-42a0-ab88-20f7382dd24c
Reader acdd72a7-3385-48ef-bd42-f606fba81ae7
  1. Entre no portal do Azure.

  2. Atribuir essas funções a:

    • Proprietário (acesso total a todas as operações do plano de dados e do plano de controle, exceto para permissões de consulta)
    • Colaborador (igual ao Proprietário, exceto pelas permissões para atribuir funções)
    • Leitor (aceitável para monitorar e exibir métricas)

Atribuir funções para desenvolvimento

As atribuições de função se aplicam globalmente ao 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ção 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 completo é Colaborador ou Proprietário, além do Leitor de Dados do Índice de Pesquisa.

Importante

Caso configure o acesso baseado em função para um serviço ou índice e também forneça uma chave de API na solicitação, o serviço de pesquisa usará a chave de API para autenticar.

  1. Entre no portal do Azure.

  2. Atribuir essas funções a:

    • Colaborador do Serviço de Pesquisa (criar, ler, atualizar e excluir operações em índices, indexadores, conjuntos de habilidades e outros objetos de nível superior)
    • Colaborador de Dados de Índice de Pesquisa (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 a função Leitor de Dados de Índice de Pesquisa para aplicativos e processos que só precisam de acesso de leitura a um índice.

Função ID
Search Index Data Reader Com o PowerShell 1407120a-92aa-4202-b7e9-c0e197c71c8f

Essa função é muito específica. Ele concede acesso ao GET ou POST à coleção de documentos de um índice de pesquisa para pesquisa, preenchimento automático e sugestões. Ele não dá suporte a operações GET ou LIST em um índice ou outros objetos de nível superior ou estatísticas de serviço GET.

Esta seção fornece etapas básicas para configurar a atribuição de função e está aqui para fins de integridade, mas para obter instruções abrangentes sobre como configurar seu aplicativo para acesso baseado em função, consulte Usar o Azure AI Search sem chaves.

Observação

Como desenvolvedor, se você precisar depurar consultas que são baseadas em uma identidade da Microsoft, use o Colaborador de Dados do Índice de Pesquisa ou crie uma função personalizada que lhe dê permissões elevadas para fins de depuração.

  1. Entre no portal do Azure.

  2. Atribuir a função Leitor de Dados de Índice de Pesquisa.

Testar atribuições de função

Use um cliente para testar atribuições de função. Lembre-se de que as funções são cumulativas. Você não pode excluir ou negar funções herdadas que estão delimitadas para o nível de assinatura ou grupo de recursos no nível do recurso (como um serviço de busca).

Configure seu aplicativo para conexões sem chave e tenha atribuições de função em vigor antes do teste.

  1. Entre no portal do Azure.

  2. Navegue até seu serviço de pesquisa.

  3. 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 nem consultar um índice. Para verificar as permissões, crie um índice de pesquisa.

    • Os Colaboradores de Dados de Índice de Pesquisa podem carregar documentos. Não existe nenhuma opção de carregar documentos no portal do Azure fora do assistente de Importação de dados, mas você pode redefinir e executar um indexador para confirmar as permissões de carregamento do documento.

    • Os Leitores de Dados do Índice de Pesquisa podem consultar o índice. Para verificar as permissões, use Gerenciador de Pesquisa. Você poderá enviar consultas e exibir resultados, mas não poderá exibir a definição do índice ou criar uma.

Testar como usuário atual

Se você já for um Colaborador ou Proprietário do serviço de pesquisa, poderá usar um token de portador para sua identidade de usuário para se autenticar no Azure AI Search.

  1. Obtenha um token de portador para o usuário atual usando a CLI do Azure:

    az account get-access-token --scope https://search.azure.com/.default
    

    Ou usar o PowerShell:

    Get-AzAccessToken -ResourceUrl https://search.azure.com
    
  2. Em um novo arquivo de texto no Visual Studio Code, cole as variáveis a seguir.

    @baseUrl = PASTE-YOUR-SEARCH-SERVICE-URL-HERE
    @index-name = PASTE-YOUR-INDEX-NAME-HERE
    @token = PASTE-YOUR-TOKEN-HERE
    
  3. Cole e envie uma solicitação para confirmar o acesso. Veja um que consulta o índice hotels-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 apenas um índice

Em alguns cenários, talvez você queira limitar o acesso de um aplicativo a um único recurso, como um índice.

No momento, o portal do Azure não dá suporte a atribuições de função nesse nível de granularidade, mas você pode atribuir funções usando o PowerShell ou a CLI do Azure.

No PowerShell, use New-AzRoleAssignment, fornecendo o usuário ou nome de grupo do Azure e o escopo da atribuição.

  1. Carregue os módulos Azure e AzureAD e conecte-se à sua conta do Azure:

    Import-Module -Name Az
    Import-Module -Name AzureAD
    Connect-AzAccount
    
  2. Adicione uma atribuição de função com escopo em 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 funções internas não fornecerem a combinação certa de permissões, será possível criar uma função personalizada para dar suporte às operações necessárias.

Este exemplo clona o Leitor de dados do índice de pesquisa e, em seguida, adiciona a capacidade de listar índices por nome. Normalmente, listar os índices em um serviço de pesquisa é considerado 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 dá suporte à clonagem de uma função existente.

Essas etapas criam uma função personalizada que aumenta os direitos de consulta de pesquisa para incluir índices de listagem por nome. Normalmente, a listagem de índices é considerada uma função de administrador.

  1. No portal do Azure, vá para o serviço de pesquisa.

  2. No painel de navegação à esquerda, selecione Controle de Acesso (IAM).

  3. Na barra de ações, selecione Funções.

  4. Clique com o botão direito do mouse no Leitor de dados do índice de pesquisa (ou outra função) e selecione Clonar para abrir o assistente Criar uma função personalizada.

  5. Na guia Informações básicas, forneça um nome para a função personalizada, como "Gerenciador de Dados de Índice de Pesquisa" e clique em Avançar.

  6. Na guia Permissões, clique em Adicionar permissões.

  7. Na guia Adicionar permissões, pesquise e selecione o bloco Pesquisa da Microsoft.

  8. Defina as permissões para sua função personalizada. Na parte superior da página, use a seleção de Ações padrão:

    • Em Microsoft.Search/operations, selecione Leitura: Listar todas as operações disponíveis.
    • Em Microsoft.Search/searchServices/indexes, selecione Leitura: Ler Índice.
  9. 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 seguinte exemplo:

    {
     "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": []
             }
         ]
       }
     }
    
  10. Selecione Revisar + criar para criar o papel. Agora você pode atribuir usuários e grupos à função.

Acesso Condicional

Se você precisar impor políticas organizacionais, como autenticação multifator, use o Acesso Condicional do Microsoft Entra.

Para habilitar uma política de Acesso Condicional para a Pesquisa de IA do Azure, siga estas etapas:

  1. Entre no portal do Azure.

  2. Pesquise Acesso Condicional do Microsoft Entra.

  3. Selecione Políticas.

  4. Selecione Nova política.

  5. Na seção Aplicativos ou ações de nuvem da política, adicione Azure AI Search como um aplicativo de nuvem, dependendo de como você deseja configurar sua política.

  6. Atualize os parâmetros restantes da política. Por exemplo, especifique a quais usuários e grupos essa política se aplica.

  7. Salve a política.

Importante

Se o serviço de pesquisa tiver uma identidade gerenciada atribuída a ele, o serviço de pesquisa específico aparecerá como um aplicativo de nuvem que você pode incluir ou excluir como parte da política de Acesso Condicional. Você não pode impor políticas de Acesso Condicional em um serviço de pesquisa específico. Em vez disso, selecione o aplicativo de nuvem geral do Azure AI Search .

Solucionar problemas do controle de acesso baseado em função

Ao desenvolver aplicativos que usam controle de acesso baseado em função para autenticação, você pode encontrar alguns problemas comuns:

  • Se o token de autorização vem de uma identidade gerenciada e você recentemente atribuiu as permissões apropriadas, pode levar várias horas para que essas atribuições de permissões entrem em vigor.

  • A configuração padrão de um serviço de pesquisa é autenticação baseada em chave. Se você não alterar a configuração de chave padrão para ambos ou controle de acesso baseado em função, todas as solicitações usando a autenticação baseada em função serão negadas automaticamente, independentemente das permissões subjacentes.