Indeksator dostępu do zawartości chronionej przez zabezpieczenia sieci platformy Azure

Jeśli wymagania dotyczące rozwiązania wyszukiwania obejmują sieć wirtualną platformy Azure, w tym artykule wyjaśniono, w jaki sposób indeksator wyszukiwania może uzyskać dostęp do zawartości chronionej przez zabezpieczenia sieciowe. Opisuje on wzorce ruchu wychodzącego i środowiska wykonywania indeksatora. Obejmuje również zabezpieczenia sieci obsługiwane przez usługę Azure AI Search i czynniki, które mogą mieć wpływ na strategię zabezpieczeń. Na koniec, ponieważ usługa Azure Storage jest używana zarówno na potrzeby dostępu do danych, jak i magazynu trwałego, w tym artykule opisano również zagadnienia dotyczące sieci specyficzne dla łączności z wyszukiwaniem i magazynem.

Szukasz instrukcji krok po kroku? Zobacz How to configure firewall rules to allow indexer access or How to make outbound connections through a private endpoint (Jak skonfigurować reguły zapory, aby zezwolić na dostęp indeksatora) lub How to make outbound connections through a private endpoint (Jak skonfigurować połączenia wychodzące za pośrednictwem prywatnego punktu końcowego).

Zasoby dostępne przez indeksatory

Indeksatory usługi Azure AI Search mogą wykonywać wywołania wychodzące do różnych zasobów platformy Azure podczas wykonywania. Indeksator wykonuje wywołania wychodzące w trzech sytuacjach:

  • Połączenie do zewnętrznych źródeł danych podczas indeksowania
  • Połączenie do zewnętrznego, hermetyzowanego kodu za pomocą zestawu umiejętności, który obejmuje umiejętności niestandardowe
  • Połączenie do usługi Azure Storage podczas wykonywania zestawu umiejętności w celu buforowania wzbogaceń, zapisywania stanu sesji debugowania lub zapisywania w magazynie wiedzy

Lista wszystkich możliwych typów zasobów platformy Azure, do których indeksator może uzyskać dostęp w typowym przebiegu, znajduje się w poniższej tabeli.

Zasób Cel w przebiegu indeksatora
Azure Storage (obiekty blob, ADLS Gen 2, pliki, tabele) Źródło danych
Azure Storage (obiekty blob, tabele) Zestawy umiejętności (buforowanie wzbogaceń, sesje debugowania, projekcje magazynu wiedzy)
Azure Cosmos DB (różne interfejsy API) Źródło danych
Azure SQL Database Źródło danych
Program SQL Server na maszynach wirtualnych platformy Azure Źródło danych
Wystąpienie zarządzane SQL Źródło danych
Azure Functions Dołączone do zestawu umiejętności i używane do hostowania niestandardowych umiejętności internetowego interfejsu API

Uwaga

Indeksator łączy się również z usługami azure AI w celu uzyskania wbudowanych umiejętności. Jednak to połączenie odbywa się za pośrednictwem sieci wewnętrznej i nie podlega żadnym przepisom sieciowym pod kontrolą użytkownika.

Obsługiwane zabezpieczenia sieci

Zasoby platformy Azure mogą być chronione przy użyciu dowolnej liczby mechanizmów izolacji sieci oferowanych przez platformę Azure. W zależności od zasobu i regionu indeksatory usługi Azure AI Search mogą wykonywać połączenia wychodzące za pośrednictwem zapór ip i prywatnych punktów końcowych, z zastrzeżeniem ograniczeń wskazanych w poniższej tabeli.

Zasób Ograniczenie adresów IP Prywatny punkt końcowy
Usługa Azure Storage na potrzeby indeksowania opartego na tekście (obiektów blob, usługi ADLS Gen 2, plików, tabel) Obsługiwane tylko wtedy, gdy konto magazynu i usługa wyszukiwania znajdują się w różnych regionach. Obsługiwane
Wzbogacanie sztucznej inteligencji w usłudze Azure Storage (buforowanie, sesje debugowania, magazyn wiedzy) Obsługiwane tylko wtedy, gdy konto magazynu i usługa wyszukiwania znajdują się w różnych regionach. Obsługiwane
Azure Cosmos DB for NoSQL Obsługiwane Obsługiwane
Usługa Azure Cosmos DB dla bazy danych MongoDB Obsługiwane Nieobsługiwane
Usługa Azure Cosmos DB dla języka Apache Gremlin Obsługiwane Nieobsługiwane
Azure SQL Database Obsługiwane Obsługiwane
Program SQL Server na maszynach wirtualnych platformy Azure Obsługiwane Nie dotyczy
Wystąpienie zarządzane SQL Obsługiwane Nie dotyczy
Azure Functions Obsługiwane Obsługiwane tylko w przypadku niektórych warstw usługi Azure Functions

Środowisko wykonywania indeksatora

Usługa Azure AI Search ma pojęcie środowiska wykonywania indeksatora, które optymalizuje przetwarzanie na podstawie cech zadania. Istnieją dwa środowiska. Jeśli używasz zapory adresów IP do kontrolowania dostępu do zasobów platformy Azure, wiedza na temat środowisk wykonywania pomoże Ci skonfigurować zakres adresów IP obejmujący oba te zasoby.

W przypadku dowolnego przebiegu indeksatora usługa Azure AI Search określa najlepsze środowisko, w którym ma zostać uruchomiony indeksator. W zależności od liczby i typów przydzielonych zadań indeksator będzie uruchamiany w jednym z dwóch środowisk:

  • Prywatne środowisko wykonawcze, które jest wewnętrzne w usłudze wyszukiwania.

    Indeksatory działające w środowisku prywatnym współdzielą zasoby obliczeniowe z innymi obciążeniami indeksowania i wykonywania zapytań w tej samej usłudze wyszukiwania. Zazwyczaj w tym środowisku działają tylko indeksatory, które wykonują indeksowanie oparte na tekście (bez zestawów umiejętności).

  • Środowisko wielodostępne, które jest zarządzane i zabezpieczone przez firmę Microsoft bez dodatkowych kosztów. Nie podlega żadnym przepisom dotyczącym sieci pod kontrolą użytkownika.

    To środowisko służy do odciążania przetwarzania intensywnie korzystającego z obliczeń, pozostawiając zasoby specyficzne dla usługi dostępne dla rutynowych operacji. Przykłady zadań indeksatora intensywnie korzystających z zasobów obejmują dołączanie zestawów umiejętności, przetwarzanie dużych dokumentów lub przetwarzanie dużej liczby dokumentów.

W poniższej sekcji opisano konfigurację adresu IP na potrzeby przyjmowania żądań z dowolnego środowiska wykonywania.

Konfigurowanie zakresów adresów IP na potrzeby wykonywania indeksatora

Jeśli zasób platformy Azure udostępniający dane źródłowe istnieje za zaporą, potrzebne są reguły ruchu przychodzącego, które przyznają połączenia indeksatora dla wszystkich adresów IP, z których może pochodzić żądanie indeksatora. Adresy IP obejmują adresy IP używane przez usługę wyszukiwania i środowisko wielodostępne.

  • Aby uzyskać adres IP usługi wyszukiwania (i środowisko wykonywania prywatnego), użyj ( nslookup lub ping), aby znaleźć w pełni kwalifikowaną nazwę domeny (FQDN) usługi wyszukiwania. Nazwa FQDN usługi wyszukiwania w chmurze publicznej to <service-name>.search.windows.net.

  • Aby uzyskać adresy IP środowisk wielodostępnych, w których może działać indeksator, użyj tagu AzureCognitiveSearch usługi.

    Tagi usług platformy Azure mają opublikowany zakres adresów IP dla każdej usługi. Te adresy IP można znaleźć przy użyciu interfejsu API odnajdywania lub pliku JSON do pobrania. Zakresy adresów IP są przydzielane według regionów, dlatego przed rozpoczęciem sprawdź region usługi wyszukiwania.

Podczas ustawiania reguły adresów IP dla środowiska wielodostępnego niektóre źródła danych SQL obsługują proste podejście do specyfikacji adresów IP. Zamiast wyliczać wszystkie adresy IP w regule, można utworzyć regułę sieciowej grupy zabezpieczeń, która określa AzureCognitiveSearch tag usługi.

Możesz określić tag usługi, jeśli źródło danych to:

Zwróć uwagę, że jeśli określono tag usługi dla reguły adresu IP środowiska wielodostępnego, nadal będzie potrzebna jawna reguła ruchu przychodzącego dla środowiska wykonywania prywatnego (co oznacza, że sama usługa wyszukiwania) uzyskana za pomocą nslookupmetody .

Wybieranie podejścia do łączności

Podczas integrowania usługi Azure AI Search z rozwiązaniem uruchomionym w sieci wirtualnej należy wziąć pod uwagę następujące ograniczenia:

  • Indeksator nie może nawiązać bezpośredniego połączenia z punktem końcowym usługi sieci wirtualnej. Publiczne punkty końcowe z poświadczeniami, prywatnymi punktami końcowymi, zaufaną usługą i adresami IP są jedynymi obsługiwanymi metodologiami połączeń indeksatora.

  • Usługa wyszukiwania zawsze działa w chmurze i nie może być aprowizowana w określonej sieci wirtualnej, uruchomiona natywnie na maszynie wirtualnej. Ta funkcja nie będzie oferowana przez usługę Azure AI Search.

Biorąc pod uwagę powyższe ograniczenia, dostępne są następujące opcje osiągnięcia integracji wyszukiwania w sieci wirtualnej:

  • Skonfiguruj regułę zapory dla ruchu przychodzącego w zasobie PaaS platformy Azure, który przyznaje żądania indeksatora dotyczące danych.

  • Skonfiguruj połączenie wychodzące z usługi Search, które powoduje, że połączenia indeksatora przy użyciu prywatnego punktu końcowego.

    W przypadku prywatnego punktu końcowego połączenie usługi wyszukiwania z chronionym zasobem odbywa się za pośrednictwem udostępnionego łącza prywatnego. Udostępniony link prywatny to zasób usługi Azure Private Link , który jest tworzony, zarządzany i używany z poziomu usługi Azure AI Search. Jeśli zasoby są w pełni zablokowane (uruchomione w chronionej sieci wirtualnej lub w inny sposób niedostępne za pośrednictwem połączenia publicznego), prywatny punkt końcowy jest jedynym wyborem.

    Połączenie iony za pośrednictwem prywatnego punktu końcowego muszą pochodzić ze środowiska wykonywania prywatnego usługi wyszukiwania. Aby spełnić to wymaganie, należy wyłączyć wykonywanie wielu dzierżaw. Ten krok jest opisany w artykule Make outbound connections through a private endpoint (Wykonywanie połączeń wychodzących za pośrednictwem prywatnego punktu końcowego).

Konfigurowanie zapory ip jest bezpłatne. Prywatny punkt końcowy oparty na usłudze Azure Private Link ma wpływ na rozliczenia.

Praca z prywatnym punktem końcowym

Ta sekcja zawiera podsumowanie głównych kroków konfigurowania prywatnego punktu końcowego dla połączeń indeksatora wychodzącego. To podsumowanie może pomóc w podjęciu decyzji, czy prywatny punkt końcowy jest najlepszym wyborem dla danego scenariusza. Szczegółowe kroki opisano w temacie How to make outbound connections through a private endpoint (Jak wykonywać połączenia wychodzące za pośrednictwem prywatnego punktu końcowego).

  • Udostępniony link prywatny wymaga rozliczanej usługi wyszukiwania, gdzie minimalna warstwa to Podstawowa dla indeksowania opartego na tekście lub Standardowa 2 (S2) na potrzeby indeksowania opartego na umiejętnościach. Aby uzyskać szczegółowe informacje, zobacz limity warstw dla liczby prywatnych punktów końcowych .

  • Połączenia przychodzące i wychodzące podlegają cennikowi usługi Azure Private Link.

Krok 1. Tworzenie prywatnego punktu końcowego do bezpiecznego zasobu

Utworzysz udostępniony link prywatny przy użyciu stron portalu usługi wyszukiwania lub za pośrednictwem interfejsu API zarządzania.

W usłudze Azure AI Search usługa wyszukiwania musi być co najmniej warstwą Podstawowa dla indeksatorów opartych na tekście i S2 dla indeksatorów z zestawami umiejętności.

Połączenie prywatnego punktu końcowego będzie akceptować żądania z prywatnego środowiska wykonywania indeksatora, ale nie środowiska wielodostępnego. Aby spełnić to wymaganie, należy wyłączyć wykonywanie wielu dzierżaw zgodnie z opisem w kroku 3.

Krok 2. Zatwierdzanie połączenia prywatnego punktu końcowego

Po zakończeniu operacji (asynchronicznej), która tworzy współużytkowany zasób łącza prywatnego, zostanie utworzone połączenie prywatnego punktu końcowego w stanie "Oczekiwanie". Żaden ruch nie przepływa jeszcze przez połączenie.

