Připojení vyhledávací služby k jiným prostředkům Azure prostřednictvím spravované identity

Můžete nakonfigurovat Search Azure AI pro připojení k jiným prostředkům Azure pomocí spravované identity přiřazené systémem nebo přiřazené uživatelem a přiřazení role Azure. Spravované identity a přiřazení rolí eliminují potřebu předávání tajných kódů a přihlašovacích údajů v připojovací řetězec nebo kódu.

Požadavky

  • Vyhledávací služba na úrovni Basic nebo vyšší.

  • Prostředek Azure, který přijímá příchozí požadavky z přihlášení Microsoft Entra s platným přiřazením role.

Podporované scénáře

Azure AI Search může u odchozích připojení k prostředkům Azure používat spravovanou identitu přiřazenou systémem nebo přiřazenou uživatelem. Spravovaná identita systému se označuje, když připojovací řetězec je jedinečné ID prostředku služby nebo aplikace pracující s ID Microsoft Entra. Spravovaná identita přiřazená uživatelem se zadává prostřednictvím vlastnosti identity.

Vyhledávací služba používá Azure Storage jako zdroj dat indexeru a jako jímku dat pro ladicí relace, ukládání do mezipaměti rozšiřování a úložiště znalostí. Pro funkce vyhledávání, které se zapisuje zpět do úložiště, potřebuje spravovaná identita přiřazení role přispěvatele, jak je popsáno v části Přiřazení role .

Scénář Spravovaná identita systému Spravovaná identita přiřazená uživatelem (Preview)
Připojení indexeru k podporovaným zdrojůmdat Azure 13 Ano Yes
Azure Key Vault pro klíče spravované zákazníkem Ano Yes
Ladicí relace (hostované ve službě Azure Storage)1 Yes No
Mezipaměť rozšiřování (hostovaná ve službě Azure Storage)1,2 Ano Yes
Knowledge Store (hostované ve službě Azure Storage)1 Ano Yes
Vlastní dovednosti (hostované ve službě Azure Functions nebo ekvivalentní) Ano Yes
Dovednosti vkládání v Azure OpenAI Ano Yes
Vektorizátor Azure OpenAI Ano Yes

1 Pro připojení mezi vyhledáváním a úložištěm konfigurace zabezpečení sítě omezuje, jaký typ spravované identity můžete použít. K připojení k úložišti prostřednictvím výjimky důvěryhodné služby nebo pravidla instance prostředku je možné použít pouze identitu spravovanou systémem. Podrobnosti najdete v tématu Přístup k účtu úložiště chráněnému sítí.

2 Jedna metoda pro určení mezipaměti rozšiřování je v Průvodci importem dat. Průvodce v současné době nepřijímá spravovanou identitu připojovací řetězec pro mezipaměť rozšiřování. Po dokončení průvodce ale můžete aktualizovat připojovací řetězec v definici JSON indexeru tak, aby zadali spravovanou identitu přiřazenou systémem nebo uživatelem a pak indexer znovu spusťte.

3 Poznámka: Zakázání klíčů v účtu úložiště Azure se v současné době nepodporuje pro tabulku Azure, která se používá jako zdroj dat. I když se spravovaná identita nepoužívá explicitně k poskytnutí klíčů úložiště, vyhledávací služba AI stále používá klíče pro tuto implementaci.

Vytvoření spravované identity systému

Když je povolená spravovaná identita přiřazená systémem, Azure vytvoří identitu pro vaši vyhledávací službu, která se dá použít k ověření v jiných službách Azure ve stejném tenantovi a předplatném. Tuto identitu pak můžete použít v přiřazeních řízení přístupu na základě role v Azure (Azure RBAC), která umožňují přístup k datům během indexování.

Spravovaná identita přiřazená systémem je jedinečná pro vaši vyhledávací službu a je svázaná se službou po celou dobu jejího života.

  1. Přihlaste se k webu Azure Portal a vyhledejte vyhledávací službu.

  2. V části Nastavení vyberte Identita.

  3. Na kartě Přiřazený systém v části Stav vyberte Zapnuto.

  4. Zvolte Uložit.

    Snímek obrazovky se stránkou Identita na webu Azure Portal

    Po uložení uvidíte identifikátor objektu, který je přiřazený k vaší vyhledávací službě.

    Snímek obrazovky s identifikátorem objektu systémové identity

Vytvoření spravované identity přiřazené uživatelem (Preview)

Spravovaná identita přiřazená uživatelem je prostředek v Azure. Je užitečné, pokud potřebujete v přiřazeních rolí větší členitost, protože můžete vytvořit samostatné identity pro různé aplikace a scénáře.

Důležité

Tato funkce je ve verzi Public Preview v rámci doplňkových podmínek použití. Spravované identity přiřazené uživatelem se v současné době nepodporují pro připojení k účtu úložiště chráněnému sítí. Žádost o vyhledávání aktuálně vyžaduje veřejnou IP adresu.

  1. Přihlaste se k portálu Azure Portal.

  2. Vyberte + Vytvořit prostředek.

  3. Na panelu hledání "Search s a marketplace" vyhledejte spravovanou identitu přiřazenou uživatelem a pak vyberte Vytvořit.

    Snímek obrazovky dlaždice spravované identity přiřazené uživatelem na Azure Marketplace

  4. Vyberte předplatné, skupinu prostředků a oblast. Zadejte popisný název identity.

  5. Vyberte Vytvořit a počkejte na dokončení nasazení prostředku.

    V několika dalších krocích přiřadíte spravované identitě přiřazené uživatelem k vyhledávací službě.

  6. Na stránce vyhledávací služby v části Nastavení vyberte Identita.

  7. Na kartě Přiřazený uživatel vyberte Přidat.

  8. Zvolte předplatné a pak vyberte spravovaný prostředek přiřazený uživatelem, který jste vytvořili v předchozím kroku.

Povolit přístup k bráně firewall

Pokud je váš prostředek Azure za bránou firewall, ujistěte se, že existuje příchozí pravidlo, které přijímá požadavky z vaší vyhledávací služby.

  • Pro připojení stejné oblasti ke službě Azure Blob Storage nebo Azure Data Lake Storage Gen2 použijte identitu spravovanou systémem a výjimku důvěryhodné služby. Volitelně můžete nakonfigurovat pravidlo instance prostředku tak, aby přijímalo požadavky.

  • Pro všechny ostatní prostředky a připojení nakonfigurujte pravidlo brány firewall protokolu IP, které přijímá požadavky z vyhledávání. Podrobnosti najdete v tématu Přístup k obsahu chráněnému funkcemi zabezpečení sítě Azure.

Přiřazení role

Spravovaná identita musí být spárovaná s rolí Azure, která určuje oprávnění k prostředku Azure.

  • Pro datová připojení indexeru a pro přístup ke klíči spravovanému zákazníkem ve službě Azure Key Vault jsou potřeba oprávnění čtenáře dat.

  • Oprávnění přispěvatele (zápisu) jsou potřebná pro funkce rozšiřování AI, které používají Azure Storage k hostování dat relace ladění, ukládání do mezipaměti rozšiřování a dlouhodobého úložiště obsahu v úložišti znalostí.

Následující kroky jsou určené pro Azure Storage. Pokud je vaším prostředkem Azure Cosmos DB nebo Azure SQL, postup je podobný.

  1. Přihlaste se k webu Azure Portal a najděte prostředek Azure, ke kterému musí mít vyhledávací služba přístup.

  2. V Azure Storage vyberte v levém navigačním podokně řízení přístupu (AIM ).

  3. Vyberte Přidat přiřazení role.

  4. Na stránce Role vyberte role potřebné pro vaši vyhledávací službu:

    Úloha Přiřazení role
    Indexování objektů blob pomocí indexeru Přidání čtečky dat objektů blob služby Storage
    Indexování ADLS Gen2 pomocí indexeru Přidání čtečky dat objektů blob služby Storage
    Indexování tabulek pomocí indexeru Přidání čtečky a přístupu k datům
    Indexování souborů pomocí indexeru Přidání čtečky a přístupu k datům
    Zápis do úložiště znalostí Přidání DataContributoru objektu blob služby Storage pro projekce objektů a souborů a Čtenář a Přístup k datům pro projekce tabulek
    Zápis do mezipaměti pro rozšiřování Přidání přispěvatele dat objektů blob úložiště
    Uložení stavu relace ladění Přidání přispěvatele dat objektů blob úložiště
    Vkládání dat (vektorizace) pomocí modelů vkládání Azure OpenAI Přidání uživatele OpenAI služeb Cognitive Services
  5. Na stránce Členové vyberte Spravovanou identitu.

  6. Vyberte členy. Na stránce Vybrat spravovanou identitu zvolte své předplatné a pak vyfiltrujte podle typu služby a pak tuto službu vyberte. K výběru budou k dispozici pouze služby, které mají spravovanou identitu.

    Snímek obrazovky s podoknem vybrat spravovanou identitu v průvodci přiřazením role

  7. Vyberte Zkontrolovat + přiřadit.

