Konfigurace sítě a přístupu pro Azure OpenAI ve vašich datech
Poznámka:
Od června 2024 už není potřeba formulář aplikace pro privátní koncový bod spravovaný Microsoftem do služby Azure AI Search.
Spravovaný privátní koncový bod se odstraní z virtuální sítě spravované Microsoftem v červenci 2025. Pokud jste už prostřednictvím procesu aplikace zřídili spravovaný privátní koncový bod před červnem 2024, povolte důvěryhodnou službu Azure AI Search co nejdříve, abyste se vyhnuli přerušení služeb.
V tomto článku se dozvíte, jak nakonfigurovat sítě a přístup při používání Azure OpenAI na vašich datech s řízením přístupu na základě role na základě ID Microsoft Entra, virtuálními sítěmi a privátními koncovými body.
Architektura příjmu dat
Při použití Azure OpenAI On Your Data k ingestování dat z Úložiště objektů blob v Azure, místních souborů nebo adres URL do služby Azure AI Search se k zpracování dat použije následující proces.
- Kroky 1 a 2 se používají pouze k nahrání souboru.
- V tomto diagramu se nezobrazují adresy URL pro stahování adres URL do úložiště objektů blob. Po stažení webových stránek z internetu a nahrání do úložiště objektů blob jsou kroky 3 stejné.
- Dva indexery, dva indexy, dva zdroje dat a vlastní dovednost , se vytvářejí v prostředku Azure AI Search.
- Kontejner bloků dat se vytvoří v úložišti objektů blob.
- Pokud plán aktivuje příjem dat, proces příjmu dat začíná od kroku 7.
- Rozhraní API Azure OpenAI
preprocessing-jobs
implementuje protokol webového rozhraní API pro dovednosti zákazníka Azure AI Search a zpracovává dokumenty ve frontě. - Azure OpenAI:
- Interně používá první indexer vytvořený dříve k prolomení dokumentů.
- Používá heuristický algoritmus k provádění bloků dat. Respektuje rozložení tabulek a další prvky formátování v hranici bloků dat, aby se zajistila nejlepší kvalita bloků dat.
- Pokud se rozhodnete povolit vektorové vyhledávání, Azure OpenAI použije vybrané nastavení vkládání k vektorizaci bloků dat.
- Když se zpracovávají všechna data, která služba monitoruje, Azure OpenAI aktivuje druhý indexer.
- Indexer ukládá zpracovávaná data do Search Azure AI.
Pro spravované identity používané při volání služby se podporují pouze spravované identity přiřazené systémem. Spravované identity přiřazené uživatelem se nepodporují.
Architektura odvození
Při odesílání volání rozhraní API pro chatování s modelem Azure OpenAI na vašich datech musí služba načíst pole indexu během odvozování, aby bylo možné provádět mapování polí. Proto služba vyžaduje, aby identita Azure OpenAI měla Search Service Contributor
roli vyhledávací služby i během odvozování.
Pokud je v požadavku na odvozování k dispozici závislost vkládání, Azure OpenAI vektorizuje přepsaný dotaz a dotaz i vektor se odešlou do Azure AI Search pro vektorové vyhledávání.
Řízení přístupu na úrovni dokumentu
Poznámka:
Řízení přístupu na úrovni dokumentu se podporuje jenom pro vyhledávání Azure AI.
Azure OpenAI On Your Data umožňuje omezit dokumenty, které se dají použít v odpovědích pro různé uživatele pomocí filtrů zabezpečení služby Azure AI Search. Když povolíte přístup na úrovni dokumentu, Azure AI Search ořízne výsledky hledání na základě členství ve skupině Microsoft Entra zadané ve filtru. Přístup na úrovni dokumentu můžete povolit pouze u existujících indexů Azure AI Search. Povolení přístupu na úrovni dokumentu:
Pokud chcete zaregistrovat aplikaci a vytvořit uživatele a skupiny, postupujte podle pokynů v dokumentaci ke službě Azure AI Search.
Indexujte dokumenty s povolenými skupinami. Ujistěte se, že nová pole zabezpečení mají schéma:
{"name": "group_ids", "type": "Collection(Edm.String)", "filterable": true }
group_ids
je výchozí název pole. Pokud použijete jiný název pole, napříkladmy_group_ids
, můžete pole mapovat v mapování polí indexu.Ujistěte se, že každý citlivý dokument v indexu má tuto hodnotu pole zabezpečení nastavenou na povolené skupiny dokumentu.
Na portálu Azure AI Foundry přidejte zdroj dat. v části mapování polí indexu můžete namapovat nulovou nebo jednu hodnotu na povolené pole skupin, pokud je schéma kompatibilní. Pokud není namapované pole povolené skupiny, přístup na úrovni dokumentu je zakázaný.
Portál Azure AI Foundry
Po připojení indexu Azure AI Search mají vaše odpovědi v studiu přístup k dokumentům na základě oprávnění Microsoft Entra přihlášeného uživatele.
Webová aplikace
Pokud používáte publikovanou webovou aplikaci, musíte ji znovu nasadit, abyste mohli upgradovat na nejnovější verzi. Nejnovější verze webové aplikace zahrnuje možnost načíst skupiny přihlášeného účtu Microsoft Entra uživatele, uložit do mezipaměti a zahrnout ID skupin do jednotlivých požadavků rozhraní API.
Rozhraní API
Při použití rozhraní API předejte filter
parametr v každém požadavku rozhraní API. Příklad:
Důležité
Tady je například jenom následující příklad. Pokud používáte klíč rozhraní API, uložte ho bezpečně někam jinam, například ve službě Azure Key Vault. Nezahrnujte klíč rozhraní API přímo do kódu a nikdy ho nevštěvujte veřejně.
Další informace o zabezpečení služeb AI najdete v tématu Ověřování požadavků na služby Azure AI.
{
"messages": [
{
"role": "user",
"content": "who is my manager?"
}
],
"data_sources": [
{
"type": "azure_search",
"parameters": {
"endpoint": "<AZURE_AI_SEARCH_ENDPOINT>",
"key": "<AZURE_AI_SEARCH_API_KEY>",
"index_name": "<AZURE_AI_SEARCH_INDEX>",
"filter": "my_group_ids/any(g:search.in(g, 'group_id1, group_id2'))"
}
}
]
}
-
my_group_ids
je název pole, který jste vybrali pro povolené skupiny během mapování polí. -
group_id1, group_id2
jsou skupiny přiřazené přihlášeným uživatelům. Klientská aplikace může načítat a ukládat do mezipaměti skupiny uživatelů.
Konfigurace prostředků
Pomocí následujících částí nakonfigurujte prostředky pro optimální zabezpečené využití. I když plánujete zabezpečit jenom část prostředků, musíte postupovat podle všech kroků.
Tento článek popisuje nastavení sítě související se zákazem veřejné sítě pro prostředky Azure OpenAI, prostředky azure AI Search a účty úložiště. Použití vybraných sítí s pravidly PROTOKOLU IP se nepodporuje, protože IP adresy služeb jsou dynamické.
Vytvořit skupinu zdrojů
Vytvořte skupinu prostředků, abyste mohli uspořádat všechny relevantní prostředky. Mezi prostředky ve skupině prostředků patří mimo jiné:
- Jedna virtuální síť
- Tři klíčové služby: jeden Azure OpenAI, jeden Azure AI Search, jeden účet úložiště
- Tři privátní koncové body, z nichž každá je propojená s jednou klíčovou službou
- Tři síťová rozhraní, z nichž každá je přidružená k jednomu privátnímu koncovému bodu
- Jedna brána virtuální sítě pro přístup z místních klientských počítačů
- Jedna webová aplikace s integrovanou virtuální sítí
- Jedna Privátní DNS zóna, takže webová aplikace najde IP adresu vašeho Azure OpenAI.
Vytvoření virtuální sítě
Virtuální síť má tři podsítě.
- První podsíť se používá pro bránu virtuální sítě.
- Druhá podsíť se používá pro privátní koncové body pro tři klíčové služby.
- Třetí podsíť je prázdná a používá se pro integraci odchozí virtuální sítě webové aplikace.
Konfigurace Azure OpenAI
Povolení vlastní subdomény
Vlastní subdoména se vyžaduje pro ověřování na základě ID Microsoft Entra a privátní zóny DNS. Pokud se prostředek Azure OpenAI vytvoří pomocí šablony ARM, je nutné explicitně zadat vlastní subdoménu.
Povolení spravované identity
Pokud chcete službě Azure AI Search a účtu úložiště povolit rozpoznávání služby Azure OpenAI prostřednictvím ověřování Microsoft Entra ID, musíte přiřadit spravovanou identitu pro službu Azure OpenAI. Nejjednodušším způsobem je přepnout spravovanou identitu přiřazenou systémem na webu Azure Portal.
Informace o nastavení spravovaných identit prostřednictvím rozhraní API pro správu najdete v referenční dokumentaci k rozhraní API pro správu.
"identity": {
"principalId": "<YOUR-PRINCIPAL-ID>",
"tenantId": "<YOUR-TENNANT-ID>",
"type": "SystemAssigned, UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<YOUR-SUBSCIRPTION-ID>/resourceGroups/my-resource-group",
"principalId": "<YOUR-PRINCIPAL-ID>",
"clientId": "<YOUR-CLIENT-ID>"
}
}
Povolení důvěryhodné služby
Pokud chcete službě Azure AI Search povolit volání webového rozhraní Azure OpenAI preprocessing-jobs
jako webového rozhraní API pro vlastní dovednosti, zatímco Azure OpenAI nemá přístup k veřejné síti, musíte nastavit Azure OpenAI tak, aby se služba Azure AI Search obešla jako důvěryhodná služba založená na spravované identitě. Azure OpenAI identifikuje provoz z azure AI Search ověřením deklarací identity ve webovém tokenu JSON (JWT). Azure AI Search musí k volání webového rozhraní API pro vlastní dovednosti použít ověřování spravované identity přiřazené systémem.
Nastavte networkAcls.bypass
jako AzureServices
z rozhraní API pro správu. Další informace najdete v článku o virtuálních sítích.
Tento krok můžete přeskočit jenom v případě, že máte sdílený privátní odkaz pro prostředek Azure AI Search.
Zakázání přístupu k veřejné síti
Přístup k veřejné síti prostředku Azure OpenAI můžete zakázat na webu Azure Portal.
Pokud chcete povolit přístup ke službě Azure OpenAI z klientských počítačů, jako je portál Azure AI Foundry, musíte vytvořit připojení privátního koncového bodu, která se připojují k vašemu prostředku Azure OpenAI.
Konfigurace služby Azure AI Search
Pro vyhledávací prostředek můžete použít základní cenovou úroveň a vyšší. Není to nutné, ale pokud používáte cenovou úroveň S2, jsou k dispozici pokročilé možnosti .
Povolení spravované identity
Pokud chcete ostatním prostředkům umožnit rozpoznávání služby Azure AI Search pomocí ověřování Microsoft Entra ID, musíte přiřadit spravovanou identitu pro službu Azure AI Search. Nejjednodušším způsobem je přepnout spravovanou identitu přiřazenou systémem na webu Azure Portal.
Povolení řízení přístupu na základě role
Vzhledem k tomu, že Azure OpenAI používá spravovanou identitu pro přístup ke službě Azure AI Search, musíte ve službě Azure AI Search povolit řízení přístupu na základě role. Pokud to chcete udělat na webu Azure Portal, na kartě Klíče na webu Azure Portal vyberte Řízenípřístupu na základě rolí nebo Obojí.
Další informace najdete v článku RBAC služby Azure AI Search.
Zakázání přístupu k veřejné síti
Přístup k veřejné síti prostředku Azure AI Search můžete zakázat na webu Azure Portal.
Pokud chcete povolit přístup k prostředku Azure AI Search z klientských počítačů, jako je portál Azure AI Foundry, musíte vytvořit připojení privátního koncového bodu, která se připojují k vašemu prostředku Azure AI Search.
Povolení důvěryhodné služby
Důvěryhodnou službu vašeho vyhledávacího prostředku můžete povolit na webu Azure Portal.
Přejděte na kartu sítě vašeho vyhledávacího prostředku. Pokud je přístup k veřejné síti nastavený na zakázáno, vyberte Možnost Povolit službám Azure v seznamu důvěryhodných služeb přístup k této vyhledávací službě.
K povolení důvěryhodné služby můžete použít také rozhraní REST API. V tomto příkladu jq
se používá Azure CLI a nástroj.
rid=/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.Search/searchServices/<YOUR-RESOURCE-NAME>
apiVersion=2024-03-01-Preview
#store the resource properties in a variable
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" > search.json
#replace bypass with AzureServices using jq
jq '.properties.networkRuleSet.bypass = "AzureServices"' search.json > search_updated.json
#apply the updated properties to the resource
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" \
--method PUT \
--body @search_updated.json
Vytvoření sdíleného privátního propojení
Tip
Pokud používáte cenovou úroveň Basic nebo Standard nebo pokud jste poprvé nastavili všechny prostředky bezpečně, měli byste toto pokročilé téma přeskočit.
Tato část se vztahuje pouze na vyhledávací prostředek cenové úrovně S2, protože vyžaduje podporu privátních koncových bodů pro indexery se sadou dovedností.
Pokud chcete vytvořit sdílený privátní odkaz z vašeho vyhledávacího prostředku, který se připojuje k prostředku Azure OpenAI, projděte si dokumentaci k hledání. Vyberte typ prostředku jako Microsoft.CognitiveServices/accounts
a ID skupiny jako openai_account
.
Se sdíleným privátním propojením se krok 8 diagramu architektury příjmu dat změní z obejití důvěryhodné služby na sdílené privátní propojení.
Konfigurace účtu úložiště
Povolení důvěryhodné služby
Pokud chcete povolit přístup k účtu úložiště z Azure OpenAI a Azure AI Search, musíte nastavit účet úložiště tak, aby obejilil Azure OpenAI a Azure AI Search jako důvěryhodné služby na základě spravované identity.
Na webu Azure Portal přejděte na kartu Sítě účtu úložiště, zvolte Vybrané sítě a pak v seznamu důvěryhodných služeb vyberte Povolit službám Azure přístup k tomuto účtu úložiště a klikněte na Uložit.
Zakázání přístupu k veřejné síti
Přístup k veřejné síti účtu úložiště můžete zakázat na webu Azure Portal.
Pokud chcete povolit přístup ke svému účtu úložiště z klientských počítačů, jako je použití portálu Azure AI Foundry, musíte vytvořit připojení privátního koncového bodu, která se připojují k úložišti objektů blob.
Přiřazení rolí
Zatím jste už nastavili každou práci na zdroji nezávisle. Dále je potřeba službám povolit, aby se vzájemně autorizovaly.
Role | Pověřená osoba | Resource | Popis |
---|---|---|---|
Search Index Data Reader |
Azure OpenAI | Azure AI Vyhledávač | Služba odvozování dotazuje data z indexu. |
Search Service Contributor |
Azure OpenAI | Azure AI Vyhledávač | Služba odvozování dotazuje schéma indexu pro automatické mapování polí. Služba pro příjem dat vytváří index, zdroje dat, sadu dovedností, indexer a dotazuje stav indexeru. |
Storage Blob Data Contributor |
Azure OpenAI | Účet úložiště | Načte ze vstupního kontejneru a zapíše předzpracovaný výsledek do výstupního kontejneru. |
Cognitive Services OpenAI Contributor |
Azure AI Vyhledávač | Azure OpenAI | Vlastní dovednost. |
Storage Blob Data Reader |
Azure AI Vyhledávač | Účet úložiště | Čte objekty blob dokumentu a bloky objektů blob. |
Reader |
Projekt Azure AI Foundry | Privátní koncové body služby Azure Storage (objekt blob a soubor) | Čtení indexů vyhledávání vytvořených v úložišti objektů blob v rámci projektu Azure AI Foundry |
Cognitive Services OpenAI User |
Webová aplikace | Azure OpenAI | Odvození. |
Ve výše uvedené tabulce znamená, Assignee
že spravovaná identita prostředku přiřazená systémem.
Správce musí mít k Owner
těmto prostředkům roli, aby mohl přidat přiřazení rolí.
Pokyny k nastavení těchto rolí na webu Azure Portal najdete v dokumentaci k Azure RBAC. K programovému přidání přiřazení rolí můžete použít dostupný skript na GitHubu .
Aby vývojáři mohli tyto prostředky používat k vytváření aplikací, musí správce přidat identitu vývojářů s následujícími přiřazeními rolí k prostředkům.
Role | Resource | Popis |
---|---|---|
Cognitive Services OpenAI Contributor |
Azure OpenAI | Volání veřejného rozhraní API pro příjem dat z portálu Azure AI Foundry Role Contributor nestačí, protože pokud máte Contributor jenom roli, nemůžete volat rozhraní API roviny dat prostřednictvím ověřování Microsoft Entra ID a ověřování Microsoft Entra ID je vyžadováno v zabezpečeném nastavení popsaném v tomto článku. |
Contributor |
Azure AI Vyhledávač | Výpis klíčů rozhraní API pro výpis indexů z portálu Azure AI Foundry |
Contributor |
Účet úložiště | Výpis sdíleného přístupového podpisu účtu pro nahrání souborů z portálu Azure AI Foundry |
Contributor |
Skupina prostředků nebo předplatné Azure, do kterého musí vývojář nasadit webovou aplikaci | Nasaďte webovou aplikaci do předplatného Azure vývojáře. |
Role Based Access Control Administrator |
Azure OpenAI | Oprávnění ke konfiguraci potřebného přiřazení role u prostředku Azure OpenAI Umožňuje webové aplikaci volat Azure OpenAI. |
Konfigurace brány a klienta
Jedním z přístupů ke službě Azure OpenAI z místních klientských počítačů je konfigurace služby Azure VPN Gateway a Klient Azure VPN.
Podle tohoto návodu vytvořte bránu virtuální sítě pro vaši virtuální síť.
Podle tohoto návodu přidejte konfiguraci typu point-to-site a povolte ověřování založené na microsoft Entra ID. Stáhněte konfigurační balíček Klient Azure VPN profilu, rozbalte ho a naimportujte ho AzureVPN/azurevpnconfig.xml
do klienta Azure VPN.
Nakonfigurujte soubor místního počítače hosts
tak, aby odkazovat názvy hostitelů prostředků na privátní IP adresy ve vaší virtuální síti. Soubor hosts
se nachází ve C:\Windows\System32\drivers\etc
Windows a v /etc/hosts
Linuxu. Příklad:
10.0.0.5 contoso.openai.azure.com
10.0.0.6 contoso.search.windows.net
10.0.0.7 contoso.blob.core.windows.net
Portál Azure AI Foundry
Měli byste být schopni používat všechny funkce portálu Azure AI Foundry, včetně příjmu dat i odvozování, z místních klientských počítačů.
Webová aplikace
Webová aplikace komunikuje s prostředkem Azure OpenAI. Vzhledem k tomu, že váš prostředek Azure OpenAI má zakázanou veřejnou síť, musí být webová aplikace nastavená tak, aby používala privátní koncový bod ve vaší virtuální síti pro přístup k vašemu prostředku Azure OpenAI.
Webová aplikace musí přeložit název hostitele Azure OpenAI na privátní IP adresu privátního koncového bodu pro Azure OpenAI. Proto musíte nejprve nakonfigurovat privátní zónu DNS pro vaši virtuální síť.
- Vytvořte privátní zónu DNS ve skupině prostředků.
- Přidejte záznam DNS. IP adresa je privátní IP adresa privátního koncového bodu vašeho prostředku Azure OpenAI a IP adresu můžete získat ze síťového rozhraní přidruženého k privátnímu koncovému bodu pro azure OpenAI.
- Propojte privátní zónu DNS s vaší virtuální sítí , aby webová aplikace integrovaná v této virtuální síti používala tuto privátní zónu DNS.
Při nasazování webové aplikace z portálu Azure AI Foundry vyberte stejné umístění s virtuální sítí a vyberte správnou skladovou položku, aby podporovala funkci integrace virtuální sítě.
Po nasazení webové aplikace na kartě sítě na webu Azure Portal nakonfigurujte integraci virtuální sítě odchozího provozu webové aplikace a zvolte třetí podsíť, kterou jste si rezervovali pro webovou aplikaci.
Použití rozhraní API
Ujistěte se, že přihlašovací údaje mají Cognitive Services OpenAI Contributor
roli ve vašem prostředku Azure OpenAI, a spusťte az login
nejprve.
Rozhraní API pro příjem dat
Podrobnosti o objektech požadavků a odpovědí používaných rozhraním API pro příjem dat najdete v referenčním článku k rozhraní API pro příjem dat.
Rozhraní API pro odvození
Podrobnosti o objektech požadavků a odpovědí používaných rozhraním API pro odvozování najdete v referenčním článku rozhraní API pro odvozování.
Použití Microsoft Defenderu pro cloud
Teď můžete integrovat Microsoft Defender for Cloud (Preview) s prostředky Azure za účelem ochrany vašich aplikací. Microsoft Defender for Cloud chrání vaše aplikace pomocí ochrany před hrozbami pro úlohy AI a poskytuje týmům výstrahy zabezpečení založené na důkazech obohacené o signály Analýzy hrozeb Microsoftu a umožňuje týmům posílit stav zabezpečení pomocí integrovaných doporučení osvědčených postupů zabezpečení.
Tento formulář použijte pro přístup.