Visão geral de segurança do Azure AI Search
Este artigo descreve os recursos de segurança no Azure AI Search que protegem dados e operações.
Fluxo de dados (padrões de tráfego de rede)
Um serviço Azure AI Search é hospedado no Azure e normalmente é acessado por aplicativos cliente por meio de conexões de rede pública. Embora esse padrão seja predominante, não é o único padrão de tráfego com o qual você precisa se preocupar. Compreender todos os pontos de entrada, bem como o tráfego de saída, é um background necessário para proteger seus ambientes de desenvolvimento e produção.
O Azure AI Search tem três padrões básicos de tráfego de rede:
- Solicitações de entrada feitas por um usuário ou cliente para o serviço de pesquisa (o padrão predominante)
- Solicitações de saída emitidas pelo serviço de pesquisa para outros serviços no Azure e em outros lugares
- Solicitações internas de serviço a serviço na rede de backbone segura da Microsoft
Tráfego de entrada
As solicitações de entrada destinadas a um ponto de extremidade do serviço de pesquisa incluem:
- Criar, ler, atualizar ou excluir índices e outros objetos no serviço de pesquisa
- Carregar um índice com documentos de pesquisa
- Consultar um índice
- Indexador de gatilho ou execução de conjunto de habilidades
As APIs REST descrevem a gama completa de solicitações de entrada que são tratadas por um serviço de pesquisa.
No mínimo, todas as solicitações de entrada devem ser autenticadas usando uma destas opções:
- Autenticação baseada em chave (padrão). As solicitações de entrada fornecem uma chave de API válida.
- Controlo de acesso baseado em funções. A autorização é feita através de identidades e atribuições de função do Microsoft Entra no seu serviço de pesquisa.
Além disso, você pode adicionar recursos de segurança de rede para restringir ainda mais o acesso ao ponto de extremidade. Você pode criar regras de entrada em um firewall IP ou criar pontos de extremidade privados que protejam totalmente seu serviço de pesquisa da Internet pública.
Tráfego interno
As solicitações internas são protegidas e gerenciadas pela Microsoft. Não é possível configurar ou controlar essas conexões. Se você estiver bloqueando o acesso à rede, nenhuma ação de sua parte será necessária porque o tráfego interno não é configurável pelo cliente.
O tráfego interno consiste em:
- Chamadas de serviço a serviço para tarefas como autenticação e autorização por meio da ID do Microsoft Entra, log de recursos enviados ao Monitor do Azure e conexões de ponto de extremidade privado que utilizam o Azure Private Link.
- Solicitações feitas às APIs de serviços de IA do Azure para habilidades internas
- Solicitações feitas aos modelos de aprendizado de máquina que suportam classificação semântica.
Tráfego de saída
As solicitações de saída podem ser protegidas e gerenciadas por você. As solicitações de saída são originadas de um serviço de pesquisa para outros aplicativos. Essas solicitações geralmente são feitas por indexadores para indexação baseada em texto, enriquecimento de IA baseado em habilidades personalizadas e vetorizações no momento da consulta. As solicitações de saída incluem operações de leitura e gravação.
A lista a seguir é uma enumeração completa das solicitações de saída para as quais você pode configurar conexões seguras. Um serviço de pesquisa faz solicitações em seu próprio nome e em nome de um indexador ou habilidade personalizada.
Operação | Cenário |
---|---|
Indexadores | Conecte-se a fontes de dados externas para recuperar dados. Para obter mais informações, consulte Acesso do indexador ao conteúdo protegido pela segurança de rede do Azure. |
Indexadores | Conecte-se ao Armazenamento do Azure para persistir armazenamentos de conhecimento, enriquecimentos em cache, sessões de depuração. |
Competências personalizadas | Conecte-se a funções do Azure, aplicativos Web do Azure ou outros aplicativos que executam código externo hospedado fora de serviço. A solicitação de processamento externo é enviada durante a execução do conjunto de habilidades. |
Indexadores e vetorização integrada | Conecte-se ao Azure OpenAI e a um modelo de incorporação implantado ou passe por uma habilidade personalizada para se conectar a um modelo de incorporação que você fornece. O serviço de pesquisa envia texto para modelos de incorporação para vetorização durante a indexação. |
Vetorizadores | Conecte-se ao Azure OpenAI ou a outros modelos de incorporação no momento da consulta para converter cadeias de caracteres de texto do usuário em vetores para pesquisa vetorial. |
Serviço de pesquisa | Conecte-se ao Cofre de Chaves do Azure para chaves de criptografia gerenciadas pelo cliente usadas para criptografar e descriptografar dados confidenciais. |
As conexões de saída podem ser feitas usando a cadeia de conexão de acesso total de um recurso que inclui uma chave ou um logon de banco de dados, ou uma identidade gerenciada se você estiver usando a ID do Microsoft Entra e o acesso baseado em função.
Para acessar os recursos do Azure atrás de um firewall, crie regras de entrada em outros recursos do Azure que admitem solicitações de serviço de pesquisa.
Para acessar os recursos do Azure protegidos pelo Azure Private Link, crie um link privado compartilhado que um indexador usa para fazer sua conexão.
Exceção para serviços de pesquisa e armazenamento na mesma região
Se o Armazenamento do Azure e a Pesquisa de IA do Azure estiverem na mesma região, o tráfego de rede será roteado por meio de um endereço IP privado e ocorrerá pela rede de backbone da Microsoft. Como os endereços IP privados são usados, não é possível configurar firewalls IP ou um ponto de extremidade privado para segurança de rede.
Configure conexões de mesma região usando uma das seguintes abordagens:
Segurança da rede
A segurança da rede protege os recursos contra acesso não autorizado ou ataques, aplicando controles ao tráfego da rede. O Azure AI Search suporta funcionalidades de rede que podem ser a sua linha da frente de defesa contra acesso não autorizado.
Conexão de entrada através de firewalls IP
Um serviço de pesquisa é provisionado com um ponto de extremidade público que permite o acesso usando um endereço IP público. Para restringir qual tráfego vem através do ponto de extremidade público, crie uma regra de firewall de entrada que admita solicitações de um endereço IP específico ou de um intervalo de endereços IP. Todas as conexões de cliente devem ser feitas através de um endereço IP permitido, ou a conexão é negada.
Você pode usar o portal do Azure para configurar o acesso ao firewall.
Como alternativa, você pode usar as APIs REST de gerenciamento. A partir da API versão 2020-03-13, com o parâmetro IpRule, você pode restringir o acesso ao seu serviço identificando endereços IP, individualmente ou em um intervalo, que deseja conceder acesso ao seu serviço de pesquisa.
Conexão de entrada com um ponto de extremidade privado (isolamento de rede, sem tráfego da Internet)
Para uma segurança mais rigorosa, você pode estabelecer um ponto de extremidade privado para o Azure AI Search permite que um cliente em uma rede virtual acesse dados com segurança em um índice de pesquisa por meio de um Link Privado.
O ponto de extremidade privado usa um endereço IP do espaço de endereço da rede virtual para conexões com seu serviço de pesquisa. O tráfego de rede entre o cliente e o serviço de pesquisa atravessa a rede virtual e um link privado na rede de backbone da Microsoft, eliminando a exposição da Internet pública. Uma rede virtual permite uma comunicação segura entre recursos, tanto com a sua rede local como com a Internet.
Embora esta solução seja a mais segura, usar mais serviços é um custo adicional, portanto, certifique-se de ter uma compreensão clara dos benefícios antes de mergulhar. Para obter mais informações sobre custos, consulte a página de preços. Para obter mais informações sobre como esses componentes funcionam juntos, assista a este vídeo. A cobertura da opção de ponto final privado começa às 5:48 no vídeo. Para obter instruções sobre como configurar o ponto de extremidade, consulte Criar um ponto de extremidade privado para o Azure AI Search.
Autenticação
Uma vez que um pedido é admitido no serviço de pesquisa, ele ainda deve passar por autenticação e autorização que determina se o pedido é permitido. O Azure AI Search suporta duas abordagens:
A autenticação do Microsoft Entra estabelece o chamador (e não a solicitação) como a identidade autenticada. Uma atribuição de função do Azure determina a autorização.
A autenticação baseada em chave é executada na solicitação (não no aplicativo ou usuário chamador) por meio de uma chave de API, onde a chave é uma cadeia de caracteres composta por números e letras gerados aleatoriamente que provam que a solicitação é de uma fonte confiável. As chaves são necessárias em todos os pedidos. O envio de uma chave válida é considerado prova de que o pedido tem origem numa entidade fidedigna.
Pode utilizar ambos os métodos de autenticação ou desativar uma abordagem que não pretende que esteja disponível no seu serviço de pesquisa.
Autorização
O Azure AI Search fornece modelos de autorização para gerenciamento de serviços e gerenciamento de conteúdo.
Autorizar o gerenciamento de serviços
O gerenciamento de recursos é autorizado por meio do controle de acesso baseado em função em seu locatário do Microsoft Entra.
No Azure AI Search, o Resource Manager é usado para criar ou excluir o serviço, gerenciar chaves de API, dimensionar o serviço e configurar a segurança. Como tal, as atribuições de função do Azure determinarão quem pode executar essas tarefas, independentemente de estarem usando o portal, o PowerShell ou as APIs REST de gerenciamento.
Três funções básicas (Proprietário, Colaborador e Leitor) aplicam-se à administração do serviço de pesquisa. As atribuições de função podem ser feitas usando qualquer metodologia suportada (portal, PowerShell e assim por diante) e são honradas em todo o serviço.
Nota
Usando mecanismos em todo o Azure, você pode bloquear uma assinatura ou recurso para impedir a exclusão acidental ou não autorizada do seu serviço de pesquisa por usuários com direitos de administrador. Para obter mais informações, consulte Bloquear recursos para evitar exclusão inesperada.
Autorizar o acesso ao conteúdo
O gerenciamento de conteúdo refere-se aos objetos criados e hospedados em um serviço de pesquisa.
Para autorização baseada em função, use as atribuições de função do Azure para estabelecer acesso de leitura e gravação às operações.
Para autorização baseada em chave, uma chave de API e um ponto de extremidade qualificado determinam o acesso. Um ponto de extremidade pode ser o próprio serviço, a coleção de índices, um índice específico, uma coleção de documentos ou um documento específico. Quando encadeados, o ponto de extremidade, a operação (por exemplo, uma solicitação de criação) e o tipo de chave (admin ou consulta) autorizam o acesso ao conteúdo e às operações.
Restringir o acesso aos índices
Usando funções do Azure, você pode definir permissões em índices individuais, desde que isso seja feito programaticamente.
Usando chaves, qualquer pessoa com uma chave de administrador para o seu serviço pode ler, modificar ou excluir qualquer índice no mesmo serviço. Para proteção contra exclusão acidental ou maliciosa de índices, seu controle de origem interno para ativos de código é a solução para reverter uma exclusão ou modificação de índice indesejada. O Azure AI Search tem failover dentro do cluster para garantir a disponibilidade, mas não armazena nem executa seu código proprietário usado para criar ou carregar índices.
Para soluções de multilocação que exigem limites de segurança no nível do índice, é comum lidar com o isolamento do índice na camada intermediária no código do aplicativo. Para obter mais informações sobre o caso de uso multilocatário, consulte Padrões de design para aplicativos SaaS multilocatários e Azure AI Search.
Restringir o acesso aos documentos
As permissões de utilizador ao nível do documento, também conhecidas como segurança ao nível da linha, não são suportadas nativamente no Azure AI Search. Se você importar dados de um sistema externo que forneça segurança em nível de linha, como o Azure Cosmos DB, essas permissões não serão transferidas com os dados conforme indexados pelo Azure AI Search.
Se você precisar de acesso com permissão sobre o conteúdo nos resultados da pesquisa, há uma técnica para aplicar filtros que incluem ou excluem documentos com base na identidade do usuário. Esta solução alternativa adiciona um campo de cadeia de caracteres na fonte de dados que representa uma identidade de grupo ou usuário, que você pode tornar filtrável em seu índice. Para obter mais informações sobre esse padrão, consulte Filtragem de segurança com base em filtros de identidade.
Residência de dados
Ao configurar um serviço de pesquisa, você escolhe uma região que determina onde os dados do cliente são armazenados e processados. Cada região existe dentro de uma geografia (Geo) que geralmente inclui várias regiões (por exemplo, a Suíça é uma Geo que contém a Suíça Norte e Suíça Oeste). O Azure AI Search pode replicar seus dados para outra região dentro do mesmo Geo para durabilidade e alta disponibilidade. O serviço não armazenará ou processará dados do cliente fora do seu Geo especificado, a menos que você configure um recurso que tenha uma dependência de outro recurso do Azure e esse recurso seja provisionado em uma região diferente.
Atualmente, o único recurso externo no qual um serviço de pesquisa grava é o Armazenamento do Azure. A conta de armazenamento é aquela que você fornece, e pode estar em qualquer região. Um serviço de pesquisa grava no Armazenamento do Azure se você usar qualquer um dos seguintes recursos:
Para obter mais informações sobre residência de dados, consulte residência de dados no Azure.
Exceções aos compromissos de residência de dados
Os nomes dos objetos aparecem nos logs de telemetria usados pela Microsoft para fornecer suporte ao serviço. Os nomes dos objetos são armazenados e processados fora da região ou local selecionado. Os nomes de objeto incluem os nomes de índices e campos de índice, aliases, indexadores, fontes de dados, conjuntos de habilidades, mapas de sinônimos, recursos, contêineres e armazenamento do cofre de chaves. Os clientes não devem colocar dados confidenciais em campos de nome ou criar aplicativos projetados para armazenar dados confidenciais nesses campos.
Os logs de telemetria são mantidos por um ano e meio. Durante esse período, a Microsoft pode acessar e fazer referência a nomes de objetos nas seguintes condições:
Diagnostique um problema, melhore um recurso ou corrija um bug. Nesse cenário, o acesso aos dados é apenas interno, sem acesso de terceiros.
Durante o suporte, essas informações podem ser usadas para fornecer resolução rápida de problemas e escalar a equipe do produto, se necessário
Proteção de dados
Na camada de armazenamento, a criptografia de dados é incorporada para todo o conteúdo gerenciado por serviço salvo no disco, incluindo índices, mapas de sinônimos e as definições de indexadores, fontes de dados e conjuntos de habilidades. A criptografia gerenciada por serviço se aplica ao armazenamento de dados de longo prazo e ao armazenamento temporário de dados.
Opcionalmente, você pode adicionar chaves gerenciadas pelo cliente (CMK) para criptografia suplementar de conteúdo indexado para criptografia dupla de dados em repouso. Para serviços criados após 1º de agosto de 2020, a criptografia CMK se estende a dados de curto prazo em discos temporários.
Dados em trânsito
Para conexões de serviço de pesquisa pela Internet pública, o Azure AI Search escuta na porta HTTPS 443.
O Azure AI Search suporta TLS 1.2 e 1.3 para criptografia de canal de cliente para serviço:
- TLS 1.3 é o padrão em sistemas operacionais cliente mais recentes e versões do .NET.
- TLS 1.2 é o padrão em sistemas mais antigos, mas você pode definir explicitamente TLS 1.3 em uma solicitação de cliente.
Não há suporte para versões anteriores do TLS (1.0 ou 1.1).
Para obter mais informações, consulte Suporte a TLS no .NET Framework.
Dados inativos
Para dados tratados internamente pelo serviço de pesquisa, a tabela a seguir descreve os modelos de criptografia de dados. Alguns recursos, como armazenamento de conhecimento, enriquecimento incremental e indexação baseada em indexador, leem ou gravam em estruturas de dados em outros Serviços do Azure. Os serviços que dependem do Armazenamento do Azure podem usar os recursos de criptografia dessa tecnologia.
Modelo | Chaves | Requerimentos | Restrições | Aplica-se a |
---|---|---|---|---|
criptografia do lado do servidor | Chaves geridas pela Microsoft | Nenhum (incorporado) | Nenhum, disponível em todos os níveis, em todas as regiões, para conteúdo criado após 24 de janeiro de 2018. | Conteúdo (índices e mapas de sinónimos) e definições (indexadores, fontes de dados, conjuntos de competências), em discos de dados e discos temporários |
criptografia do lado do servidor | chaves gerenciadas pelo cliente | Azure Key Vault | Disponível em níveis faturáveis, em regiões específicas, para conteúdo criado após 1º de agosto de 2020. | Conteúdo (índices e mapas de sinónimos) em discos de dados |
criptografia completa do lado do servidor | chaves gerenciadas pelo cliente | Azure Key Vault | Disponível em níveis faturáveis, em todas as regiões, em serviços de pesquisa após 13 de maio de 2021. | Conteúdo (índices e mapas de sinónimos) em discos de dados e discos temporários |
Chaves gerenciadas por serviço
A criptografia gerenciada por serviço é uma operação interna da Microsoft que usa criptografia AES de 256 bits. Ele ocorre automaticamente em toda a indexação, inclusive em atualizações incrementais de índices que não são totalmente criptografados (criados antes de janeiro de 2018).
A criptografia gerenciada por serviço se aplica a todo o conteúdo em armazenamento de longo e curto prazo.
Chaves gerenciadas pelo cliente (CMK)
As chaves gerenciadas pelo cliente exigem outro serviço faturável, o Azure Key Vault, que pode estar em uma região diferente, mas sob a mesma assinatura, como o Azure AI Search.
O suporte à CMK foi implementado em duas fases. Se você criou seu serviço de pesquisa durante a primeira fase, a criptografia CMK foi restrita ao armazenamento de longo prazo e regiões específicas. Os serviços criados na segunda fase, após maio de 2021, podem usar a criptografia CMK em qualquer região. Como parte da implantação da segunda onda, o conteúdo é criptografado por CMK no armazenamento de longo e curto prazo. Para obter mais informações sobre o suporte a CMK, consulte criptografia dupla completa.
Habilitar a criptografia CMK aumentará o tamanho do índice e degradará o desempenho da consulta. Com base nas observações feitas até o momento, você pode esperar um aumento de 30% a 60% nos tempos de consulta, embora o desempenho real varie dependendo da definição do índice e dos tipos de consultas. Devido ao impacto negativo no desempenho, recomendamos que você habilite esse recurso apenas em índices que realmente o exijam. Para obter mais informações, consulte Configurar chaves de criptografia gerenciadas pelo cliente no Azure AI Search.
Administração de segurança
Gerir chaves de API
A dependência da autenticação baseada em chave de API significa que você deve ter um plano para regenerar a chave de administrador em intervalos regulares, de acordo com as práticas recomendadas de segurança do Azure. Há um máximo de duas chaves de administrador por serviço de pesquisa. Para obter mais informações sobre como proteger e gerenciar chaves de API, consulte Criar e gerenciar chaves de api.
Registos de atividades e recursos
O Azure AI Search não registra identidades de usuário, portanto, você não pode consultar logs para obter informações sobre um usuário específico. No entanto, o serviço registra operações create-read-update-delete, que você pode correlacionar com outros logs para entender a agência de ações específicas.
Usando alertas e a infraestrutura de log no Azure, você pode pegar picos de volume de consulta ou outras ações que se desviam das cargas de trabalho esperadas. Para obter mais informações sobre como configurar logs, consulte Coletar e analisar dados de log e Monitorar solicitações de consulta.
Certificações e conformidade
O Azure AI Search participa em auditorias regulares e foi certificado de acordo com muitas normas globais, regionais e específicas da indústria para a nuvem pública e o Azure Government. Para obter a lista completa, baixe o whitepaper Ofertas de conformidade do Microsoft Azure na página oficial Relatórios de auditoria.
Para fins de conformidade, você pode usar a Política do Azure para implementar as práticas recomendadas de alta segurança do benchmark de segurança na nuvem da Microsoft. O benchmark de segurança na nuvem da Microsoft é uma coleção de recomendações de segurança, codificadas em controles de segurança que mapeiam as principais ações que você deve tomar para mitigar ameaças a serviços e dados. Existem atualmente 12 controlos de segurança, incluindo Segurança de Rede, Registo e Monitorização e Proteção de Dados.
A Política do Azure é uma funcionalidade incorporada no Azure que o ajuda a gerir a conformidade para vários padrões, incluindo os do benchmark de segurança na nuvem da Microsoft. Para benchmarks conhecidos, a Política do Azure fornece definições internas que fornecem critérios e uma resposta acionável que aborda a não conformidade.
Para o Azure AI Search, há atualmente uma definição interna. É para registro de recursos. Você pode atribuir uma política que identifique os serviços de pesquisa que estão faltando no log de recursos e, em seguida, ativá-la. Para obter mais informações, consulte Controles de conformidade regulatória da política do Azure para o Azure AI Search.
Assistir a este vídeo
Assista a este vídeo rápido para obter uma visão geral da arquitetura de segurança e de cada categoria de recurso.