Příklady řetězců Připojení ion

Po definování spravované identity pro vyhledávací službu a přiřazení role je možné odchozí připojení upravit tak, aby používala jedinečné ID prostředku druhého prostředku Azure. Tady je několik příkladů připojovací řetězec pro různé scénáře.

Zdroj dat objektů blob (systém):

Zdroj dat indexeru obsahuje vlastnost "credentials", která určuje způsob vytvoření připojení ke zdroji dat. Následující příklad ukazuje připojovací řetězec určení jedinečného ID prostředku účtu úložiště. ID Microsoft Entra ověří požadavek pomocí systémové spravované identity vyhledávací služby. Všimněte si, že připojovací řetězec neobsahuje kontejner. V definici zdroje dat je název kontejneru zadán ve vlastnosti "kontejner" (není zobrazeno), nikoli v připojovací řetězec.

"credentials": {
    "connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
    }

Zdroj dat objektu blob (uživatel):

Žádost o vyhledávání ve službě Azure Storage je také možné provést v rámci spravované identity přiřazené uživatelem, která je aktuálně ve verzi Preview. Identita uživatele vyhledávací služby je zadána ve vlastnosti "identity". K nastavení identity můžete použít portál nebo rozhraní REST API Preview verze 2021-04-30-Preview.

"credentials": {
    "connectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
    },
  . . .
"identity": {
    "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
    "userAssignedIdentity": "/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-assigned-managed-identity-name}"
  }

Úložiště znalostí:

Definice úložiště znalostí zahrnuje připojovací řetězec do služby Azure Storage. Úložiště znalostí v Azure Storage vytvoří projekce jako objekty blob a tabulky. Připojovací řetězec je jedinečné ID prostředku vašeho účtu úložiště. Všimněte si, že řetězec v cestě neobsahuje kontejnery ani tabulky. Ty jsou definovány v definici vložené projekce, nikoli v připojovací řetězec.

"knowledgeStore": {
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/storage-account-name};"
}

Mezipaměť rozšiřování:

Indexer vytvoří, použije a pamatuje kontejner použitý pro rozšiřování v mezipaměti. Kontejner není nutné zahrnout do připojovací řetězec mezipaměti. ID objektu najdete na stránce Identita vyhledávací služby na portálu.

"cache": {
  "enableReprocessing": true,
  "storageConnectionString": "ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name};"
}

Ladicí relace:

Ladicí relace se spustí na portálu a při spuštění relace vezme připojovací řetězec. Můžete vložit řetězec podobný následujícímu příkladu.

"ResourceId=/subscriptions/{subscription-ID}/resourceGroups/{resource-group-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}/{container-name};",

Vlastní dovednost:

Vlastní dovednost cílí na koncový bod funkce Azure nebo aplikace hostující vlastní kód. Koncový bod je zadaný v definici vlastní dovednosti. Přítomnost authResourceId říká vyhledávací službě, aby se připojila pomocí spravované identity a předala ID aplikace cílové funkce nebo aplikace ve vlastnosti.

{
  "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
  "description": "A custom skill that can identify positions of different phrases in the source text",
  "uri": "https://contoso.count-things.com",
  "authResourceId": "<Azure-AD-registered-application-ID>",
  "batchSize": 4,
  "context": "/document",
  "inputs": [ ... ],
  "outputs": [ ...]
}

Dovednosti vkládání Azure OpenAI a vektorizátor Azure OpenAI:

Dovednost a vektorizátor vkládání Azure OpenAI do služby AI Search cílí na koncový bod služby Azure OpenAI hostující model vkládání. Koncový bod se zadává v definici dovednosti azure OpenAI pro vkládání a/nebo v definici vektorizátoru Azure OpenAI. Identita spravovaná systémem se používá, pokud je nakonfigurovaná a pokud je klíč apikey a authIdentity prázdné. Vlastnost authIdentity se používá pouze pro spravovanou identitu přiřazenou uživatelem.

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://url.openai.azure.com/",
  "deploymentId": "text-embedding-ada-002",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}
 "vectorizers": [
    {
      "name": "my_azure_open_ai_vectorizer",
      "kind": "azureOpenAI",
      "azureOpenAIParameters": {
        "resourceUri": "https://url.openai.azure.com",
        "deploymentId": "text-embedding-ada-002"
      }
    }
  ]

Viz také