Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
Saiba como usar o Pesquisa de IA do Azure para indexar documentos criptografados com uma chave gerenciada pelo cliente no Armazenamento de Blobs do Azure.
Normalmente, um indexador não pode extrair conteúdo de blobs que foram criptografados usando criptografia do lado do cliente na biblioteca Armazenamento de Blobs do Azure cliente. Isso ocorre porque o indexador não tem acesso à chave de criptografia gerenciada pelo cliente no Azure Key Vault. No entanto, usando a habilidade personalizada DecryptBlobFile e a habilidade de Extração de Documentos, você pode fornecer acesso controlado à chave para descriptografar os arquivos e extrair conteúdo deles. Isso desbloqueia a capacidade de indexar e enriquecer esses documentos sem comprometer o status de criptografia de seus documentos armazenados.
Começando com documentos inteiros criptografados anteriormente (texto não estruturado), como PDF, HTML, DOCX e PPTX no Armazenamento de Blobs do Azure, este tutorial usa um cliente REST e as APIs REST de Pesquisa para:
- Definir um fluxo de trabalho que descriptografe os documentos e extraia o texto deles
- Definir um índice para armazenar a saída
- Executar o pipeline para criar e carregar o índice
- Explorar os resultados usando a pesquisa de texto completo e uma sintaxe de consulta avançada
Pré-requisitos
Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Pesquisa de IA do Azure em qualquer camada ou região.
Armazenamento do Azure, desempenho Padrão (uso geral v2).
Os blobs criptografados com uma chave gerenciada pelo cliente. Para criar dados de exemplo, consulte Tutorial: Criptografar e descriptografar blobs usando o Azure Key Vault.
Azure Key Vault na mesma assinatura do Pesquisa de IA do Azure . O cofre de chaves deve ter exclusão suave e proteção contra purga habilitadas.
A implantação de habilidades personalizadas cria um aplicativo de funções do Azure e uma conta de Armazenamento Azure. Esses recursos são criados para você, portanto, eles não são listados como um pré-requisito. Ao concluir este tutorial, lembre-se de limpar os recursos para que você não seja cobrado pelos serviços que não está usando.
Observação
Os conjuntos de habilidades geralmente exigem a anexação de um recurso do Microsoft Foundry. Conforme escrito, esse conjunto de habilidades não tem dependência da Foundry, portanto, nenhuma chave é necessária. Se mais tarde você adicionar enriquecimentos que invocam habilidades internas, lembre-se de atualizar seu conjunto de habilidades adequadamente.
Implantar a habilidade personalizada
Este tutorial usa o projeto DecryptBlobFile de exemplo do repositório GitHub do Azure Search Power Skills . Nesta seção, você implantará a habilidade em uma Função do Azure para que ela possa ser usada em um conjunto de habilidades. Um script de implantação interno cria um recurso de Função do Azure com um prefixo psdbf-function-app- e carrega a habilidade. Você será solicitado a fornecer uma assinatura e um grupo de recursos. Escolha a assinatura que contém sua instância do Azure Key Vault.
Operacionalmente, a habilidade DecryptBlobFile usa a URL e o token SAS para cada blob como entradas. Ele gera o arquivo baixado e descriptografado usando o contrato de referência de arquivo que o Pesquisa de IA do Azure espera. Lembre-se de que DecryptBlobFile precisa da chave de criptografia para executar a descriptografia. Como parte da instalação, você também cria uma política de acesso que concede acesso à função DecryptBlobFile à chave de criptografia no Azure Key Vault.
Na página inicial DecryptBlobFile, selecione Implantar no Azure para abrir o modelo do Gerenciador de Recursos no portal do Azure.
Escolha a assinatura na qual a instância do Azure Key Vault existe. Este tutorial não funcionará se você escolher uma assinatura diferente.
Selecione um grupo de recursos existente ou crie um novo. Um grupo de recursos dedicado facilita a limpeza mais tarde.
Selecione Examinar + criar, concordar com os termos e, em seguida, selecione Criar para implantar a Função do Azure.
Aguarde até que a implantação seja concluída.
Você deve ter um aplicativo de funções do Azure que contenha a lógica de descriptografia e um recurso de Armazenamento do Azure que armazenará dados do aplicativo. Nas próximas etapas, você concede permissões ao aplicativo para acessar o cofre de chaves e coletar informações necessárias para as chamadas REST.
Conceder permissões no Azure Key Vault
Acesse seu serviço do Azure Key Vault no portal do Azure. Crie uma política de acesso no Azure Key Vault que conceda acesso de chave à habilidade personalizada.
No painel esquerdo, selecione políticas de acesso e, em seguida, selecione + Criar para iniciar o assistente Criar uma política de acesso .
Na página Permissões, em Configurar do modelo, selecione Azure Data Lake Storage ou Armazenamento do Microsoft Azure.
Selecione Próximo.
Na página Principal , selecione a instância da Função do Azure que você implantou. Você pode pesquisá-lo usando seu prefixo de recurso, que tem um valor padrão de psdbf-function-app.
Selecione Próximo.
Em Examinar + criar, selecione Criar.
Coletar informações do aplicativo
Acesse a função psdbf-function-app no portal do Azure. Anote as propriedades a seguir que você precisará para as chamadas REST.
Obtenha a URL da função, que pode ser encontrada em Essentials na página principal da função.
Obtenha o código da chave de host, que pode ser encontrado acessando as chaves do aplicativo e mostrando a chave padrão e copiando o valor.
Obter uma chave de administrador e um URL para a Pesquisa de IA do Azure
Acesse seu serviço de pesquisa no portal do Azure.
Na página Visão geral do serviço de pesquisa, obtenha o nome do serviço de pesquisa. Você pode confirmar o nome do serviço revisando a URL do endpoint. Por exemplo, se a URL do ponto de extremidade for
https://mydemo.search.windows.net, o nome do serviço serámydemo.Em Chaves de Configurações>, obtenha uma chave de administrador para obter direitos completos sobre o serviço. Há duas chaves de administração intercambiáveis, fornecidas para a continuidade dos negócios, caso seja necessário sobrepor uma. Você pode usar uma chave em solicitações para adicionar, modificar ou excluir objetos.
Uma chave de API é necessária no cabeçalho de cada solicitação enviada ao serviço. Uma chave válida estabelece a confiança, por solicitação, entre o aplicativo que envia a solicitação e o serviço que a manipula.
Configurar um cliente REST
Crie as variáveis a seguir para pontos de extremidade e chaves.
| Variable | Onde obtê-lo |
|---|---|
admin-key |
Na página Chaves do serviço Pesquisa de IA do Azure . |
search-service-name |
O nome do serviço Pesquisa de IA do Azure . A URL é https://{{search-service-name}}.search.windows.net. |
storage-connection-string |
Na conta de armazenamento, na guia Chaves de Acesso, selecione key1>cadeia de conexão. |
storage-container-name |
O nome do contêiner de blob que tem os arquivos criptografados a serem indexados. |
function-uri |
Na Função do Azure, em Essentials, na página principal. |
function-code |
No Azure Function, acessando as chaves do aplicativo, mostrando a chave padrão e copiando o valor. |
api-version |
Deixe como 2020-06-30. |
datasource-name |
Deixe como encrypted-blobs-ds. |
index-name |
Deixe como encrypted-blobs-idx. |
skillset-name |
Deixe como encrypted-blobs-ss. |
indexer-name |
Deixe como encrypted-blobs-ixr. |
Examinar e executar cada solicitação
Use as solicitações HTTP a seguir para criar os objetos de um pipeline de enriquecimento.
Solicitação PUT para criar o índice: esse índice de pesquisa contém os dados que o Pesquisa de IA do Azure usa e retorna.
Solicitação POST para criar a fonte de dados: essa fonte de dados especifica a conexão com sua conta de armazenamento que contém os arquivos de blob criptografados.
Solicitação PUT para criar o conjunto de habilidades: o conjunto de habilidades especifica a definição de habilidade personalizada para a Função do Azure que descriptografará os dados do arquivo de blob. Ele também especifica um DocumentExtractionSkill para extrair o texto de cada documento depois de descriptografado.
Solicitação PUT para criar o indexador: a execução do indexador recupera os blobs, aplica o conjunto de habilidades e indexa e armazena os resultados. Você deve executar esta solicitação por último. A habilidade personalizada no conjunto de habilidades invoca a lógica de descriptografia.
Monitorar a indexação
A indexação e o enriquecimento começam assim que você envia a solicitação Criar Indexador. Dependendo de quantos documentos estão em sua conta de armazenamento, a indexação pode demorar um pouco. Para descobrir se o indexador ainda está em execução, envie uma solicitação Obter Status do Indexador e examine a resposta para saber se o indexador está em execução ou exibir informações de erro e aviso.
Se você estiver usando a camada Gratuita, espere a seguinte mensagem: "Could not extract content or metadata from your document. Truncated extracted text to '32768' characters". Essa mensagem é exibida porque a indexação de blobs na camada Gratuita tem um limite de 32.000 na extração de caracteres. Você não vê essa mensagem para esse conjunto de dados em camadas mais altas.
Pesquisar seu conteúdo
Após a conclusão da execução do indexador, você pode executar consultas para verificar se os dados foram descriptografados e indexados com êxito. Acesse seu serviço do Pesquisa de IA do Azure no portal do Azure e use o Gerenciador de Pesquisa para executar consultas nos dados indexados.
Limpar os recursos
Quando você está trabalhando em sua própria assinatura, no final de um projeto, é uma boa ideia remover os recursos que já não são necessários. Recursos deixados em execução podem custar dinheiro. Você pode excluir os recursos individualmente ou excluir o grupo de recursos para excluir todo o conjunto de recursos.
Você pode encontrar e gerenciar recursos no portal do Azure usando o link "Todos os recursos" ou "Grupos de recursos" no painel de navegação do lado esquerdo.
Próximas etapas
Agora que você indexou arquivos criptografados, você pode aperfeiçoar este pipeline adicionando mais funcionalidades para enriquecer e adquirir mais informações sobre seus dados.
Se você estiver trabalhando com dados criptografados duplamente, talvez queira investigar os recursos de criptografia de índice disponíveis no Pesquisa de IA do Azure . Embora o indexador precise de dados descriptografados para fins de indexação, uma vez que o índice exista, ele pode ser criptografado em um índice de pesquisa usando uma chave gerenciada pelo cliente. Isso garante que seus dados sejam sempre criptografados quando em repouso. Para obter mais informações, consulte Configurar chaves gerenciadas pelo cliente para criptografia de dados no Pesquisa de IA do Azure .