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

Jeśli zasoby platformy Azure są wdrażane w sieci wirtualnej 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 w trzech sytuacjach:

  • Połączenie do zewnętrznych źródeł danych podczas indeksowania
  • Połączenie do kodu zewnętrznego, hermetyzowanego 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.

Indeksatory łączą się z zasobami przy użyciu następujących metod:

  • Publiczny punkt końcowy z poświadczeniami
  • Prywatny punkt końcowy korzystający z usługi Azure Private Link
  • Połączenie jako zaufana usługa
  • Połączenie za pośrednictwem adresowania IP

Jeśli zasób platformy Azure znajduje się w sieci wirtualnej, należy użyć prywatnego punktu końcowego lub adresowania IP, aby przyznać indeksatorowi połączenia z danymi.

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, znajomość środowisk wykonywania pomoże Ci skonfigurować zakres adresów IP obejmujący oba środowiska.

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.

Środowisko wykonywania opis
Prywatne Wewnętrzna usługa 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). Jeśli skonfigurujesz połączenie prywatne między indeksatorem a danymi, jest to jedyna enriovnment wykonywania, której można użyć.
Multitenant 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.

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

W tej sekcji opisano konfigurację zapory ip na potrzeby przyjmowania żądań z obu środowisk wykonywania.

Jeśli zasób platformy Azure znajduje się za zaporą, skonfiguruj reguły ruchu przychodzącego, które przyznają połączenia indeksatora dla wszystkich adresów IP, z których może pochodzić żądanie indeksatora. Obejmuje to adres IP używany przez usługę wyszukiwania oraz adresy IP używane przez ś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 środowisk wielodostępnych dla każdego regionu. 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.

Konfigurowanie reguł adresów IP dla usługi Azure SQL

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 adresów 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

Nie można aprowizować usługi wyszukiwania w określonej sieci wirtualnej uruchomionej natywnie na maszynie wirtualnej. Chociaż niektóre zasoby platformy Azure oferują punkty końcowe usługi dla sieci wirtualnej, ta funkcja nie będzie oferowana przez usługę Azure AI Search. Należy zaplanować wdrożenie jednej z następujących metod.

Metoda Szczegóły
Zabezpieczanie połączenia przychodzącego z zasobem platformy Azure Skonfiguruj regułę zapory dla ruchu przychodzącego w zasobie platformy Azure, która przyznaje żądania indeksatora dla danych. Konfiguracja zapory powinna zawierać tag usługi na potrzeby wykonywania wielodostępnego oraz adres IP usługi wyszukiwania. Zobacz Konfigurowanie reguł zapory, aby zezwolić na dostęp indeksatora.
Połączenie prywatne między usługą Azure AI Search i zasobem platformy Azure Skonfiguruj udostępniony link prywatny używany wyłącznie przez usługę wyszukiwania pod kątem połączeń z zasobem. Połączenie ions przemieszczają się przez sieć wewnętrzną i pomijają publiczny Internet. 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. Zobacz Nawiązywanie połączeń wychodzących za pośrednictwem prywatnego punktu końcowego.

Połączenie iony za pośrednictwem prywatnego punktu końcowego muszą pochodzić ze środowiska wykonywania prywatnego usługi wyszukiwania.

Konfigurowanie zapory ip jest bezpłatne. Prywatny punkt końcowy oparty na usłudze Azure Private Link ma wpływ na rozliczenia. Aby uzyskać szczegółowe informacje, zobacz Cennik usługi Azure Private Link.

Po skonfigurowaniu zabezpieczeń sieci postępuj zgodnie z przypisaniami ról, które określają, którzy użytkownicy i grupy mają dostęp do odczytu i zapisu danych i operacji.

Zagadnienia dotyczące korzystania z prywatnego punktu końcowego

Ta sekcja zawęża opcję połączenia prywatnego.

  • 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 utworzeniu udostępnionego łącza prywatnego usługa wyszukiwania zawsze używa go dla każdego połączenia indeksatora z określonym zasobem platformy Azure. Połączenie prywatne jest zablokowane i wymuszane wewnętrznie. Nie można pominąć połączenia prywatnego dla połączenia publicznego.

  • Wymaga rozliczanego zasobu usługi Azure Private Link.

  • Wymaga, aby właściciel subskrypcji zatwierdził połączenie prywatnego punktu końcowego.

  • Wymaga wyłączenia środowiska wykonywania wielodostępnych dla indeksatora.

    W tym celu należy ustawić indeksator executionEnvironment na "Private". 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 zweryfikuje, że osoby wywołujące prywatnego punktu końcowego mają odpowiednie przypisania ról. 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.

Uzupełnienie zabezpieczeń sieci przy użyciu uwierzytelniania tokenów

Zapory i zabezpieczenia sieci są pierwszym krokiem w zapobieganiu nieautoryzowanemu dostępowi do danych i operacji. Autoryzacja powinna być następnym krokiem.

Zalecamy dostęp oparty na rolach, w którym użytkownicy i grupy identyfikatora Entra firmy Microsoft są przypisywane do ról, które określają dostęp do odczytu i zapisu w usłudze. Zobacz Połączenie do usługi Azure AI Search przy użyciu kontroli dostępu opartej na rolach, aby uzyskać opis wbudowanych ról i instrukcji dotyczących tworzenia ról niestandardowych.

Jeśli nie potrzebujesz uwierzytelniania opartego na kluczach, zalecamy wyłączenie kluczy interfejsu API i używanie przypisań ról wyłącznie.

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: