Acesso do indexador ao conteúdo protegido pela segurança de rede do Azure

Observação

Pesquisa de IA do Azure  está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.

Se os recursos do Azure estiverem implantados na rede virtual do Azure, este artigo conceitual explicará como um indexador de pesquisa pode acessar o conteúdo protegido por segurança de rede. Ele descreve os padrões de tráfego de saída e os ambientes de execução do indexador. Também aborda as proteções de rede compatíveis com o Pesquisa de IA do Azure  e os fatores que podem influenciar sua estratégia de segurança. Por fim, como o Armazenamento do Azure é usado para acesso a dados e armazenamento persistente, este artigo também aborda as considerações sobre rede específicas da conectividade de pesquisa e armazenamento.

Procurando instruções passo a passo? Confira Como configurar regras de firewall para permitir o acesso do indexador ou Como fazer conexões de saída por meio de um ponto de extremidade privado.

Recursos acessados por indexadores

Os indexadores da Pesquisa de IA do Azure podem fazer chamadas de saída para vários recursos do Azure em três situações:

  • Conexões a fontes de dados externas durante a indexação
  • Em conexões a um código externo e encapsulado por meio de um conjunto de habilidades que inclui habilidades personalizadas
  • Conexões ao Armazenamento do Azure durante a execução do conjunto de habilidades para armazenar em cache enriquecimentos, salvar o estado de sessão de depuração ou gravar em um repositório de conhecimento

A tabela abaixo traz uma lista de todos os tipos de recursos possíveis do Azure que um indexador pode acessar em uma execução típica.

Recurso Finalidade dentro da execução do indexador
Armazenamento do Azure (blobs, ADLS Gen2, arquivos, tabelas) Fonte de dados
Armazenamento do Azure (blobs, tabelas) Capacidades (enriquecimentos de cache, sessões de depuração, projeções da base de conhecimento)
Azure Cosmos DB (várias APIs) Fonte de dados
Banco de Dados SQL do Azure Fonte de dados
Microsoft OneLake Fonte de dados
SQL Server em máquinas virtuais do Azure Fonte de dados
Instância Gerenciada de SQL Fonte de dados
Azure Functions Anexado a um conjunto de habilidades e usado para hospedar habilidades personalizadas da API Web
OpenAI do Azure Execução de habilidades de inserção e modelo
Microsoft Foundry Execução de habilidades do modelo e faturamento sem chave para habilidades integradas

Observação

O Pesquisa de IA do Azure  hospeda internamente o processamento da maioria das habilidades integradas cobradas por meio do Foundry Tools. Para faturamento sem chave, o conjunto de habilidades estabelece uma conexão de saída separada com o recurso Foundry anexado. Se o acesso à rede pública estiver desabilitado no recurso Foundry, configure um link privado compartilhado para a conexão de cobrança. Para obter detalhes de configuração, consulte os tipos de recursos com suporte.

Os indexadores se conectam aos recursos usando as seguintes abordagens:

  • Um ponto de extremidade público com credenciais
  • Um endpoint privado usando o Link Privado do Azure
  • Conectar-se como um serviço confiável
  • Conexão por meio de endereçamento IP

Se o recurso do Azure estiver em uma rede virtual, você deverá usar um ponto de extremidade privado ou endereçamento IP para admitir conexões de indexador aos dados.

Proteções de rede compatíveis

Os recursos do Azure podem ser protegidos com qualquer número de mecanismos de isolamento de rede oferecidos pelo Azure. Dependendo do recurso e da região, os indexadores do Pesquisa de IA do Azure  podem fazer conexões de saída por meio de firewalls de IP e pontos de extremidade privados, sujeitos às limitações indicadas na tabela a seguir.

Recurso Restrição de IP Ponto de extremidade privado
Armazenamento do Azure para indexação baseada em texto (blobs, ADLS Gen2, arquivos, tabelas) Com suporte apenas se a conta de armazenamento e o serviço de pesquisa estiverem em regiões diferentes. Com suporte
Armazenamento do Azure para enriquecimento de IA (cache, sessões de depuração, repositório de conhecimento) Com suporte apenas se a conta de armazenamento e o serviço de pesquisa estiverem em regiões diferentes. Com suporte
Azure Cosmos DB for NoSQL Com suporte Com suporte
Azure Cosmos DB for MongoDB Com suporte Sem suporte
Azure Cosmos DB for Apache Gremlin Com suporte Sem suporte
Banco de Dados SQL do Azure Com suporte Com suporte
SQL Server em máquinas virtuais do Azure Com suporte N/D
Instância Gerenciada de SQL Com suporte N/D
Azure Functions Com suporte Com suporte apenas para determinadas camadas de Azure Functions.
Azure OpenAI ou Microsoft Foundry Com suporte Com suporte com limitações. Consulte os tipos de recursos com suporte.

Ambientes de acesso à rede e execução do indexador

O Pesquisa de IA do Azure  tem o conceito de ambiente de execução do indexador, que otimiza o processamento com base nas características do trabalho. Há dois ambientes. Se você usar um firewall de IP para controlar o acesso a Azure recursos, saber sobre ambientes de execução ajudará você a configurar um intervalo de IP que inclua ambos os ambientes.

Para qualquer execução de indexador específico, o Pesquisa de IA do Azure  determina o melhor ambiente no qual executar o indexador. Dependendo do número e dos tipos de tarefas atribuídas, o indexador é executado em um dos dois ambientes:

Ambiente de execução Descrição
Privado 1 Interno para um serviço de pesquisa. Os indexadores em execução no ambiente privado compartilham recursos de computação com outras cargas de trabalho de indexação e de consulta no mesmo serviço de pesquisa. Somente o ambiente de execução privada pode usar um link privado compartilhado. Para usar essa conexão, defina executionEnvironmentprivate explicitamente no indexador. A seleção automática não é garantida. Para obter mais informações, consulte Considerações sobre como usar um ponto de extremidade privado.
Multitenant Gerenciado e protegido pela Microsoft sem custo adicional. Ele não está sujeito a nenhuma provisão de rede sob seu controle. Esse ambiente é usado para descarregar o processamento computacionalmente intensivo, deixando os recursos específicos do serviço disponíveis para operações de rotina. Os exemplos de trabalhos de indexador com uso intensivo de recursos incluem conjuntos de habilidades, o processamento de documentos grandes ou o processamento de um alto volume de documentos.

1 Para evitar sobrecarga no ambiente de execução privada, os indexadores com mais de duas habilidades de embeddings do Azure OpenAI ou de embeddings multimodais do Azure Vision são impedidos de ser executados nesse ambiente.

Como configurar intervalos de IP para execução do indexador

Esta seção explica a configuração do firewall IP para admitir solicitações de ambos os ambientes de execução.

Se seu recurso do Azure estiver protegido por um firewall, defina regras de entrada que admitam conexões do indexador para todos os IPs dos quais uma solicitação do indexador pode se originar. Isso inclui o endereço IP usado pelo serviço de pesquisa e os endereços IP usados pelo ambiente multilocatário.

  • Para obter o endereço IP do serviço de pesquisa (e o ambiente de execução privada), use nslookup (ou ping) para encontrar o FQDN (nome de domínio totalmente qualificado) do serviço de pesquisa. O FQDN de um serviço de pesquisa na nuvem pública seria <service-name>.search.windows.net.

  • Para obter os endereços IP dos ambientes multilocatários em que um indexador pode ser executado, use a marca de serviço AzureCognitiveSearch.

    As marcas de serviço do Azure têm um intervalo publicado de endereços IP dos ambientes multilocatários para cada região. Você pode encontrar esses IPs usando a API de descoberta ou um arquivo JSON para download. Os intervalos de IP são alocados por região. Portanto, verifique a região do serviço de pesquisa antes de começar.

Configurar regras de IP para o SQL do Azure

Ao definir a regra de IP para o ambiente multilocatário, algumas fontes de dados SQL dão suporte a uma abordagem simples para a especificação do endereço IP. Em vez de enumerar todos os endereços IP na regra, você poderá criar uma regra do grupo de segurança de rede que especifica a marca de serviço AzureCognitiveSearch.

Especifique a marca de serviço se a fonte de dados for uma das seguintes:

Observe que, se você especificar a marca de serviço para a regra de IP do ambiente multilocatário, ainda precisará ter uma regra de entrada explícita para o ambiente de execução privada (ou seja, o próprio serviço de pesquisa), conforme obtido por meio de nslookup.

Escolher uma abordagem de conectividade

Você não pode provisionar um serviço de pesquisa em uma rede virtual específica porque ele não é executado nativamente em uma máquina virtual. Embora alguns recursos do Azure ofereçam pontos de extremidade de serviço da rede virtual, o Pesquisa de IA do Azure  não oferece essa funcionalidade. Planeje implementar uma das abordagens a seguir.

Abordagem Detalhes
Proteger a conexão de entrada para o seu recurso Azure Configurar uma regra de firewall de entrada no recurso do Azure que admita solicitações do indexador para seus dados. Sua configuração de firewall deve incluir a marca de serviço para execução multilocatário e o endereço IP do seu serviço de pesquisa. Consulte Configurar regras de firewall para permitir o acesso do indexador.
Conexão privada entre a Pesquisa de IA do Azure e seu recurso do Azure Configure um link privado compartilhado usado exclusivamente pelo serviço de pesquisa para conexões com seu recurso. As conexões percorrem a rede interna e ignoram a Internet pública. Se os recursos estiverem totalmente bloqueados (em execução em uma rede virtual protegida ou, caso contrário, não estiverem disponíveis em uma conexão pública), um ponto de extremidade privado será a única opção. Consulte Estabelecer conexões de saída por meio de um ponto de extremidade privado.

As conexões feitas por meio de um ponto de extremidade privado precisam se originar do ambiente de execução privada do serviço de pesquisa.

A configuração de um firewall de IP é gratuita. Um ponto de extremidade privado, que se baseia no Link Privado do Azure, tem um impacto nos custos. Confira Preço do Link Privado do Azure para obter detalhes.

Depois de configurar a segurança de rede, siga as atribuições de função que especificam quais usuários e grupos têm acesso de leitura e gravação aos seus dados e operações.

Considerações sobre como usar um ponto de extremidade privado

Esta seção restringe a opção de conexão privada.

  • Depois que um link privado compartilhado é criado, o serviço de pesquisa sempre o usa para cada conexão do indexador com esse recurso específico do Azure. A conexão privada é bloqueada e imposta internamente. Você não pode ignorar a conexão privada para usar uma conexão pública.

  • Requer um recurso de Link Privado do Azure faturável.

  • Requer que o proprietário da assinatura aprove a conexão do endpoint privado.

  • Requer que você desative o ambiente de execução multilocatário para o indexador.

    Faça isso definindo o executionEnvironment do indexador como "private". Essa etapa garante que toda a execução do indexador fique confinada ao ambiente privado provisionado no serviço de pesquisa. Esta configuração se aplica a um indexador e não ao serviço de pesquisa. Caso deseje que todos os indexadores se conectem por pontos de extremidade privados, cada um precisa ter a seguinte configuração:

        {
          "name" : "myindexer",
          ... other indexer properties
          "parameters" : {
              ... other parameters
              "configuration" : {
                ... other configuration properties
                "executionEnvironment": "private"
              }
            }
        }
    

Depois que você tiver um ponto de extremidade privado aprovado para um recurso, os indexadores que estão definidos como privados tentarão obter acesso por meio do link privado criado e aprovado para esse recurso do Azure.

A Pesquisa de IA do Azure valida que os chamadores do ponto de extremidade privado têm atribuições de função apropriadas. Por exemplo, se você solicitar uma conexão de ponto de extremidade privado para uma conta de armazenamento com permissões somente leitura, essa chamada será rejeitada.

Se o ponto de extremidade privado não for aprovado ou se o indexador não tiver usado a conexão de ponto de extremidade privado, você encontrará a mensagem de erro transientFailure no histórico de execução do indexador.

Complemente a segurança da rede com autenticação de token

Firewalls e segurança de rede são uma primeira etapa para impedir o acesso não autorizado a dados e operações. A autorização deve ser a sua próxima etapa.

Recomendamos o acesso baseado em função, em que os usuários e grupos do Microsoft Entra ID são atribuídos a funções que determinam o acesso de leitura e gravação ao seu serviço. Veja Como se conectar ao Pesquisa de IA do Azure  usando controles de acesso baseados em função para obter uma descrição das funções internas predefinidas e instruções para criar funções personalizadas.

Se não precisar de autenticação baseada em chave, recomendamos que desative as chaves API e utilize exclusivamente atribuições de funções.

Acesso a uma conta de armazenamento protegida pela rede

Um serviço de pesquisa armazena listas de índices e de sinônimos. Para outros recursos que exigem armazenamento, o Pesquisa de IA do Azure  depende do Armazenamento do Azure. Cache de aprimoramento, sessões de depuração e repositórios de conhecimento se enquadram nessa categoria. A localização de cada serviço e quaisquer proteções de rede em vigor para armazenamento determinam sua estratégia de acesso a dados.

Serviços da mesma região

No Armazenamento do Azure, o acesso por meio de um firewall exige que a solicitação tenha origem a partir de uma região diferente. Se o Armazenamento do Azure e o Azure IA Search estiverem na mesma região, você poderá ignorar as restrições de IP na conta de armazenamento acessando dados sob a identidade do sistema do serviço de pesquisa.

Há duas opções para dar suporte ao acesso aos dados usando a identidade do sistema:

As opções acima dependem do Microsoft Entra ID para autenticação, o que significa que a conexão deve ser feita com um logon do Microsoft Entra. Atualmente, há suporte somente para uma identidade gerenciada atribuída pelo sistema do Azure IA Search para conexões da mesma região por meio de um firewall.

Serviços em regiões diferentes

Quando a pesquisa e o armazenamento estão em regiões diferentes, você pode usar as opções mencionadas ou configurar regras de IP que admitem solicitações do seu serviço. Dependendo da carga de trabalho, é aconselhável configurar regras para vários ambientes de execução, conforme descrito na próxima seção.

Próximas etapas

Agora que você está familiarizado com as opções de acesso a dados do indexador para soluções implantadas em uma rede virtual do Azure, confira um dos seguintes artigos de instruções como a próxima etapa: