Nawiązywanie połączenia z usługą Azure Storage przy użyciu tożsamości zarządzanej (Azure AI Search)
W tym artykule wyjaśniono, jak skonfigurować połączenie usługi wyszukiwania z kontem usługi 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 identyfikatory logowania firmy Microsoft Entra i wymagają przypisań ról w celu uzyskania dostępu do usługi Azure Storage.
Wymagania wstępne
- Usługa Azure AI Search, warstwa Podstawowa lub nowsza z tożsamością zarządzaną.
Uwaga
Jeśli magazyn jest chroniony przez sieć i w tym samym regionie co usługa wyszukiwania, musisz użyć tożsamości zarządzanej przypisanej przez system i jednej z następujących opcji sieciowych: połączyć się jako zaufaną usługę lub nawiązać połączenie przy użyciu reguły wystąpienia zasobu.
Tworzenie przypisania roli w usłudze Azure Storage
Zaloguj się do witryny Azure Portal i znajdź swoje konto magazynu.
Wybierz pozycję Kontrola dostępu (IAM).
Wybierz pozycję Dodaj , a następnie wybierz pozycję Przypisanie roli.
Z listy ról funkcji zadania wybierz role wymagane dla usługi wyszukiwania:
Zadanie Przypisanie roli Indeksowanie obiektów blob przy użyciu indeksatora Dodawanie czytnika danych obiektu blob usługi Storage Indeksowanie usługi ADLS Gen2 przy użyciu indeksatora Dodawanie czytnika danych obiektu blob usługi Storage Indeksowanie tabel przy użyciu indeksatora Dodawanie czytnika i dostępu do danych Indeksowanie plików przy użyciu indeksatora Dodawanie czytnika i dostępu do danych Zapisywanie w magazynie wiedzy Dodaj obiekt Blob DataContributor usługi Storage dla projekcji obiektów i plików oraz czytnika i dostępu do danych dla projekcji tabel. Zapisywanie w pamięci podręcznej wzbogacania Dodawanie współautora danych obiektu blob usługi Storage Zapisywanie stanu sesji debugowania Dodawanie współautora danych obiektu blob usługi Storage Wybierz Dalej.
Wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Członkowie.
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ć, ale nie jest dostępna, daj jej kilka minut.
Wybierz tożsamość i zapisz przypisanie roli.
Określanie tożsamości zarządzanej w parametry połączenia
Po przypisaniu roli możesz skonfigurować połączenie z usługą Azure Storage, która 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ć tożsamość zarządzaną przypisaną przez system lub tożsamość zarządzaną przypisaną przez użytkownika w parametry połączenia źródła danych. Więcej przykładów parametry połączenia można znaleźć w artykule dotyczącym tożsamości zarządzanej.
Napiwek
Możesz utworzyć połączenie ze źródłem danych z usługą Azure Storage w witrynie Azure Portal, określając tożsamość zarządzaną przypisaną przez użytkownika lub systemową, a następnie wyświetlić definicję JSON, aby zobaczyć, jak sformułowano parametry połączenia.
Tożsamość zarządzana przypisana przez system
Musisz mieć już skonfigurowaną tożsamość zarządzaną przypisaną przez system i musi mieć przypisanie roli w usłudze 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 wartość , która ResourceId
nie ma 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=2024-07-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
Tożsamość zarządzana przypisana przez użytkownika musi być już skonfigurowana i skojarzona z usługą wyszukiwania, a tożsamość musi mieć przypisanie roli w usłudze Azure Storage.
Połączenia wykonywane za pośrednictwem tożsamości zarządzanych przypisanych przez użytkownika używają tych samych poświadczeń co tożsamość zarządzana przypisana przez system oraz dodatkowa właściwość tożsamości, która zawiera kolekcję tożsamości zarządzanych przypisanych przez użytkownika. Podczas tworzenia źródła danych należy podać tylko jedną tożsamość zarządzaną przypisaną przez użytkownika. Ustaw userAssignedIdentity
wartość na tożsamość zarządzaną przypisaną przez użytkownika.
Podaj wartość , która ResourceId
nie ma 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.
POST https://[service name].search.windows.net/datasources?api-version=2024-07-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 indeksator zakończy się pomyślnie, 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 przez sieć na kontach magazynu
Konta usługi Azure Storage 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 Make indexer connections to Azure Storage as a trusted service (Tworzenie połączeń indeksatora z usługą Azure Storage jako zaufaną usługą).