Ověřit se do aplikace funkce Azure pomocí "Easy Auth" (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.

Tento článek vysvětluje, jak nastavit připojení indexeru k aplikaci Funkcí Azure pomocí integrovaných možností ověřování služby Azure App Service, označované také jako Snadné ověřování. Aplikace Azure Functions jsou skvělým řešením pro hostování vlastních webových rozhraní API, které může služba Azure AI Vyhledávač použít k obohacení obsahu ingestovaného během spuštění indexeru, nebo pokud používáte vlastní model vkládání pro integrovanou vektorizaci, vektorizaci obsahu ve vyhledávacím dotazu.

Můžete použít spravovanou identitu přiřazenou systémem nebo uživatelem ve vyhledávací službě k ověření v aplikaci Azure Function. Tento přístup vyžaduje nastavení registrace aplikace Microsoft Entra ID k použití jako poskytovatele ověření pro aplikaci Azure Function, což je vysvětleno v tomto článku.

Požadavky

Konfigurace aplikace Microsoft Entra ID jako zprostředkovatele ověřování

Pokud chcete jako zprostředkovatele ověřování v aplikaci Azure Function App použít MICROSOFT Entra ID, musí se vytvořit registrace aplikace. Existují dvě možnosti: vytvořte jednu automaticky prostřednictvím samotné aplikace Azure Functions nebo použijte existující aplikaci. Další informace o těchto krocích najdete v dokumentaci ke službě App Service.

Bez ohledu na možnost se ujistěte, že je registrace aplikace nakonfigurovaná podle následujících kroků, aby byla kompatibilní se službou Azure AI Vyhledávač.

Ujistěte se, že registrace aplikace má nakonfigurovaný identifikátor URI ID aplikace.

Registrace aplikace by měla být nakonfigurovaná pomocí identifikátoru URI ID aplikace, který se dá použít jako cílová skupina tokenů s aplikacemi funkcí Azure a službou Azure AI Vyhledávač. Nakonfigurujte ho ve formátu api://<applicationId>. Můžete to provést tak, že přejdete do části Přehled registrace aplikace a nastavíte pole identifikátoru URI ID aplikace.

Snímek obrazovky s registrací aplikace nakonfigurovanou s identifikátorem URI ID aplikace

Nastavení podporovaných typů účtů pro ověřování

Přejděte do části Ověřování registrace aplikace a nakonfigurujte podporované typy účtů tak, aby ho k ověřování mohly používat jenom účty ve stejném adresáři organizace jako registrace aplikace.

Snímek obrazovky registrace aplikace s nakonfigurovanými podporovanými typy účtů

(Volitelné) Konfigurace tajného klíče klienta

App Service doporučuje pro aplikaci zprostředkovatele ověřování použít tajný klíč klienta. Ověřování stále funguje bez tajného klíče klienta, pokud jsou delegovaná oprávnění nastavená. Pokud chcete nastavit tajný klíč klienta, přejděte do části Certifikáty a tajné kódy registrace aplikace a přidejte nový tajný klíč klienta, jak je vysvětleno v tomto článku.

Snímek obrazovky registrace aplikace s možností konfigurace tajného klíče klienta

Přidání oboru pro delegování oprávnění

Přejděte do části Zveřejnění rozhraní API a nakonfigurujte registraci aplikace tak, aby měla obor, který na něj deleguje oprávnění správce a uživatele, aby se zajistilo, že je kompatibilní s tokem ověřování indexeru.

Snímek obrazovky s registrací aplikace, která deleguje obor oprávnění

Po nastavení oboru delegovaných oprávnění byste si měli všimnout v části Oprávnění rozhraní API registrace aplikace, že je nastavené rozhraní User.Read API v Microsoft.Graphu.

Snímek obrazovky s registrací aplikace s delegovanými oprávněními

Konfigurace zprostředkovatele ověřování Microsoft Entra ID v aplikaci Funkcí Azure

S klientskou aplikací zaregistrovanou v předchozích specifikacích je možné nastavit ověřování Microsoft Entra ID pro aplikaci funkcí Azure pomocí dokumentace ke službě App Service. Přejděte do části Ověřování aplikace Funkcí Azure a nastavte podrobnosti ověřování.

Ujistěte se, že jsou nakonfigurovaná následující nastavení, aby se služba Azure AI Vyhledávač úspěšně ověřila v aplikaci Funkcí Azure.

Konfigurace nastavení ověřování

  • Ujistěte se, že ověřování služby App Service je povoleno.
  • Omezení přístupu k aplikaci azure Function App na vyžadování ověřování
  • U neověřených požadavků preferuje HTTP 401: Neautorizováno

Následující snímek obrazovky zvýrazní tato konkrétní nastavení pro ukázkovou aplikaci Funkcí Azure.

Snímek obrazovky s aplikací Funkcí Azure, která má nakonfigurovaná nastavení ověřování

Přidejte zprostředkovatele ověřování Microsoft Entra ID

  • Přidejte ID Microsoft Entra jako zprostředkovatele ověřování pro aplikaci Funkcí Azure.
  • Buď vytvořte novou registraci aplikace, nebo zvolte dříve nakonfigurovanou registraci aplikace. Ujistěte se, že je nakonfigurovaná podle pokynů v předchozí části tohoto dokumentu.
  • Ujistěte se, že v části Povolené cílové skupiny tokenů je zadáno URI ID aplikace registrace. Měl by být ve api://<applicationId> formátu odpovídající tomu, co bylo nakonfigurováno s registrací aplikace vytvořenou dříve.
  • Pokud chcete, můžete nakonfigurovat další kontroly tak, aby omezovaly přístup konkrétně na indexer.

Snímek obrazovky aplikace Azure Functions s zprostředkovatelem ověřování Microsoft Entra ID

Konfigurace dalších kontrol

  • Ujistěte se, že jako požadavek na identitu je zadáno ID objektu (principal) konkrétního Azure AI Vyhledávač služby, tím, že zkontrolujete možnost Povolit požadavky z konkrétních identit a zadáte ID objektu (principal) v sekci identita.

Snímek obrazovky sekce Identity pro službu Azure AI Vyhledávač.

  • V požadavku klientské aplikace vyberte možnost Povolit požadavky z konkrétní klientské aplikace. Musíte vyhledat ID Klienta pro identitu služby Azure AI Vyhledávač. Abyste toho dosáhli, zkopírujte ID objektu (hlavního) z předchozího kroku a vyhledejte jej ve svém tenantovi Microsoft Entra ID. Měla by existovat odpovídající podniková aplikace, jejíž stránka přehledu obsahuje ID aplikace, což je identifikátor GUID, který je potřeba zadat jako požadavek klientské aplikace.

Snímek obrazovky s podrobnostmi podnikové aplikace identity služby Azure AI Vyhledávač

Poznámka:

Tento krok je nejdůležitější konfigurací aplikace Funkcí Azure a jeho nesprávné provedení může vést k tomu, že indexer nebude mít přístup k aplikaci Funkcí Azure. Ujistěte se, že správně vyhledáte podrobnosti podnikové aplikace identity, a na správných místech zadáte ID aplikace a ID objektu (hlavního subjektu).

  • V případě požadavku na tenanta zvolte některou z možností, které odpovídají stavu zabezpečení. Další informace najdete v dokumentaci ke službě App Service.

Nastavení připojení k aplikaci Funkcí Azure

V závislosti na tom, jestli je potřeba vytvořit připojení k aplikaci Azure Function App ve vlastní dovednosti webového rozhraní API nebo vektorizátoru vlastního webového rozhraní API, se definice JSON mírně liší. V obou případech se ujistěte, že pro aplikaci funkcí Azure zadáte správný identifikátor URI a nastavíte authResourceId hodnotu na stejnou hodnotu jako cílová skupina povolených tokenů nakonfigurovaná pro zprostředkovatele ověřování.

V závislosti na tom, jestli se rozhodnete připojit pomocí identity přiřazené systémem nebo identity přiřazené uživatelem, se požadované vlastnosti mírně liší.

Použijte identitu přiřazenou systémem

Tady je příklad volání funkce pojmenované test pro ukázkovou aplikaci funkcí Azure, kde se identita přiřazená systémem vyhledávací služby může ověřit prostřednictvím snadného ověřování.

"uri": "https://contoso-function-app.azurewebsites.net/api/test?",
"authResourceId": "api://00000000-0000-0000-0000-000000000000"

Použití identity přiřazené uživatelem

Tady je příklad volání do stejné funkce, kde se konkrétní identita přiřazená uživatelem může ověřit prostřednictvím snadného ověřování. Musíte zadat ID prostředku přesné identity přiřazené uživatelem, která se má použít ve identity vlastnosti konfigurace.

"uri": "https://contoso-function-app.azurewebsites.net/api/test?",
"authResourceId": "api://00000000-0000-0000-0000-000000000000",
"identity" : { 
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity": "/subscriptions/[subscription-id]/resourcegroups/[rg-name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[my-user-managed-identity-name]" 
    }

Poznámka:

Než zadáte uživatelem přiřazenou identitu v definici dovednosti Custom Web API nebo v definici vektorizátoru, přiřaďte tuto identitu ke službě Azure AI Vyhledávač.

Spuštěním indexeru nebo vektorizátoru ověřte oprávnění.

Pro vlastní dovednosti Web API se oprávnění ověřují při spuštění indexeru. U vektorizátoru se ověřují, když je vektorový dotaz vystaven pomocí vektorizátoru vlastního webového rozhraní API. Pokud chcete vyloučit jakékoli konkrétní problémy s ověřováním, můžete otestovat zakázáním zprostředkovatele ověřování v aplikaci funkcí Azure a zajištěním úspěšného volání z indexeru nebo vektorizátoru.

  • Pokud problémy s ověřováním potrvají, ujistěte se, že jsou v zprostředkovateli ověřování aplikace Azure Function zadané správné informace o identitě, konkrétně ID aplikace, ID objektu (hlavní) pro identitu služby Azure AI Vyhledávač.