Należy zlokalizować i zatwierdzić to żądanie w bezpiecznym zasobie. W zależności od zasobu możesz wykonać to zadanie przy użyciu witryny Azure Portal. W przeciwnym razie użyj interfejsu API REST usługi Private Link.

Krok 3. Wymuszanie uruchamiania indeksatorów w środowisku "prywatnym"

W przypadku połączeń prywatnych punktów końcowych należy ustawić executionEnvironment indeksator na "Private"wartość . Ten krok gwarantuje, że wszystkie wykonywanie indeksatora jest ograniczone do środowiska prywatnego aprowizowania w usłudze wyszukiwania.

To ustawienie jest ograniczone do indeksatora, a nie do usługi wyszukiwania. Jeśli chcesz, aby wszystkie indeksatory łączyły się za pośrednictwem prywatnych punktów końcowych, każda z nich musi mieć następującą konfigurację:

    {
      "name" : "myindexer",
      ... other indexer properties
      "parameters" : {
          ... other parameters
          "configuration" : {
            ... other configuration properties
            "executionEnvironment": "Private"
          }
        }
    }

Po zatwierdzeniu prywatnego punktu końcowego do zasobu indeksatory, które mają być prywatnymi próbami uzyskania dostępu za pośrednictwem łącza prywatnego utworzonego i zatwierdzonego dla zasobu platformy Azure.

Usługa Azure AI Search sprawdzi, czy osoby wywołujące prywatnego punktu końcowego mają odpowiednie uprawnienia roli RBAC platformy Azure. Jeśli na przykład zażądasz połączenia prywatnego punktu końcowego z kontem magazynu z uprawnieniami tylko do odczytu, to wywołanie zostanie odrzucone.

Jeśli prywatny punkt końcowy nie został zatwierdzony lub indeksator nie używał połączenia prywatnego punktu końcowego, w historii wykonywania indeksatora zostanie wyświetlony transientFailure komunikat o błędzie.

Dostęp do konta magazynu chronionego przez sieć

Usługa wyszukiwania przechowuje indeksy i listy synonimów. W przypadku innych funkcji wymagających magazynu usługa Azure AI Search jest zależna od usługi Azure Storage. Buforowanie wzbogacania, sesje debugowania i magazyny wiedzy należą do tej kategorii. Lokalizacja każdej usługi i wszelkie zabezpieczenia sieci w magazynie określają strategię dostępu do danych.

Usługi w tym samym regionie

W usłudze Azure Storage dostęp za pośrednictwem zapory wymaga, aby żądanie pochodziło z innego regionu. Jeśli usługi Azure Storage i Azure AI Search znajdują się w tym samym regionie, możesz pominąć ograniczenia adresów IP dla konta magazynu, uzyskując dostęp do danych w ramach tożsamości systemowej usługi wyszukiwania.

Istnieją dwie opcje obsługi dostępu do danych przy użyciu tożsamości systemowej:

  • Skonfiguruj wyszukiwanie w celu uruchomienia jako zaufanej usługi i użyj wyjątku zaufanej usługi w usłudze Azure Storage.

  • Skonfiguruj regułę wystąpienia zasobu w usłudze Azure Storage, która przyznaje żądania przychodzące z zasobu platformy Azure.

Powyższe opcje zależą od identyfikatora Entra firmy Microsoft do uwierzytelniania, co oznacza, że połączenie musi zostać nawiązane przy użyciu identyfikatora logowania firmy Microsoft Entra. Obecnie tylko tożsamość zarządzana przypisana przez system usługi Azure AI Search jest obsługiwana w przypadku połączeń z tym samym regionem za pośrednictwem zapory.

Usługi w różnych regionach

Gdy wyszukiwanie i magazyn znajdują się w różnych regionach, możesz użyć wcześniej wymienionych opcji lub skonfigurować reguły adresów IP, które przyznają żądania z usługi. W zależności od obciążenia może być konieczne skonfigurowanie reguł dla wielu środowisk wykonywania zgodnie z opisem w następnej sekcji.

Następne kroki

Teraz, gdy znasz opcje dostępu do danych indeksatora dla rozwiązań wdrożonych w sieci wirtualnej platformy Azure, zapoznaj się z jednym z następujących artykułów z instrukcjami w następnym kroku: