Gerenciar a segurança de uma solução da Pesquisa de IA do Azure
As organizações precisam poder confiar na segurança de suas soluções de pesquisa. A Pesquisa de IA do Azure permite controlar como proteger os dados que você pesquisa.
Aqui, você vai explorar como proteger sua solução de pesquisa. Você se concentrará em onde os dados são criptografados e em como proteger os fluxos de dados de entrada e de saída. Por fim, você verá como restringir o acesso aos resultados da pesquisa para usuários ou grupos específicos.
Visão geral das abordagens de segurança
A Pesquisa de IA é baseada nos recursos de segurança de rede existentes do Azure. Ao pensar em proteger sua solução de pesquisa, você pode se concentrar em três áreas:
- Solicitações de pesquisa de entrada feitas pelos usuários para sua solução de pesquisa
- Solicitações de saída de sua solução de pesquisa para outros servidores para indexar documentos
- Restringir o acesso no nível do documento por solicitação de pesquisa do usuário
Criptografia de dados
O serviço Pesquisa de IA do Azure, como todos os serviços do Azure, criptografa os dados inativos que armazena com chaves gerenciadas pelo serviço. Essa criptografia inclui índices, fontes de dados, mapas de sinônimos, conjuntos de habilidades e até mesmo as definições do indexador.
Os dados em trânsito são criptografados usando a criptografia padrão HTTPS TLS 1.3 na porta 443.
Se você prefere usar suas chaves de criptografia, o ACS dá suporte ao uso do Azure Key Vault. Um benefício de usar as próprias chaves gerenciadas pelo cliente é que a criptografia dupla será habilitada em todos os objetos nos quais você usa chaves personalizadas.
Dica
Para conhecer etapas detalhadas de como usar chaves gerenciadas pelo cliente para criptografia, confira Configurar chaves gerenciadas pelo cliente para criptografia de dados na Pesquisa de IA do Azure
Proteger o tráfego de entrada
Se a solução de pesquisa pode ser acessada externamente pela Internet ou por aplicativos, você pode reduzir a superfície de ataque. A Pesquisa de IA do Azure permite restringir o acesso ao ponto de extremidade público gratuitamente usando um firewall para permitir o acesso de endereços IP específicos.
Se o serviço de pesquisa só for usado por recursos locais, você poderá reforçar a segurança com um circuito do ExpressRoute, o Gateway do Azure e um serviço de aplicativo. Também há a opção de alterar o ponto de extremidade público para usar um link privado do Azure. Você também precisará configurar uma rede virtual do Azure e outros recursos. Usar um ponto de extremidade privado é a solução mais segura, embora venha com o custo adicional de usar os serviços que precisam ser hospedados na plataforma do Azure.
Dica
Para saber mais sobre os pontos de extremidade privados, consulte Criar um ponto de extremidade privado para ter uma conexão segura com a Pesquisa de IA do Azure.
Autenticar solicitações para a solução de pesquisa
Com a infraestrutura em vigor para reduzir a superfície de ataque de sua solução de pesquisa, seu foco pode mudar para como autenticar solicitações de pesquisa de seus usuários e aplicativos.
A opção padrão ao criar o ACS é a autenticação baseada em chave. Há dois tipos de chaves diferentes:
- Chaves de administração – concedem permissões de gravação e o direito de consultar informações do sistema (no máximo, 2 chaves de administração podem ser criadas por serviço de pesquisa)
- Chaves de consulta – concedem permissões de leitura e são usadas por seus usuários ou aplicativos para consultar índices (no máximo, 50 chaves de consulta podem ser criadas por serviço de pesquisa)
Importante
O controle de acesso baseado em função para operações de plano de dados está na versão prévia e sob termos de uso complementares. As funções só estão disponíveis na nuvem pública do Azure e usá-las pode aumentar a latência das solicitações de pesquisa.
O RBAC (controle de acesso baseado em função) é fornecido pela plataforma do Azure como um sistema global para controlar o acesso aos recursos. Você pode usar o RBAC na Pesquisa de IA do Azure das seguintes maneiras:
- As funções podem receber acesso para administrar o serviço
- Definir funções com acesso para criar, carregar e consultar índices
As funções internas que você pode atribuir para gerenciar o serviço Pesquisa de IA do Azure são:
- Proprietário – acesso completo a todos os recursos de pesquisa
- Colaborador – o mesmo que acima, mas sem a capacidade de atribuir funções ou alterar autorizações
- Leitor – exibir informações parciais do serviço
Se você precisar de uma função que também pode gerenciar o plano de dados, por exemplo, índices de pesquisa ou fontes de dados, use uma destas funções:
- Colaborador do Serviço de Pesquisa – uma função para os administradores do serviço de pesquisa (o mesmo acesso que a função Colaborador acima) e o conteúdo (índices, indexadores, fontes de dados e conjuntos de habilidades)
- Colaborador de Dados do Índice de Pesquisa – uma função para desenvolvedores ou proprietários de índice que importarão, atualizarão ou consultarão a coleção de documentos de um índice
- Leitor de Dados do Índice de Pesquisa – função de acesso somente leitura para aplicativos e usuários que só precisam executar consultas
Dica
Para obter mais informações sobre como autenticar com o RBAC, consulte Usar controles de acesso baseados em função do Azure (RBAC do Azure) na Pesquisa de IA do Azure.
Proteger o tráfego de saída
Normalmente, o tráfego de saída indexa os dados de origem ou os enriquece usando IA (Inteligência Artificial). As conexões de saída dão suporte ao uso de autenticação baseada em chave, logons de banco de dados ou logons do Microsoft Entra se você puder usar o Microsoft Entra ID.
Se suas fontes de dados estiverem hospedadas na plataforma do Azure, você também poderá proteger conexões usando um sistema ou uma identidade gerenciada atribuída pelo usuário.
Os serviços do Azure podem restringir o acesso a eles usando um firewall. Seu firewall pode ser configurado para permitir apenas o endereço IP de seu serviço Pesquisa de IA do Azure. Se você estiver enriquecendo índices com IA, também precisará permitir todos os endereços IP na marca de serviço AzureCognitiveSearch.
Você pode optar por proteger os dados de origem por trás de um link privado compartilhado que os indexadores usam.
Importante
Um link privado compartilhado requer a camada Básico para a indexação baseada em texto ou a camada Standard 2 (S2) para indexação baseada em habilidades. Para obter detalhes de preço, confira Preço do Link Privado do Azure.
Proteger dados no nível do documento
Você pode configurar a Pesquisa de IA do Azure para restringir os documentos que alguém pode pesquisar, por exemplo, restringir a pesquisa de PDFs contratuais a pessoas em seu departamento jurídico.
Controlar quem tem acesso no nível do documento exige que você atualize cada documento no índice de pesquisa. Você precisa adicionar um novo campo de segurança a cada documento que contenha as IDs de usuário ou grupo que podem acessá-lo. O campo de segurança precisa ser filtrável para que você possa filtrar os resultados da pesquisa no campo.
Com esse campo em vigor e preenchido com o usuário ou os grupos permitidos, você pode restringir os resultados adicionando o filtro search.in
a todas as suas consultas de pesquisa. Se você estiver usando solicitações HTTP POST, o corpo deverá ter esta aparência:
{
"filter":"security_field/any(g:search.in(g, 'user_id1, group_id1, group_id2'))"
}
Isso filtraria os resultados de pesquisa retornados com base na ID do usuário e nos grupos a que esse usuário pertence. Se o seu aplicativo puder usar o Microsoft Entra ID, é possível usar a identidade do usuário e as associações de grupo a partir daí.
Dica
Para obter um guia passo a passo sobre como usar o Microsoft Entra ID, confira Filtros de segurança para cortar os resultados da Pesquisa de IA do Azure usando identidades do Active Directory