Configurar regras de firewall e acesso à rede para o Azure AI Search

Este artigo explica como restringir o acesso à rede ao ponto de extremidade público de um serviço de pesquisa. Para bloquear todo o acesso do plano de dados ao ponto de extremidade público, use pontos de extremidade privados e uma rede virtual do Azure.

Este artigo pressupõe o portal do Azure para configurar opções de acesso à rede. Você também pode usar a API REST de gerenciamento, o Azure PowerShell ou a CLI do Azure.

Pré-requisitos

  • Um serviço de pesquisa, qualquer região, na camada Básica ou superior

  • Permissões de Proprietário ou Colaborador

Quando configurar o acesso à rede

Por padrão, o Azure AI Search é configurado para permitir conexões em um ponto de extremidade público. O acesso a um serviço de pesquisa através do ponto de extremidade público é protegido por protocolos de autenticação e autorização, mas o ponto de extremidade em si está aberto à Internet na camada de rede para solicitações de plano de dados.

Se você não estiver hospedando um site público, convém configurar o acesso à rede para recusar solicitações automaticamente, a menos que elas sejam originadas de um conjunto aprovado de dispositivos e serviços de nuvem.

Existem dois mecanismos para restringir o acesso ao parâmetro de avaliação público:

  • Regras de entrada listando os endereços IP, intervalos ou sub-redes a partir dos quais as solicitações são admitidas
  • Exceções às regras da rede, em que os pedidos são admitidos sem controlos, desde que provenham de um serviço fidedigno

As regras de rede não são necessárias, mas é uma prática recomendada de segurança adicioná-las se você usar a Pesquisa de IA do Azure para exibir conteúdo corporativo privado ou interno.

As regras de rede têm como escopo operações de plano de dados em relação ao ponto de extremidade público do serviço de pesquisa. As operações do plano de dados incluem a criação ou consulta de índices e todas as outras ações descritas pelas APIs REST de pesquisa. Controle as operações do avião alvo da administração do serviço. Essas operações especificam pontos de extremidade do provedor de recursos, que estão sujeitos às proteções de rede suportadas pelo Azure Resource Manager.

Limitações

Há algumas desvantagens em bloquear o ponto final público.

  • Leva tempo para identificar completamente os intervalos de IP e configurar firewalls, e se você estiver nos estágios iniciais de teste e investigação de prova de conceito e usando dados de exemplo, convém adiar os controles de acesso à rede até realmente precisar deles.

  • Alguns fluxos de trabalho exigem acesso a um ponto de extremidade público. Especificamente, os assistentes de importação no portal do Azure se conectam a dados de exemplo internos (hospedados) e modelos de incorporação no ponto de extremidade público. Você pode alternar para código ou script para concluir as mesmas tarefas quando as regras de firewall estiverem em vigor, mas se quiser executar os assistentes, o ponto de extremidade público deve estar disponível. Para obter mais informações, consulte Conexões seguras nos assistentes de importação.

Configurar o acesso à rede no portal do Azure

  1. Entre no portal do Azure e encontre seu serviço de pesquisa.

  2. Em Configurações, selecione Rede no painel mais à esquerda. Se não vir esta opção, verifique o seu nível de serviço. As opções de rede estão disponíveis na camada Básica e superior.

  3. Escolha Endereços IP selecionados. Evite a opção Desabilitado, a menos que você esteja configurando um ponto de extremidade privado.

    Captura de ecrã a mostrar as opções de acesso à rede no portal do Azure.

  4. Mais configurações ficam disponíveis quando você escolhe essa opção.

    Captura de tela mostrando como configurar o firewall IP no portal do Azure.

  5. Em Firewall IP, selecione Adicionar o endereço IP do cliente para criar uma regra de entrada para o endereço IP público do seu dispositivo pessoal. Consulte Permitir acesso a partir do endereço IP do portal do Azure para obter detalhes.

  6. Adicione outros endereços IP de cliente para outros dispositivos e serviços que enviam solicitações para um serviço de pesquisa.

    Os endereços IP e intervalos estão no formato CIDR. Um exemplo de notação CIDR é 8.8.8.0/24, que representa os IPs que variam de 8.8.8.0 a 8.8.8.255.

    Se o seu cliente de pesquisa for um aplicativo Web estático no Azure, consulte Endereços IP de entrada e saída no Serviço de Aplicativo do Azure. Para funções do Azure, consulte Endereços IP no Azure Functions.

  7. Em Exceções, selecione Permitir que os serviços do Azure na lista de serviços confiáveis acessem esse serviço de pesquisa. A lista de serviços confiáveis inclui:

    • Microsoft.CognitiveServices para serviços Azure OpenAI e Azure AI
    • Microsoft.MachineLearningServices para o Azure Machine Learning

    Ao habilitar essa exceção, você depende da autenticação de ID do Microsoft Entra, identidades gerenciadas e atribuições de função. Qualquer serviço de IA do Azure ou recurso de AML que tenha uma atribuição de função válida em seu serviço de pesquisa pode ignorar o firewall. Consulte Conceder acesso a serviços confiáveis para obter mais detalhes.

  8. Salve suas alterações.

Depois de habilitar a política de controle de acesso IP para seu serviço Azure AI Search, todas as solicitações para o plano de dados de máquinas fora da lista permitida de intervalos de endereços IP são rejeitadas.

Quando as solicitações são originadas de endereços IP que não estão na lista de permitidos, uma resposta genérica 403 Forbidden é retornada sem outros detalhes.

Importante

Pode levar vários minutos para que as alterações entrem em vigor. Aguarde pelo menos 15 minutos antes de solucionar quaisquer problemas relacionados à configuração da rede.

Permitir acesso a partir do endereço IP do portal do Azure

Quando as regras de IP são configuradas, alguns recursos do portal do Azure são desabilitados. Você pode exibir e gerenciar informações de nível de serviço, mas o acesso ao portal aos assistentes de importação, índices, indexadores e outros recursos de nível superior é restrito.

Você pode restaurar o acesso ao portal para a gama completa de operações de serviço de pesquisa adicionando o endereço IP do portal.

Para obter o endereço IP do portal, execute nslookup (ou ping) em stamp2.ext.search.windows.net, que é o domínio do gerenciador de tráfego. Para nslookup, o endereço IP é visível na parte "Resposta não autorizada" da resposta.

No exemplo a seguir, o endereço IP que você deve copiar é 52.252.175.48.

$ nslookup stamp2.ext.search.windows.net
Server:  ZenWiFi_ET8-0410
Address:  192.168.50.1

Non-authoritative answer:
Name:    azsyrie.northcentralus.cloudapp.azure.com
Address:  52.252.175.48
Aliases:  stamp2.ext.search.windows.net
          azs-ux-prod.trafficmanager.net
          azspncuux.management.search.windows.net

Quando os serviços são executados em regiões diferentes, eles se conectam a diferentes gerentes de tráfego. Independentemente do nome de domínio, o endereço IP retornado do ping é o correto a ser usado ao definir uma regra de firewall de entrada para o portal do Azure em sua região.

Para ping, a solicitação expira, mas o endereço IP é visível na resposta. Por exemplo, na mensagem "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]", o endereço IP é 52.252.175.48.

Um banner informa que as regras de IP afetam a experiência do portal. Este banner permanece visível mesmo depois de adicionar o endereço IP do portal. Lembre-se de aguardar alguns minutos para que as regras de rede entrem em vigor antes do teste.

Captura de tela mostrando o banner de acesso restrito.

Conceder acesso a serviços confiáveis do Azure

Você selecionou a exceção de serviços confiáveis? Se sim, seu serviço de pesquisa admite solicitações e respostas de um recurso confiável do Azure sem verificar um endereço IP. Um recurso confiável deve ter uma identidade gerenciada (sistema ou atribuído pelo usuário, mas geralmente sistema). Um recurso confiável deve ter uma atribuição de função no Azure AI Search que lhe dê permissão para dados e operações.

A lista de serviços confiáveis para o Azure AI Search inclui:

  • Microsoft.CognitiveServices para serviços Azure OpenAI e Azure AI
  • Microsoft.MachineLearningServices para o Azure Machine Learning

Os fluxos de trabalho para esta exceção de rede são solicitações originadas do Azure AI Studio, Azure OpenAI Studio ou outros recursos AML para o Azure AI Search, normalmente em cenários do Azure OpenAI On Your Data para recuperação de geração aumentada (RAG) e ambientes de playground.

Os recursos confiáveis devem ter uma identidade gerenciada

Para configurar identidades gerenciadas para o Azure OpenAI e o Azure Machine Learning:

Para configurar uma identidade gerenciada para um serviço de IA do Azure:

  1. Encontre a sua conta multisserviços.
  2. No painel mais à esquerda, em Gerenciamento de recursos, selecione Identidade.
  3. Defina System-assigned como On.

Os recursos confiáveis devem ter uma atribuição de função

Depois que seu recurso do Azure tiver uma identidade gerenciada, atribua funções na Pesquisa de IA do Azure para conceder permissões a dados e operações.

Os serviços confiáveis são usados para cargas de trabalho de vetorização: gerando vetores a partir de conteúdo de texto e imagem e enviando cargas úteis de volta ao serviço de pesquisa para execução ou indexação de consultas. As conexões de um serviço confiável são usadas para fornecer cargas úteis para a pesquisa de IA do Azure.

  1. Encontre o seu serviço de pesquisa.

  2. No painel mais à esquerda, em Controle de acesso (IAM), selecione Identidade.

  3. Selecione Adicionar e, em seguida, selecione Adicionar atribuição de função.

  4. Na página Funções:

    • Selecione Contribuidor de Dados do Índice de Pesquisa para carregar um índice de pesquisa com vetores gerados por um modelo de incorporação. Escolha essa função se você pretende usar vetorização integrada durante a indexação.
    • Ou selecione Leitor de Dados de Índice de Pesquisa para fornecer consultas com um vetor gerado por um modelo de incorporação. A incorporação usada em uma consulta não é gravada em um índice, portanto, nenhuma permissão de gravação é necessária.
  5. Selecione Seguinte.

  6. Na página Membros, selecione Identidade gerenciada e Selecionar membros.

  7. Filtre por identidade gerenciada pelo sistema e selecione a identidade gerenciada da sua conta multisserviço do Azure AI.

Nota

Este artigo aborda a exceção confiável para admitir solicitações ao seu serviço de pesquisa, mas o Azure AI Search está na lista de serviços confiáveis de outros recursos do Azure. Especificamente, você pode usar a exceção de serviço confiável para conexões da Pesquisa de IA do Azure para o Armazenamento do Azure.

Próximos passos

Uma vez que uma solicitação é permitida através do firewall, ela deve ser autenticada e autorizada. Tem duas opções:

  • Autenticação baseada em chave, onde uma chave de API de administrador ou consulta é fornecida na solicitação. Esta é a opção predefinida.

  • Controle de acesso baseado em função usando o Microsoft Entra ID, onde o chamador é membro de uma função de segurança em um serviço de pesquisa. Esta é a opção mais segura. Ele usa a ID do Microsoft Entra para autenticação e atribuições de função na Pesquisa de IA do Azure para permissões para dados e operações.