Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Od czerwca 2024 r. formularz aplikacji zarządzanego przez firmę Microsoft prywatnego punktu końcowego do usługi Azure AI Search nie jest już potrzebny.
Zarządzany prywatny punkt końcowy zostanie usunięty z zarządzanej sieci wirtualnej firmy Microsoft w lipcu 2025 r. Jeśli już skonfigurowano zarządzany prywatny punkt końcowy za pośrednictwem procesu aplikacji przed czerwcem 2024 r., włącz zaufaną usługę Azure AI Search tak szybko, jak to możliwe, aby uniknąć przerw w działaniu usługi.
Skorzystaj z tego artykułu, aby dowiedzieć się, jak skonfigurować sieć i dostęp podczas korzystania z Azure OpenAI On Your Data przy użyciu Microsoft Entra ID, kontrola dostępu oparta na rolach, sieci wirtualne i prywatne punkty końcowe.
Architektura pozyskiwania danych
W przypadku używania usługi Azure OpenAI On Your Data do pozyskiwania danych z usługi Azure Blob Storage, plików lokalnych lub adresów URL do usługi Azure AI Search następujący proces służy do przetwarzania danych.
- Kroki 1 i 2 są używane tylko do przekazywania plików.
- Pobieranie adresów URL do magazynu blob nie jest pokazane na tym diagramie. Po pobraniu stron internetowych z Internetu i przekazaniu ich do magazynu obiektów blob kroki 3 są takie same.
- Jeden indeksator, jeden indeks i jedno źródło danych w zasobie usługi Azure AI Search jest tworzone przy użyciu wstępnie utworzonych umiejętności i zintegrowanej wektoryzacji.
- Usługa Azure AI Search obsługuje wyodrębnianie, fragmentowanie i wektoryzacja fragmentowanych dokumentów za pomocą zintegrowanej wektoryzacji. Jeśli zostanie określony interwał planowania, indeksator zostanie uruchomiony odpowiednio.
W przypadku tożsamości zarządzanych używanych w wywołaniach usługi obsługiwane są tylko tożsamości zarządzane przypisane przez system. Tożsamości zarządzane przypisane przez użytkownika nie są obsługiwane.
Architektura inferencyjna
Podczas gdy wysyłasz wywołania interfejsu API, aby komunikować się z modelem usługi Azure OpenAI na Twoich danych, usługa musi pobrać pola indeksu w trakcie realizacji wnioskowania, aby zrealizować mapowanie pól. W związku z tym usługa wymaga, aby tożsamość Azure OpenAI miała Search Service Contributor
rolę dla usługi wyszukiwania nawet podczas wnioskowania.
Jeśli w żądaniu wnioskowania zostanie podana zależność osadzania, usługa Azure OpenAI wektoryzuje ponownie przepisane zapytanie, a zarówno zapytanie, jak i wektor są wysyłane do wyszukiwania wektorowego w usłudze Azure AI Search.
Kontrola dostępu na poziomie dokumentu
Uwaga / Notatka
Kontrola dostępu na poziomie dokumentu jest obsługiwana tylko w przypadku wyszukiwania w usłudze Azure AI.
Usługa Azure OpenAI On Your Data umożliwia ograniczenie dokumentów, które mogą być używane w odpowiedziach dla różnych użytkowników z wykorzystaniem filtrów bezpieczeństwa Azure AI Search. Po włączeniu dostępu na poziomie dokumentu usługa Azure AI Search przycina wyniki wyszukiwania na podstawie członkostwa w grupie Microsoft Entra użytkownika określonego w filtrze. Dostęp na poziomie dokumentu można włączyć tylko w istniejących indeksach usługi Azure AI Search. Aby włączyć dostęp na poziomie dokumentu:
Aby zarejestrować aplikację i utworzyć użytkowników i grupy, wykonaj kroki opisane w dokumentacji usługi Azure AI Search.
Zaindeksuj dokumenty przy użyciu dozwolonych grup. Upewnij się, że nowe pola zabezpieczeń mają schemat:
{"name": "group_ids", "type": "Collection(Edm.String)", "filterable": true }
group_ids
to domyślna nazwa pola. Jeśli używasz innej nazwy pola, takiej jakmy_group_ids
, możesz mapować pole w mapowaniu pól indeksu.Upewnij się, że każdy poufny dokument w indeksie ma tę wartość pola zabezpieczeń ustawioną na dozwolone grupy dokumentu.
W portalu azure AI Foundry dodaj źródło danych. W sekcji mapowania pól indeksu można mapować zero lub jedną wartość na pole dozwolonych grup , o ile schemat jest zgodny. Jeśli pole dozwolonych grup nie jest mapowane, dostęp na poziomie dokumentu jest wyłączony.
Portal Azure AI Foundry
Po nawiązaniu połączenia z indeksem usługi Azure AI Search, w studio Twoje odpowiedzi mają dostęp do dokumentów na podstawie uprawnień Microsoft Entra zalogowanego użytkownika.
API
Podczas korzystania z interfejsu API przekaż parametr filter
w każdym żądaniu. Przykład:
Ważne
Używaj kluczy interfejsu API z ostrożnością. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie. Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w usłudze Azure Key Vault. Aby uzyskać więcej informacji na temat bezpiecznego używania kluczy interfejsu API w aplikacjach, zobacz Klucze interfejsu API w usłudze Azure Key Vault.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Aby uzyskać więcej informacji na temat zabezpieczeń, zobacz Uwierzytelnianie żądań.
{
"messages": [
{
"role": "user",
"content": "who is my manager?"
}
],
"data_sources": [
{
"type": "azure_search",
"parameters": {
"endpoint": "<AZURE_AI_SEARCH_ENDPOINT>",
"key": "<AZURE_AI_SEARCH_API_KEY>",
"index_name": "<AZURE_AI_SEARCH_INDEX>",
"filter": "my_group_ids/any(g:search.in(g, 'group_id1, group_id2'))"
}
}
]
}
-
my_group_ids
to nazwa pola wybrana dla dozwolonych grup podczas mapowania pól. -
group_id1, group_id2
są grupami przypisanymi do zalogowanego użytkownika. Aplikacja kliencka może pobierać i buforować grupy użytkowników przy użyciu interfejsu API programu Microsoft Graph.
Konfiguracja zasobu
W poniższych sekcjach skonfiguruj zasoby pod kątem optymalnego bezpiecznego użycia. Nawet jeśli planujesz zabezpieczyć tylko część zasobów, nadal musisz wykonać wszystkie kroki.
W tym artykule opisano ustawienia sieciowe związane z wyłączaniem sieci publicznej dla zasobów usługi Azure OpenAI, zasobów wyszukiwania AI na platformie Azure i kont magazynu. Używanie wybranych sieci z regułami adresów IP nie jest obsługiwane, ponieważ adresy IP usług są dynamiczne.
Utwórz grupę zasobów
Utwórz grupę zasobów, aby móc organizować wszystkie odpowiednie zasoby. Zasoby w grupie zasobów obejmują, ale nie są ograniczone do następujących elementów:
- Jedna sieć wirtualna
- Trzy kluczowe usługi: jedna Azure OpenAI, jedna Azure AI Search, jedno konto Storage
- Trzy prywatne punkty końcowe, z których każdy jest połączony z jedną kluczową usługą.
- Trzy interfejsy sieciowe, z których każdy jest skojarzony z jednym prywatnym punktem końcowym
- Jedna brama sieci wirtualnej dla dostępu z lokalnych maszyn klienckich
- Jedna aplikacja internetowa ze zintegrowaną siecią wirtualną
- Jedna prywatna strefa DNS, aby aplikacja internetowa mogła znaleźć adres IP usługi Azure OpenAI.
Tworzenie sieci wirtualnej
Sieć wirtualna ma trzy podsieci.
- Pierwsza podsieć jest używana dla bramy sieci wirtualnej.
- Druga podsieć jest używana dla prywatnych punktów końcowych dla trzech kluczowych usług.
- Trzecia podsieć jest pusta i służy do integracji wychodzącej sieci wirtualnej aplikacji webowej.
Konfigurowanie usługi Azure OpenAI
Włączono niestandardową poddomenę
Niestandardowa poddomena jest wymagana dla uwierzytelniania opartego na identyfikatorze Entra firmy Microsoft i prywatnej strefie DNS. Jeśli zasób usługi Azure OpenAI jest tworzony przy użyciu szablonu usługi ARM, niestandardowa poddomena musi być określona jawnie.
Włącz tożsamość zarządzaną
Aby umożliwić usłudze Azure AI Search i konto magazynu rozpoznawanie usługi Azure OpenAI w modelach usługi Azure AI Foundry za pośrednictwem uwierzytelniania identyfikatora Entra firmy Microsoft, musisz przypisać tożsamość zarządzaną dla usługi Azure OpenAI w modelach usługi Azure AI Foundry. Najprostszym sposobem jest włączenie tożsamości zarządzanej przypisanej przez system na Portalu Azure.
Aby ustawić tożsamości zarządzane za pośrednictwem interfejsu API zarządzania, zobacz dokumentację referencyjną interfejsu API zarządzania.
"identity": {
"principalId": "<YOUR-PRINCIPAL-ID>",
"tenantId": "<YOUR-TENNANT-ID>",
"type": "SystemAssigned, UserAssigned",
"userAssignedIdentities": {
"/subscriptions/<YOUR-SUBSCIRPTION-ID>/resourceGroups/my-resource-group",
"principalId": "<YOUR-PRINCIPAL-ID>",
"clientId": "<YOUR-CLIENT-ID>"
}
}
Włączanie zaufanej usługi
Aby umożliwić usłudze Azure AI Search wywołanie modelu osadzania usługi Azure OpenAI, podczas gdy usługa Azure OpenAI nie ma dostępu do sieci publicznej, musisz skonfigurować usługę Azure OpenAI, aby pominąć usługę Azure AI Search jako zaufaną usługę opartą na tożsamości zarządzanej. Usługa Azure OpenAI identyfikuje ruch z usługi Azure AI Search, weryfikując oświadczenia w tokenie internetowym JSON (JWT). Usługa Azure AI Search musi używać uwierzytelniania za pomocą tożsamości zarządzanej przez system w celu wywołania punktu końcowego przetwarzania osadzania.
Ustaw networkAcls.bypass
jako AzureServices
z interfejsu API zarządzania. Aby uzyskać więcej informacji, zobacz artykuł Sieci wirtualne.
Ten krok można pominąć tylko wtedy, gdy masz prywatny link udostępniony dla zasobu usługi Azure AI Search.
Wyłączanie dostępu do sieci publicznej
Dostęp do sieci publicznej zasobu usługi Azure OpenAI można wyłączyć w witrynie Azure Portal.
Aby zezwolić na dostęp do usługi Azure OpenAI z maszyn klienckich, takich jak korzystanie z portalu Azure AI Foundry, należy utworzyć połączenia prywatnych punktów końcowych łączących się z zasobem usługi Azure OpenAI.
Konfigurowanie usługi Azure AI Search
Możesz użyć podstawowej warstwy cenowej i nowszej dla zasobu wyszukiwania. Nie jest to konieczne, ale jeśli używasz warstwy cenowej S2, dostępne są opcje zaawansowane.
Włącz tożsamość zarządzaną
Aby zezwolić innym zasobom na rozpoznawanie usługi Azure AI Search przy użyciu uwierzytelniania identyfikatora Entra firmy Microsoft, musisz przypisać tożsamość zarządzaną dla usługi Azure AI Search. Najprostszym sposobem jest włączenie tożsamości zarządzanej przypisanej przez system w portalu Azure.
Włączanie kontroli dostępu opartej na rolach
Ponieważ usługa Azure OpenAI używa tożsamości zarządzanej do uzyskiwania dostępu do usługi Azure AI Search, musisz włączyć kontrolę dostępu opartą na rolach w usłudze Azure AI Search. Aby to zrobić w portalu Azure, wybierz Oba lub Kontrola dostępu oparta na rolach na karcie Klucze w portalu Azure.
Aby uzyskać więcej informacji, zobacz artykuł RBAC usługi Azure AI Search.
Wyłączanie dostępu do sieci publicznej
Dostęp do sieci publicznej zasobu usługi Azure AI Search można wyłączyć w witrynie Azure Portal.
Aby zezwolić na dostęp do zasobu usługi Azure AI Search z maszyn klienckich, na przykład przy użyciu portalu Azure AI Foundry, musisz utworzyć połączenia prywatnych punktów końcowych łączących się z zasobem usługi Azure AI Search.
Włączanie zaufanej usługi
Możesz włączyć zaufaną usługę swojego zasobu wyszukiwania z portalu Azure.
Przejdź do karty sieciowej zasobu wyszukiwania. Po ustawieniu dostępu do sieci publicznej na wyłączony, wybierz pozycję Zezwalaj usługom platformy Azure na liście zaufanych usług dostępu do tej usługi wyszukiwania.
Możesz również użyć interfejsu API REST, aby włączyć zaufaną usługę. W tym przykładzie użyto narzędzia Azure CLI i jq
.
rid=/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.Search/searchServices/<YOUR-RESOURCE-NAME>
apiVersion=2024-03-01-Preview
#store the resource properties in a variable
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" > search.json
#replace bypass with AzureServices using jq
jq '.properties.networkRuleSet.bypass = "AzureServices"' search.json > search_updated.json
#apply the updated properties to the resource
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" \
--method PUT \
--body @search_updated.json
Tworzenie udostępnionego łącza prywatnego
Wskazówka
Jeśli używasz podstawowej lub standardowej warstwy cenowej lub jeśli po raz pierwszy konfigurujesz wszystkie zasoby w bezpieczny sposób, pomiń ten zaawansowany temat.
Ta sekcja dotyczy tylko zasobu wyszukiwania warstwy cenowej S2, ponieważ wymaga obsługi prywatnego punktu końcowego dla indeksatorów z zestawem umiejętności.
Aby utworzyć udostępniony prywatny link z zasobu wyszukiwania łączącego się z zasobem usługi Azure OpenAI, odwiedź dokumentację wyszukiwania. Wybierz Typ zasobu jako Microsoft.CognitiveServices/accounts
i Identyfikator grupy jako openai_account
.
Po udostępnieniu łącza prywatnego krok 8 diagramu architektury pozyskiwania danych został zmieniony z pomijania zaufanej usługi do udostępnionego łącza prywatnego.
Konfigurowanie konta magazynu
Włączanie zaufanej usługi
Aby zezwolić na dostęp do konta magazynu z usług Azure OpenAI i Azure AI Search, należy skonfigurować konto magazynu w celu obejścia usług Azure OpenAI i Azure AI Search jako zaufanych usług opartych na tożsamości zarządzanej.
W portalu Azure przejdź do karty sieci swojego konta magazynu, wybierz pozycję "Wybrane sieci", a następnie zaznacz opcję Zezwalaj usługom platformy Azure z listy zaufanych usług na dostęp do tego konta magazynu i kliknij przycisk Zapisz.
Wyłączanie dostępu do sieci publicznej
W Portalu Azure można wyłączyć dostęp do sieci publicznej konta usługi magazynowania.
Aby umożliwić dostęp z maszyn klienckich do konta magazynu, na przykład przy użyciu portalu Azure AI Foundry, należy utworzyć połączenia prywatnych punktów końcowych, które łączą się z kontem magazynu obiektów blob.
Przypisania ról
Do tej pory skonfigurowałeś każdy zasób do niezależnej pracy. Następnie należy zezwolić usługom na autoryzowanie siebie nawzajem.
Rola | Cesjonariusza | Zasób | Opis |
---|---|---|---|
Search Index Data Reader |
Azure OpenAI | Wyszukiwanie AI platformy Azure | Usługa wnioskowania wysyła zapytanie do danych z indeksu. |
Search Service Contributor |
Azure OpenAI | Wyszukiwanie AI platformy Azure | Usługa wnioskowania wysyła zapytanie do schematu indeksu na potrzeby automatycznego mapowania pól. Usługa pozyskiwania danych tworzy indeks, źródła danych, zestaw umiejętności, indeksator i wykonuje zapytania dotyczące stanu indeksatora. |
Storage Blob Data Contributor |
Azure OpenAI | Konto magazynu | Odczytuje z kontenera wejściowego i zapisuje wstępnie przetworzony wynik do kontenera wyjściowego. |
Cognitive Services OpenAI Contributor |
Wyszukiwanie AI platformy Azure | Azure OpenAI | aby zezwolić na dostęp zasobu usługi Azure AI Search do punktu końcowego osadzania usługi Azure OpenAI. |
Storage Blob Data Reader |
Wyszukiwanie AI platformy Azure | Konto magazynu | Odczytuje obiekty blob dokumentów i fragmenty obiektów blob. |
Reader |
Projekt rozwiązania Azure AI Foundry | Prywatne punkty końcowe usługi Azure Storage (Blob i Plik) | Odczytaj indeksy wyszukiwania utworzone w magazynie obiektów blob w projekcie usługi Azure AI Foundry. |
Cognitive Services OpenAI User |
Aplikacja internetowa | Azure OpenAI | Wnioskowanie. |
W powyższej tabeli Assignee
oznacza przypisaną przez system tożsamość zarządzaną tego zasobu.
Administrator musi mieć rolę Owner
w tych zasobach, aby dodać przydzielenie ról.
Zapoznaj się z dokumentacją Azure RBAC, aby uzyskać instrukcje dotyczące ustawiania tych ról w portalu Azure. Aby programowo dodać przypisania ról, możesz użyć dostępnego skryptu w usłudze GitHub .
Aby umożliwić deweloperom używanie tych zasobów do tworzenia aplikacji, administrator musi dodać tożsamość deweloperów z następującymi przypisaniami ról do zasobów.
Rola | Zasób | Opis |
---|---|---|
Cognitive Services OpenAI Contributor |
Azure OpenAI | Wywoływanie publicznego interfejsu API pozyskiwania z portalu usługi Azure AI Foundry. Rola Contributor jest niewystarczająca, ponieważ jeśli masz tylko rolę Contributor , nie można wywołać interfejsu API płaszczyzny danych z wykorzystaniem uwierzytelniania Microsoft Entra ID, a uwierzytelnianie Microsoft Entra ID jest wymagane w bezpiecznej konfiguracji opisanej w tym artykule. |
Contributor |
Wyszukiwanie AI platformy Azure | Wyświetl listę API-Keys, aby uzyskać indeksy z portalu Azure AI Foundry. |
Contributor |
Konto magazynu | Lista kont SAS do przesyłania plików z portalu Azure AI Foundry. |
Contributor |
Grupa zasobów lub subskrypcja platformy Azure, w której deweloper musi wdrożyć aplikację internetową | Wdróż aplikację internetową w subskrypcji platformy Azure dewelopera. |
Role Based Access Control Administrator |
Azure OpenAI | Uprawnienie do konfigurowania niezbędnego przypisania roli w zasobie usługi Azure OpenAI. Umożliwia aplikacji internetowej wywoływanie Azure OpenAI. |
Konfigurowanie bramy i klienta
Aby uzyskać dostęp do usługi Azure OpenAI z lokalnych maszyn klienckich, jednym z podejść jest skonfigurowanie usługi Azure VPN Gateway i klienta sieci VPN platformy Azure.
Postępuj zgodnie z poniższymi wskazówkami , aby utworzyć bramę sieci wirtualnej dla sieci wirtualnej.
Postępuj zgodnie z poniższymi wskazówkami , aby dodać konfigurację punkt-lokacja i włączyć uwierzytelnianie oparte na identyfikatorze Entra firmy Microsoft. Pobierz pakiet konfiguracji profilu klienta sieci VPN platformy Azure, rozpakuj i zaimportuj AzureVPN/azurevpnconfig.xml
plik do klienta sieci VPN platformy Azure.
Skonfiguruj plik na swojej lokalnej maszynie hosts
, aby nazwy hostów zasobów kierowały na prywatne adresy IP w sieci wirtualnej. Plik hosts
znajduje się w lokalizacji C:\Windows\System32\drivers\etc
dla systemu Windows i w /etc/hosts
systemie Linux. Przykład:
10.0.0.5 contoso.openai.azure.com
10.0.0.6 contoso.search.windows.net
10.0.0.7 contoso.blob.core.windows.net
Portal Azure AI Foundry
Należy mieć możliwość korzystania ze wszystkich funkcji portalu usługi Azure AI Foundry , w tym pozyskiwania i wnioskowania z lokalnych maszyn klienckich.
Aplikacja internetowa
Aplikacja internetowa komunikuje się z zasobem usługi Azure OpenAI. Ponieważ zasób usługi Azure OpenAI ma wyłączoną sieć publiczną, należy skonfigurować aplikację internetową do korzystania z prywatnego punktu końcowego w sieci wirtualnej w celu uzyskania dostępu do zasobu usługi Azure OpenAI.
Aplikacja internetowa musi rozpoznać nazwę hosta usługi Azure OpenAI do prywatnego adresu IP prywatnego punktu dostępu usług Azure OpenAI. Dlatego należy najpierw skonfigurować prywatną strefę DNS dla sieci wirtualnej.
- Utwórz prywatną strefę DNS w grupie zasobów.
- Dodaj rekord DNS Adres IP to prywatny adres IP punktu końcowego dla zasobu Azure OpenAI, a adres IP można uzyskać z interfejsu sieciowego powiązanego z tym punktem końcowym.
- Połącz prywatną strefę DNS z siecią wirtualną, aby aplikacja internetowa zintegrowana z tą siecią wirtualną mogła korzystać z tej prywatnej strefy DNS.
Podczas wdrażania aplikacji internetowej z portalu Azure AI Foundry wybierz tę samą lokalizację z siecią wirtualną i wybierz odpowiednią jednostkę SKU, aby mogła obsługiwać funkcję integracji sieci wirtualnej.
Po wdrożeniu aplikacji internetowej, z karty sieciowej w portalu Azure, skonfiguruj integrację sieci wirtualnej dla ruchu wychodzącego aplikacji internetowej, wybierz trzecią podsieć zarezerwowaną dla aplikacji internetowej.
Korzystanie z interfejsu API
Upewnij się, że twoje poświadczenia logowania mają rolę Cognitive Services OpenAI Contributor
w zasobie usługi Azure OpenAI i że najpierw uruchomisz polecenie az login
.
Interfejs API przyjmowania danych
Aby uzyskać szczegółowe informacje na temat obiektów żądań i odpowiedzi używanych przez interfejs API pozyskiwania, zobacz artykuł dokumentacja interfejsu API pozyskiwania.
Interfejs API wnioskowania
Zobacz artykuł referencyjny interfejsu API wnioskowania, aby uzyskać szczegółowe informacje na temat obiektów żądań i odpowiedzi używanych przez interfejs API wnioskowania.
Korzystanie z Microsoft Defender dla Chmury
Teraz możesz zintegrować Microsoft Defender dla Chmury (wersja zapoznawcza) z zasobami platformy Azure w celu ochrony aplikacji. Microsoft Defender dla Chmury chroni aplikacje za pomocą ochrony przed zagrożeniami dla obciążeń sztucznej inteligencji, zapewniając zespołom alerty zabezpieczeń oparte na dowodach wzbogacone sygnałami analizy zagrożeń firmy Microsoft i umożliwia zespołom wzmocnienie poziomu zabezpieczeń dzięki zintegrowanym rekomendacjom w zakresie najlepszych rozwiązań w zakresie zabezpieczeń.
Użyj tego formularza , aby ubiegać się o dostęp.