Kurz: Indexování a rozšiřování šifrovaných objektů blob pro fulltextové vyhledávání ve službě Azure AI Vyhledávač

Poznámka:

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Naučte se používat Azure AI Vyhledávač k indexování dokumentů zašifrovaných pomocí klíče spravovaného zákazníkem ve službě Azure Blob Storage.

Indexer obvykle nemůže extrahovat obsah z objektů blob, které byly šifrované pomocí šifrování na straně klienta v klientské knihovně služby Azure Blob Storage. Důvodem je to, že indexer nemá přístup k šifrovacímu klíči spravovanému zákazníkem ve službě Azure Key Vault. Pomocí vlastní dovednosti DecryptBlobFile a dovednosti extrakce dokumentů však můžete poskytnout řízený přístup k klíči k dešifrování souborů a pak extrahovat obsah z nich. Tím se odemkne možnost indexovat a rozšířit tyto dokumenty bez ohrožení stavu šifrování uložených dokumentů.

Počínaje dříve šifrovanými celými dokumenty (nestrukturovaným textem), jako jsou PDF, HTML, DOCX a PPTX ve službě Azure Blob Storage, tento kurz používá klienta REST a rozhraní REST API služby Search k těmto účelům:

  • Definování kanálu, který dešifruje dokumenty a extrahuje z nich text
  • Definování indexu pro uložení výstupu
  • Spusťte proces pipeline k vytvoření a načtení indexu.
  • Prozkoumejte výsledky pomocí fulltextového vyhledávání a bohaté syntaxe dotazu

Požadavky

Nasazení vlastních dovedností vytvoří aplikaci funkcí Azure a účet Azure Storage. Tyto prostředky jsou vytvořeny pro vás, a nejsou tak uváděny jako požadavky. Po dokončení tohoto výukového programu nezapomeňte odstranit prostředky, abyste se neúčtovali za služby, které nepoužíváte.

Poznámka:

Sady dovedností často vyžadují připojení prostředku Microsoft Foundry. Jak je uvedeno, tato sada dovedností nemá žádnou závislost na Foundry, takže není potřeba žádný klíč. Pokud později přidáte rozšíření, která vyvolávají předdefinované dovednosti, nezapomeňte odpovídajícím způsobem aktualizovat sadu dovedností.

Nasaďte vlastní dovednost

Tento kurz používá ukázkový projekt DecryptBlobFile z úložiště Azure Search Power Skills na GitHubu. V této části nasadíte dovednost do funkce Azure Functions, aby ji bylo možné použít v sadě dovedností. Integrovaný skript nasazení vytvoří prostředek funkce Azure Function s předponou psdbf-function-app- a načte funkci. Zobrazí se výzva k zadání předplatného a skupiny prostředků. Nezapomeňte zvolit předplatné, které obsahuje vaši instanci služby Azure Key Vault.

Funkce DecryptBlobFile operativně přijímá adresu URL a token SAS jako vstupy pro každý objekt blob. Vypíše stažený dešifrovaný soubor pomocí kontraktu odkazu na soubor, který služba Azure AI Vyhledávač očekává. Vzpomeňte si, že DecryptBlobFile potřebuje šifrovací klíč k provedení dešifrování. V rámci nastavení vytvoříte také zásadu přístupu, která uděluje funkci DecryptBlobFile přístup k šifrovacímu klíči ve službě Azure Key Vault.

  1. Na cílové stránce DecryptBlobFile vyberte Nasadit do Azure a otevřete šablonu Resource Manageru na webu Azure Portal.

  2. Zvolte předplatné, ve kterém existuje vaše instance služby Azure Key Vault. Tento kurz nefunguje, pokud zvolíte jiné předplatné.

  3. Vyberte existující skupinu prostředků nebo vytvořte novou. Vyhrazená skupina prostředků usnadňuje pozdější úklid.

  4. Vyberte Zkontrolovat a vytvořit, odsouhlaste podmínky a pak vyberte Vytvořit pro nasazení funkce Azure Functions.

    Snímek obrazovky se stránkou šablony ARM na webu Azure Portal

  5. Počkejte na dokončení nasazení.

Měli byste mít aplikaci Funkcí Azure, která obsahuje logiku dešifrování a prostředek Azure Storage, který bude ukládat data aplikací. V dalších krocích udělíte aplikaci oprávnění pro přístup k trezoru klíčů a shromáždíte informace, které budete potřebovat pro volání REST.

Udělení oprávnění ve službě Azure Key Vault

  1. Na webu Azure Portal přejděte do služby Azure Key Vault. Vytvořte zásadu přístupu ve službě Azure Key Vault, která uděluje přístup ke klíčům pro vlastní schopnost.

  2. V levém podokně vyberte Zásady přístupu a pak výběrem + Vytvořit spusťte Průvodce vytvořením zásad přístupu .

    Snímek obrazovky s příkazem Zásady přístupu v levém podokně

  3. Na stránce Oprávnění v části Konfigurovat ze šablony vyberte Azure Data Lake Storage nebo Azure Storage.

  4. Vyberte Další.

  5. Na stránce Hlavní vyberte instanci funkce Azure, kterou jste nasadili. Můžete ji vyhledat pomocí její předpony prostředku, která má výchozí hodnotu psdbf-function-app.

  6. Vyberte Další.

  7. Na Zkontrolovat a vytvořit zvolte Vytvořit.

