Nawiązywanie połączenia z Azure Storage przy użyciu tożsamości zarządzanej (Wyszukiwanie AI platformy Azure)

Uwaga

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.

W tym artykule wyjaśniono, jak skonfigurować połączenie usługi wyszukiwania z kontem Azure Storage przy użyciu tożsamości zarządzanej zamiast podawania poświadczeń w parametry połączenia.

Można użyć tożsamości zarządzanej przypisanej przez system lub tożsamości zarządzanej przypisanej przez użytkownika. Tożsamości zarządzane to tożsamości Microsoft Entra i wymagają przypisania ról w celu uzyskania dostępu do Azure Storage.

Wymagania wstępne

  • Wyszukiwanie AI platformy Azure, warstwa Podstawowa lub nowsza z usługą Managed Identity.

Uwaga

Jeśli magazyn jest chroniony siecią i znajduje się w tym samym regionie co usługa wyszukiwania, musisz użyć tożsamości zarządzanej przypisanej przez system oraz jednej z następujących opcji sieciowych: połączenie jako zaufana usługa lub połączenie przy użyciu reguły instancji zasobu.

Tworzenie przypisania roli w Azure Storage

  1. Zaloguj się do portalu Azure i znajdź swoje konto magazynowe.

  2. Wybierz pozycję Kontrola dostępu (IAM).

  3. Wybierz pozycję Dodaj , a następnie wybierz pozycję Przypisanie roli.

  4. Z listy funkcji zadań wybierz role potrzebne do Twojej usługi wyszukiwania.

    Zadanie Przypisanie roli
    Indeksowanie obiektów blob przy użyciu indeksatora Dodaj czytnik danych obiektów blob dla usługi Storage
    Indeksowanie usługi ADLS Gen2 przy użyciu indeksatora Dodaj czytnik danych obiektów blob dla usługi Storage
    Indeksowanie tabel przy użyciu indeksatora Dodaj czytnik danych tabeli Storage
    Indeksowanie plików przy użyciu indeksatora Dodawanie czytnika i dostępu do danych
    Napisz do magazynu wiedzy Dodaj kontrybutora danych Azure Blob dla projekcji obiektów i plików oraz Czytelnik i Dostęp do Danych dla projekcji tabel.
    Zapis do pamięci podręcznej rozszerzania (wersja zapoznawcza) Dodawanie współautora danych obiektu blob usługi Storage i współautora danych tabeli usługi Storage
    Zapisywanie stanu sesji debugowania Dodaj kontrybutora danych obiektu blob Storage
  5. Wybierz pozycję Dalej.

  6. Wybierz pozycję Tożsamość zarządzana , a następnie wybierz pozycję Członkowie.

  7. Filtruj według tożsamości zarządzanych przypisanych przez system lub tożsamości zarządzanych przypisanych przez użytkownika. Powinna zostać wyświetlona tożsamość zarządzana, która została wcześniej utworzona dla usługi wyszukiwania. Jeśli go nie masz, zobacz Konfigurowanie wyszukiwania w celu korzystania z tożsamości zarządzanej. Jeśli już ją skonfigurowałeś/skonfigurowałaś, ale nie jest dostępna, daj jej kilka minut.

  8. Wybierz tożsamość i zapisz przypisanie roli.

Określanie tożsamości zarządzanej w parametry połączenia

Po przypisaniu roli można skonfigurować połączenie z Azure Storage, które działa w ramach tej roli.

Indeksatory używają obiektu źródła danych do połączeń z zewnętrznym źródłem danych. W tej sekcji wyjaśniono, jak określić zarządzaną tożsamość przypisaną przez system lub zarządzaną tożsamość przypisaną przez użytkownika w ciągu połączenia źródła danych. Więcej przykładów ciągów połączenia można znaleźć w artykule dotyczącym tożsamości zarządzanych.

Wskazówka

Możesz utworzyć połączenie ze źródłem danych do usługi Azure Storage w portalu Azure, określając tożsamość zarządzaną przypisaną przez system lub użytkownika, a następnie wyświetlić definicję JSON, aby zobaczyć, jak sformułowano ciąg połączenia.

Tożsamość zarządzana przypisana przez system

Musisz mieć już skonfigurowaną zarządzaną tożsamość przypisaną do systemu i musi ona mieć przypisaną rolę w Azure Storage.

W przypadku połączeń wykonanych przy użyciu tożsamości zarządzanej przypisanej przez system jedyną zmianą definicji źródła danych jest format credentials właściwości.

Podaj ciąg połączeniowy, który zawiera ResourceId i nie zawiera klucza konta ani hasła. Element ResourceId musi zawierać identyfikator subskrypcji konta magazynu, grupę zasobów konta magazynu i nazwę konta magazynu.

POST https://[service name].search.windows.net/datasources?api-version=2026-04-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    }
}   

Tożsamość zarządzana przypisana przez użytkownika

Musisz mieć już skonfigurowaną tożsamość zarządzaną przypisaną do użytkownika i skojarzoną z usługą wyszukiwania, a ta tożsamość musi mieć przypisanie roli w Azure Storage.

Połączenia wykonywane za pośrednictwem tożsamości zarządzanych przypisanych przez użytkownika wykorzystują w ten sam sposób poświadczenia co tożsamość zarządzana przypisana przez system, plus dodatkową właściwość tożsamości, która zawiera kolekcję tych tożsamości. Podczas tworzenia źródła danych należy podać tylko jedną tożsamość zarządzaną przypisaną przez użytkownika.

Podaj ciąg połączeniowy, który zawiera ResourceId i nie zawiera klucza konta ani hasła. Element ResourceId musi zawierać identyfikator subskrypcji konta magazynu, grupę zasobów konta magazynu i nazwę konta magazynu.

Podaj składnię identity pokazaną w poniższym przykładzie. Ustaw userAssignedIdentity na tożsamość zarządzaną przypisaną przez użytkownika.

POST https://[service name].search.windows.net/datasources?api-version=2026-04-01

{
    "name" : "blob-datasource",
    "type" : "azureblob",
    "credentials" : { 
        "connectionString" : "ResourceId=/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.Storage/storageAccounts/MY-DEMO-STORAGE-ACCOUNT/;" 
    },
    "container" : { 
        "name" : "my-container", "query" : "<optional-virtual-directory-name>" 
    },
    "identity" : { 
        "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
        "userAssignedIdentity" : "/subscriptions/00000000-0000-0000-0000-00000000/resourcegroups/MY-DEMO-RESOURCE-GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MY-DEMO-USER-MANAGED-IDENTITY" 
    }
}   

Informacje o połączeniu i uprawnienia w usłudze zdalnej są weryfikowane w czasie wykonywania indeksatora. Jeśli indeksacja zakończy się sukcesem, składnia połączenia i przypisania ról są prawidłowe. Aby uzyskać więcej informacji, zobacz Uruchamianie lub resetowanie indeksatorów, umiejętności lub dokumentów.

Uzyskiwanie dostępu do danych zabezpieczonych za pomocą sieci w kontach magazynowych

Azure konta magazynowe można dodatkowo zabezpieczyć za pomocą zapór i sieci wirtualnych. Jeśli chcesz indeksować zawartość z konta magazynu zabezpieczonego przy użyciu zapory lub sieci wirtualnej, zobacz Tworzenie połączeń indeksujących z usługą Azure Storage jako zaufaną usługą.

Zobacz też