Bezpečné použití Azure OpenAI na vašich datech

V tomto článku se dozvíte, jak bezpečně používat Azure OpenAI na vašich datech tím, že chráníte data a prostředky pomocí řízení přístupu na základě role na základě ID Microsoft Entra, virtuálních sítí a privátních koncových bodů.

Tento článek se dá použít jenom při použití Azure OpenAI ve vašich datech s textem. Nevztahuje se na Azure OpenAI ve vašich datech s obrázky.

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.

Diagram znázorňující proces ingestování dat

  • 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 se příjem dat aktivuje plánovanou aktualizací, 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:
    1. Interně používá první indexer vytvořený dříve k prolomení dokumentů.
    2. Používá heuristický algoritmus k provádění bloků dat, dodržování rozložení tabulek a dalších prvků formátování v hranici bloku, aby se zajistila nejlepší kvalita bloků dat.
    3. Pokud se rozhodnete povolit vektorové vyhledávání, Azure OpenAI použije vybrané nasazení vkládání k internímu 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í

Diagram znázorňující proces použití rozhraní API pro odvozování

Když odesíláte volání rozhraní API pro chatování s modelem Azure OpenAI na vašich datech, služba musí během odvozování načíst indexová pole, aby bylo možné automaticky provádět mapování polí, pokud mapování polí není explicitně nastavené v požadavku. 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 vložené nasazení, přepsaný dotaz bude vektorizován platformou Azure OpenAI a azure AI Search pro vektorové vyhledávání se odešle ve službě Azure AI Search.

Ří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, výsledky hledání vrácené službou Azure AI Search a použité k vygenerování odpovědi se oříznou na základě členství ve skupině Microsoft Entra uživatele. Přístup na úrovni dokumentu můžete povolit pouze u existujících indexů Azure AI Search. Povolení přístupu na úrovni dokumentu:

  1. Podle pokynů v dokumentaci ke službě Azure AI Search zaregistrujte aplikaci a vytvořte uživatele a skupiny.

  2. Indexujte dokumenty s povolenými skupinami. Ujistěte se, že nová pole zabezpečení mají následující 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říklad my_group_ids, můžete pole mapovat v mapování polí indexu.

  3. Ujistěte se, že každý citlivý dokument v indexu má správně nastavenou hodnotu pro toto pole zabezpečení, aby bylo možné určit povolené skupiny dokumentu.

  4. V Azure OpenAI Studiu 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 se nepovolí.

Azure OpenAI Studio

Po připojení indexu Azure AI Search budou vaše odpovědi v sadě Studio mít 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:

{
    "messages": [
        {
            "role": "user",
            "content": "who is my manager?"
        }
    ],
    "dataSources": [
        {
            "type": "AzureCognitiveSearch",
            "parameters": {
                "endpoint": "'$AZURE_AI_SEARCH_ENDPOINT'",
                "key": "'$AZURE_AI_SEARCH_API_KEY'",
                "indexName": "'$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 následujících 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é.

Tip

Skript Bash dostupný na GitHubu můžete použít k ověření nastavení a určení, jestli jsou splněné všechny zde uvedené požadavky.

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ě.

  1. První podsíť se používá pro privátní IP adresy tří privátních koncových bodů.
  2. Druhá podsíť se vytvoří automaticky při vytváření brány virtuální sítě.
  3. Třetí podsíť je prázdná a používá se pro integraci odchozí virtuální sítě webové aplikace.

Diagram znázorňující architekturu virtuální sítě

Všimněte si, že microsoft vytvořil spravovanou virtuální síť Microsoftu a vy ji nevidíte. Azure OpenAI používá spravovanou virtuální síť Microsoftu k bezpečnému přístupu k Azure AI Search.

Konfigurace Azure OpenAI

Povolení vlastní subdomény

Pokud jste vytvořili Azure OpenAI prostřednictvím webu Azure Portal, měla by už být vytvořena vlastní subdoména . Vlastní subdoména se vyžaduje pro ověřování na základě ID Microsoft Entra a privátní zóny DNS.

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. Snímek obrazovky znázorňující možnost spravované identity přiřazené 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": "12345678-abcd-1234-5678-abc123def",
  "tenantId": "1234567-abcd-1234-1234-abcd1234",
  "type": "SystemAssigned, UserAssigned", 
  "userAssignedIdentities": {
    "/subscriptions/1234-5678-abcd-1234-1234abcd/resourceGroups/my-resource-group",
    "principalId": "12345678-abcd-1234-5678-abcdefg1234", 
    "clientId": "12345678-abcd-efgh-1234-12345678"
  }
}

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.

Poznámka:

Funkce důvěryhodné služby je k dispozici pouze pomocí výše popsaného příkazu a nejde ji provést pomocí webu Azure Portal.

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 použití Azure OpenAI Studia, musíte vytvořit připojení privátního koncového bodu, která se připojují k vašemu prostředku Azure OpenAI.

Pro níže uvedené konfigurace můžete použít cenovou úroveň Basic a vyšší. Není to nutné, ale pokud použijete cenovou úroveň S2, zobrazí se další dostupné možnosti pro výběr.

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.

Snímek obrazovky znázorňující nastavení spravované identity pro Azure AI Search 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, vyberte na kartě Klíče na webu Azure Portal obě možnosti.

Snímek obrazovky znázorňující možnost spravované identity pro vyhledávání Azure AI na webu Azure Portal

Pokud chcete povolit řízení přístupu na základě role prostřednictvím rozhraní REST API, nastavte na hodnotu authOptionsaadOrApiKey. Další informace najdete v článku RBAC služby Azure AI Search.

"disableLocalAuth": false,
"authOptions": { 
    "aadOrApiKey": { 
        "aadAuthFailureMode": "http401WithBearerChallenge"
    }
}

Pokud chcete použít Azure OpenAI Studio, nemůžete zakázat ověřování na základě klíče rozhraní API pro Azure AI Search, protože Azure OpenAI Studio používá klíč rozhraní API k volání rozhraní API služby Azure AI Search z prohlížeče.

Tip

Pro zajištění nejlepšího zabezpečení doporučujeme, abyste klíč rozhraní API zakázali, když jste připraveni k produkčnímu prostředí a už k testování nepotřebujete Azure OpenAI Studio. Podrobnosti 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 vašemu prostředku Azure AI Search z klientských počítačů, jako je použití Azure OpenAI Studia, musíte vytvořit připojení privátního koncového bodu, která se připojují k vašemu prostředku Azure AI Search.

Poznámka:

Pokud chcete povolit přístup k prostředku Azure AI Search z prostředku Azure OpenAI, musíte odeslat formulář aplikace. Aplikace bude zkontrolována během 5 pracovních dnů a budete kontaktována prostřednictvím e-mailu o výsledcích. Pokud máte nárok, zřídíme privátní koncový bod ve virtuální síti spravované Microsoftem a odešleme žádost o připojení privátního koncového bodu do vyhledávací služby a budete muset žádost schválit.

Snímek obrazovky se schválením privátního koncového bodu

Prostředek privátního koncového bodu je zřízený ve spravovaném tenantovi Microsoftu, zatímco propojený prostředek je ve vašem tenantovi. K prostředku privátního koncového bodu nemáte přístup pouhým kliknutím na odkaz privátního koncového bodu (modrým písmem) na kartě Privátní přístup na stránce Sítě. Místo toho klikněte na jiné místo na řádku a potom by výše uvedené tlačítko Schválit mělo být možné kliknout.

Přečtěte si další informace o pracovním postupu ručního schvalování.

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 osm diagramu architektury příjmu dat změní z obejití důvěryhodné služby na privátní koncový bod.

Diagram znázorňující proces ingestování dat pomocí vyhledávacího prostředku S2

Sdílené privátní propojení Azure AI Search, které jste vytvořili, je také ve virtuální síti spravované Microsoftem, nikoli ve vaší virtuální síti. Rozdíl oproti ostatním spravovaným privátním koncovým bodům vytvořeným dříve spočívá v tom, že spravovaný privátní koncový bod [1] z Azure OpenAI do služby Azure Search se zřizuje prostřednictvím aplikace formuláře, zatímco spravovaný privátní koncový bod [2] ze služby Azure Search do Azure OpenAI je zřízený prostřednictvím webu Azure Portal nebo rozhraní REST API služby Azure Search.

Diagram znázorňující architekturu virtuální sítě s prostředkem vyhledávání S2

Konfigurace účtu úložiště

Povolení důvěryhodné služby

Pokud chcete povolit přístup k vašemu účtu úložiště z Azure OpenAI a Azure AI Search, zatímco účet úložiště nemá přístup k veřejné síti, musíte nastavit účet úložiště tak, aby obešel azure OpenAI a Azure AI Search jako důvěryhodné služby založené na spravované identitě.

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 azure OpenAI Studio, 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 výsledek předběžného zpracování do výstupního kontejneru.
Cognitive Services OpenAI Contributor Azure AI Vyhledávač Azure OpenAI Vlastní dovednost
Storage Blob Data Contributor Azure AI Vyhledávač Účet úložiště Čte objekt blob a zapisuje úložiště znalostí.

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 ze sady Azure OpenAI Studio 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.
Cognitive Services User Azure OpenAI Výpis klíčů rozhraní API ze sady Azure OpenAI Studio
Contributor Azure AI Vyhledávač Výpis klíčů rozhraní API pro výpis indexů ze sady Azure OpenAI Studio
Contributor Účet úložiště Výpis sdíleného přístupového podpisu účtu pro nahrání souborů z Azure OpenAI Studia
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.

Konfigurace brány a klienta

Pro přístup ke službě Azure OpenAI z místních klientských počítačů je jedním z přístupů 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.

Snímek obrazovky znázorňující, kam se má importovat profil Klient 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

Azure OpenAI Studio

Měli byste být schopni používat všechny funkce Azure OpenAI Studia, 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íť.

  1. Vytvořte privátní zónu DNS ve skupině prostředků.
  2. 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.
  3. 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 Azure OpenAI Studia 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.

Snímek obrazovky znázorňující konfiguraci odchozího provozu 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.

Snímek obrazovky znázorňující roli přispěvatele OpenAI služeb Cognitive Services na webu Azure Portal

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.

Další poznámky:

  • JOB_NAME v cestě rozhraní API se použije jako název indexu ve službě Azure AI Search.
  • Místo klíče api-key použijte hlavičku Authorization .
  • Explicitně nastavit storageEndpoint hlavičku.
  • Pro hlavičku použijte ResourceId= formát storageConnectionString , takže Azure OpenAI a Azure AI Search používají spravovanou identitu k ověření účtu úložiště, který je nutný k obejití omezení sítě.
  • NenastavujtesearchServiceAdminKey záhlaví. Identita prostředku Azure OpenAI přiřazená systémem se používá k ověření služby Azure AI Search.
  • Nenastavujte nebo embeddingKeynenastavujte embeddingEndpoint . Místo toho použijte embeddingDeploymentName záhlaví k povolení vektorizace textu.

Příklad odeslání úlohy

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X PUT https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/vpn1025a?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken" \
-H "storageEndpoint: https://mystorage.blob.core.windows.net/" \
-H "storageConnectionString: ResourceId=/subscriptions/1234567-abcd-1234-5678-1234abcd/resourceGroups/my-resource/providers/Microsoft.Storage/storageAccounts/mystorage" \
-H "storageContainer: my-container" \
-H "searchServiceEndpoint: https://mysearch.search.windows.net" \
-H "embeddingDeploymentName: ada" \
-d \
'
{
}
'

Příklad získání stavu úlohy

accessToken=$(az account get-access-token --resource https://cognitiveservices.azure.com/ --query "accessToken" --output tsv)
curl -i -X GET https://my-resource.openai.azure.com/openai/extensions/on-your-data/ingestion-jobs/abc1234?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken"

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í.