Konfiguracja sieci i dostępu dla usługi Azure OpenAI na danych
Uwaga
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 zarządzano już 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 usługi Azure OpenAI On Your Data with Microsoft Entra ID role-based access control, virtual networks i private endpoints.
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 obiektów blob nie zostało zilustrowane na tym diagramie. Po pobraniu stron internetowych z Internetu i przekazaniu ich do magazynu obiektów blob kroki 3 są takie same.
- Dwa indeksatory, dwa indeksy, dwa źródła danych i niestandardowa umiejętność są tworzone w zasobie usługi Azure AI Search.
- Kontener fragmentów jest tworzony w magazynie obiektów blob.
- Jeśli harmonogram wyzwala pozyskiwanie, proces pozyskiwania rozpoczyna się od kroku 7.
- Interfejs API usługi Azure OpenAI implementuje protokół internetowego interfejsu API usługi Azure AI
preprocessing-jobs
Search i przetwarza dokumenty w kolejce. - Azure OpenAI:
- Wewnętrznie używa pierwszego indeksatora utworzonego wcześniej w celu złamania dokumentów.
- Używa algorytmu opartego na algorytmie heurystycznym do wykonywania fragmentów. Honoruje układy tabeli i inne elementy formatowania w granicach fragmentów, aby zapewnić najlepszą jakość fragmentowania.
- Jeśli zdecydujesz się włączyć wyszukiwanie wektorowe, usługa Azure OpenAI używa wybranego ustawienia osadzania w celu wektoryzacji fragmentów.
- Gdy są przetwarzane wszystkie dane monitorowane przez usługę, usługa Azure OpenAI wyzwala drugi indeksator.
- Indeksator przechowuje przetworzone dane w usłudze Azure AI usługa wyszukiwania.
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 wnioskowania
Podczas wysyłania wywołań interfejsu API do rozmowy z modelem usługi Azure OpenAI na danych usługa musi pobrać pola indeksu podczas wnioskowania w celu wykonania mapowania pól. W związku z tym usługa wymaga, aby tożsamość usługi 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
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 filtrami zabezpieczeń usługi 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 programie Azure OpenAI Studio 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.
Azure OpenAI Studio
Po nawiązaniu połączenia z indeksem usługi Azure AI Search odpowiedzi w programie Studio mają dostęp do dokumentów na podstawie uprawnień firmy Microsoft entra zalogowanego użytkownika.
Aplikacja sieci web
Jeśli używasz opublikowanej aplikacji internetowej, musisz ponownie wdrożyć ją, aby uaktualnić ją do najnowszej wersji. Najnowsza wersja aplikacji internetowej obejmuje możliwość pobierania grup zalogowanego konta Microsoft Entra użytkownika, buforowania go i dołączania identyfikatorów grup w każdym żądaniu interfejsu API.
API
W przypadku korzystania z interfejsu API przekaż parametr w każdym żądaniu interfejsu filter
API. Na przykład:
Ważne
Poniżej przedstawiono tylko przykład. Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.
Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
{
"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.
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 sztucznej inteligencji platformy 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 usługa Azure OpenAI, jedna usługa Azure AI Search, jedno konto magazynu
- Trzy prywatne punkty końcowe, z których każda jest połączona z jedną usługą kluczy
- 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 strefa Prywatna strefa DNS, więc aplikacja internetowa znajduje 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 używana do integracji wychodzącej sieci wirtualnej aplikacji internetowej.
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łączanie tożsamości zarządzanej
Aby umożliwić usłudze Azure AI Search i konto magazynu rozpoznawanie usługi Azure OpenAI za pośrednictwem uwierzytelniania identyfikatora Entra firmy Microsoft, musisz przypisać tożsamość zarządzaną dla usługi Azure OpenAI. Najprostszym sposobem jest przełączenie tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal.
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 usługi Azure OpenAI preprocessing-jobs
jako niestandardowego internetowego interfejsu API umiejętności, 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 tożsamości zarządzanej przypisanej przez system w celu wywołania niestandardowego internetowego interfejsu API umiejętności.
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 udostępniony link prywatny 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 Service z maszyn klienckich, takich jak korzystanie z programu Azure OpenAI Studio, musisz utworzyć połączenia prywatnego punktu końcowego łączące 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łączanie tożsamości zarządzanej
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 przełączenie tożsamości zarządzanej przypisanej przez system w witrynie Azure Portal.
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 witrynie Azure Portal, wybierz pozycję Zarówno , jak i Kontrola dostępu oparta na rolach na karcie Klucze w witrynie Azure Portal.
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 programu Azure OpenAI Studio, musisz utworzyć połączenia prywatnego punktu końcowego łączące się z zasobem usługi Azure AI Search.
Włączanie zaufanej usługi
Możesz włączyć zaufaną usługę zasobu wyszukiwania w witrynie Azure Portal.
Przejdź do karty sieciowej zasobu wyszukiwania. Po ustawieniu dostępu do sieci publicznej na wartość wyłączone wybierz pozycję Zezwalaj usługom platformy Azure na liście zaufanych usług, aby uzyskać dostęp 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 interfejsu wiersza polecenia platformy jq
Azure i narzędzia.
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
Napiwek
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 link prywatny z zasobu wyszukiwania łączącego się z zasobem usługi Azure OpenAI, zapoznaj się z dokumentacją wyszukiwania. Wybierz pozycję 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 witrynie Azure Portal przejdź do karty sieci konta magazynu, wybierz pozycję "Wybrane sieci", a następnie wybierz pozycję Zezwalaj usługom platformy Azure na liście zaufanych usług, aby uzyskać dostęp do tego konta magazynu, a następnie kliknij przycisk Zapisz.
Wyłączanie dostępu do sieci publicznej
Dostęp do sieci publicznej konta magazynu można wyłączyć w witrynie Azure Portal.
Aby zezwolić na dostęp do konta magazynu z maszyn klienckich, na przykład przy użyciu programu Azure OpenAI Studio, należy utworzyć połączenia prywatnego punktu końcowego łączące się z magazynem obiektów blob.
Przypisania ról
Do tej pory każdy zasób działa niezależnie. 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 | Umiejętność niestandardowa. |
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 (obiekt blob i plik) | Odczytaj indeksy wyszukiwania utworzone w magazynie obiektów blob w projekcie usługi Azure AI Foundry. |
Cognitive Services OpenAI User |
Aplikacja sieci web | Azure OpenAI | Wnioskowanie. |
W powyższej tabeli Assignee
oznacza przypisaną przez system tożsamość zarządzaną tego zasobu.
Administrator musi mieć Owner
rolę w tych zasobach, aby dodać przypisania ról.
Zapoznaj się z dokumentacją RBAC platformy Azure, aby uzyskać instrukcje dotyczące ustawiania tych ról w witrynie Azure Portal. 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 usługi Azure OpenAI Studio. Rola jest niewystarczająca Contributor , ponieważ jeśli masz Contributor tylko rolę, nie można wywołać interfejsu API płaszczyzny danych za pośrednictwem uwierzytelniania identyfikatora Entra firmy Microsoft, a uwierzytelnianie identyfikatora Entra firmy Microsoft jest wymagane w bezpiecznej konfiguracji opisanej w tym artykule. |
Contributor |
Wyszukiwanie AI platformy Azure | Wyświetlanie listy kluczy interfejsu API do wyświetlania listy indeksów z poziomu programu Azure OpenAI Studio. |
Contributor |
Konto magazynu | Wyświetlanie listy sygnatur dostępu współdzielonego konta w celu przekazania plików z programu Azure OpenAI Studio. |
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 interfejsu 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 maszyny hosts
lokalnej, aby wskazywał nazwy hostów zasobów 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
Azure OpenAI Studio
Należy mieć możliwość korzystania ze wszystkich funkcji programu Azure OpenAI Studio, w tym pozyskiwania i wnioskowania, z lokalnych maszyn klienckich.
Aplikacja sieci web
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 na prywatny adres IP prywatnego punktu końcowego dla usługi 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 jest prywatnym adresem IP prywatnego punktu końcowego dla zasobu usługi Azure OpenAI i możesz uzyskać adres IP z interfejsu sieciowego skojarzonego z prywatnym punktem końcowym dla usługi Azure OpenAI.
- 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 poziomu programu Azure OpenAI Studio 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 na karcie Sieci w witrynie Azure Portal skonfiguruj integrację sieci wirtualnej ruchu wychodzącego aplikacji internetowej, wybierz trzecią podsieć zarezerwowaną dla aplikacji internetowej.
Korzystanie z interfejsu API
Upewnij się, że twoje poświadczenia logowania mają Cognitive Services OpenAI Contributor
rolę w zasobie usługi Azure OpenAI i uruchom najpierw polecenie az login
.
Interfejs API pozyskiwania
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.