Shromažďování informací o aplikaci

  1. Na webu Azure Portal přejděte na funkci psdbf-function-app . Poznamenejte si následující vlastnosti, které budete potřebovat pro volání REST.

  2. Získejte adresu URL funkce, kterou najdete v části Základy na hlavní stránce funkce.

    Snímek obrazovky přehledové stránky a části Základy aplikace Azure Functions.

  3. Získejte kód klíče hostitele, který najdete tak, že přejdete na klíče aplikace a zobrazíte výchozí klíč a zkopírujete hodnotu.

    Snímek obrazovky stránky Klíče aplikace Azure Function

  1. Na webu Azure Portal přejděte do vyhledávací služby.

  2. Na stránce Přehled vyhledávací služby získejte název vyhledávací služby. Název služby můžete potvrdit kontrolou adresy URL koncového bodu. Pokud je adresa URL https://mydemo.search.windows.netkoncového bodu například , název vaší služby je mydemo.

  3. V Nastavení>Klíče získejte klíč správce pro plná práva ke službě. Existují dva zaměnitelné klíče správce, které jsou k dispozici pro zajištění kontinuity podnikových procesů v případě, že potřebujete jeden převést. Objekty můžete přidávat, upravovat nebo odstraňovat pomocí klíče u požadavků.

Klíč rozhraní API se vyžaduje v hlavičce každého požadavku odeslaného do vaší služby. Platný klíč vytváří vztah důvěryhodnosti mezi aplikací, která žádost odesílá, a službou, která ji zpracovává.

Nastavení klienta REST

Vytvořte následující proměnné pro koncové body a klíče.

Variable Kde ho získat
admin-key Na stránce Klíče služby Azure AI Vyhledávač.
search-service-name Název služby Azure AI Vyhledávač. Adresa URL je https://{{search-service-name}}.search.windows.net.
storage-connection-string V účtu úložiště na kartě Přístupové klíče vyberte key1>připojovací řetězec.
storage-container-name Název kontejneru blob, který obsahuje zašifrované soubory určené k indexování.
function-uri Ve funkci Azure Functions v části Základy na hlavní stránce.
function-code Ve funkci Azure Functions přejděte na klíče aplikace, zobrazte výchozí klíč a zkopírujte hodnotu.
api-version Nechte 2020-06-30.
datasource-name Ponechejte jako šifrované objekty blob-ds.
index-name Ponechejte jako encrypted-blobs-idx.
skillset-name Ponechejte jako encrypted-blobs-ss.
indexer-name Ponechejte jako encrypted-blobs-ixr.

Kontrola a spuštění jednotlivých požadavků

K vytvoření objektů kanálu rozšiřování použijte následující požadavky HTTP.

  • Požadavek PUT na vytvoření indexu: Tento vyhledávací index obsahuje data, která Azure AI Vyhledávač používá a vrací.

  • Požadavek POST na vytvoření zdroje dat: Tento zdroj dat určuje připojení k vašemu účtu úložiště obsahujícímu šifrované soubory objektů blob.

  • Požadavek PUT na vytvoření sady dovedností: Sada dovedností určuje definici vlastní dovednosti pro funkci Azure Functions, která dešifruje data souboru objektu blob. Určuje také DocumentExtractionSkill pro extrahování textu z každého dokumentu po jeho dešifrování.

  • Požadavek PUT na vytvoření indexeru: Při spuštění indexer načte objektové blob, použije sadu dovedností, zkatalogizuje a uloží výsledky. Tento požadavek musíte spustit jako poslední. Vlastní dovednost v sadě dovedností vyvolá logiku dešifrování.

Monitorování indexování

Indexování a rozšiřování se zahájí, jakmile odešlete žádost o vytvoření indexeru. V závislosti na tom, kolik dokumentů je v účtu úložiště, může indexování chvíli trvat. Pokud chcete zjistit, jestli je indexer stále spuštěný, odešlete žádost o získání stavu indexeru a zkontrolujte odpověď a zjistěte, jestli je indexer spuštěný, nebo zobrazte informace o chybě a upozornění.

Pokud používáte úroveň Free, očekávejte následující zprávu: "Could not extract content or metadata from your document. Truncated extracted text to '32768' characters". Tato zpráva se zobrazí, protože indexování objektů blob na úrovni Free má limit 32 000 při extrakci znaků. Tato zpráva pro tuto datovou sadu na vyšších úrovních se nezobrazuje.

Hledání obsahu

Po dokončení provádění indexeru můžete spustit dotazy, abyste ověřili, že se data úspěšně dešifrují a indexují. Na webu Azure Portal přejděte do služby Azure AI Vyhledávač a pomocí Průzkumníka služby Search spusťte dotazy na indexovaná data.

Vyčistěte zdroje

Když pracujete ve vlastním předplatném, je na konci projektu vhodné odebrat prostředky, které už nepotřebujete. Prostředky ponechané v provozu mohou způsobit výdaje. Prostředky můžete odstranit jednotlivě nebo odstranit skupinu prostředků a odstranit tak celou sadu prostředků.

Prostředky můžete najít a spravovat na webu Azure Portal pomocí odkazu Všechny prostředky nebo skupiny prostředků v levém navigačním podokně.

Další kroky

Teď, když jste indexovali šifrované soubory, můžete iterovat v tomto kanálu tím, že přidáte další dovednosti k obohacení a získání dalších přehledů o vašich datech.

Pokud pracujete s doubly šifrovanými daty, možná budete chtít prozkoumat funkce šifrování indexu dostupné ve službě Azure AI Vyhledávač. I když indexer potřebuje dešifrovaná data pro účely indexování, jakmile index existuje, může být zašifrován v indexu vyhledávání pomocí klíče spravovaného zákazníkem. Tím zajistíte, že se vaše data při nečinnosti vždy šifrují. Další informace najdete v tématu Konfigurace klíčů spravovaných zákazníkem pro šifrování dat ve službě Azure AI Vyhledávač.