Integracja sieciowa agenta Azure SRE (wersja zapoznawcza)

Bezpieczeństwo agenta w usłudze Azure SRE Agent można poprawić na kilka sposobów: za pomocą odpowiednich uprawnień kontroli dostępu opartej na rolach (RBAC) oraz przez integrację z siecią wirtualną (VNet).

Jeśli przyznasz tożsamości zarządzanej agenta odpowiednie uprawnienia RBAC, agent będzie mógł wykonywać działania w infrastrukturze, wykonywać zapytania do baz danych i uruchamiać polecenia w klastrach. RBAC to główny mechanizm bezpieczeństwa, który określa, co agent może robić.

Integracja sieci wirtualnej dodaje dodatkową warstwę ochrony, kontrolując, gdzie agent może wysyłać ruch. Bez tej integracji ruch wychodzący z agenta przepływa przez publiczny Internet. Dzięki niemu każde wywołanie wychodzące odbywa się za pośrednictwem Azure Virtual Network i istniejącej infrastruktury zabezpieczeń sieci.

W tym artykule wyjaśniono, dlaczego kontrola na poziomie sieci ma znaczenie dla wdrożeń przedsiębiorstwa, sposobu działania integracji sieci wirtualnej oraz sposobu wybierania odpowiedniego trybu sterowania siecią dla obciążenia.

Dlaczego kontrola sieci ma znaczenie

Domyślnie agent może uzyskać dostęp do dowolnego punktu końcowego w Internecie. W przypadku obciążeń programistycznych i testowych to zachowanie jest akceptowalne. W przypadku wdrożeń produkcyjnych przedsiębiorstwa ten poziom dostępu stwarza niepotrzebne ryzyko.

Dwa czynniki ryzyka wiążą się z wymaganiem przedsiębiorstwa dla mechanizmów kontroli sieci:

  • Eksfiltracja danych: Agent z dostępem do poufnych danych wewnętrznych i nieograniczonym dostępem do Internetu może utworzyć ścieżkę do danych, aby opuścić organizację.

  • Wstrzyknięcie promptu: Złośliwe treści w publicznie dostępnym internecie mogą zostać przygotowane tak, aby manipulować działaniem agenta. Nieograniczony agent pobierający zawartość zewnętrzną jest narażony na ataki iniekcyjne za pośrednictwem tych odpowiedzi.

Umieść agenta w sieci wirtualnej, aby lepiej kontrolować jego zachowanie.

Jak działa integracja sieci wirtualnej

Integracja z siecią wirtualną łączy agenta SRE z istniejącą siecią wirtualną. Gdy agent inicjuje połączenie wychodzące, ruch przepływa przez infrastrukturę sieciową zamiast przez publiczny internet.

Ruch agenta po skonfigurowaniu integracji z siecią wirtualną:

  • Pojawia się w dziennikach sieci na potrzeby inspekcji i monitorowania.
  • Przechodzi przez zapory warstwy 4 i warstwy 7.
  • Uwzględnia niestandardową konfigurację systemu nazw domen (DNS).
  • Jest zgodne z firmowymi zasadami bezpieczeństwa i regułami ruchu wychodzącego.

Po dołączeniu agenta SRE do sieci wirtualnej działa zgodnie z tymi samymi regułami, co inne obciążenie w tej sieci, w tym inspekcja zapory, rozpoznawanie nazw DNS i rejestrowanie ruchu.

Ważna

Integracja z siecią wirtualną kontroluje tylko ruch wychodzący (egress).

Tryby sterowania siecią

Agent SRE oferuje trzy tryby sterowania siecią. Wybierz tryb zgodny ze stanem zabezpieczeń i kontekstem operacyjnym.

Tryb Description Najlepsze dla
Bez ograniczeń Brak ograniczeń sieci. Agent może uzyskać dostęp do dowolnego internetowego punktu końcowego. Programowanie, testowanie i niewrażliwe obciążenia.
Limited Lista dozwolonych adresów URL oparta na symbolach wieloznacznych określa, które punkty końcowe agent może wywoływać. Kontrola na poziomie hosta bez pełnego routingu sieci wirtualnej.
Sieć wirtualna platformy Azure Wszystkie nieplatformowe trasy ruchu wychodzącego przez sieć wirtualną z zastosowanymi regułami DNS i zapory. Wdrożenia produkcyjne wymagające kontroli ruchu wychodzącego i zgodności z wymogami audytowymi.

Wybierz tryb sterowania siecią dla obciążenia roboczego

Użyj następujących kryteriów, aby wybrać tryb:

  • Azure VNet: Wybierz ten tryb, jeśli obciążenie robocze obsługuje poufne lub regulowane dane, wymaga pełnej ścieżki audytu ruchu wychodzącego lub musi być zgodne z korporacyjnymi zasadami zabezpieczeń. Ten tryb jest zalecany w przypadku wdrożeń produkcyjnych w przedsiębiorstwie.

  • Ograniczone: wybierz ten tryb, jeśli chcesz ograniczyć określone miejsca docelowe zewnętrzne bez kierowania całego ruchu przez sieć wirtualną. Ten tryb działa dobrze, gdy potrzebna jest częściowa kontrola bez obciążenia pełnej konfiguracji sieci wirtualnej.

  • Nieograniczony: wybierz ten tryb, jeśli obciążenie jest krótkoterminowym środowiskiem projektowym lub testowym bez dostępu do poufnych danych. Ten tryb jest domyślny.

Aby wybrać tryb, otwórz agenta w portalu Azure i wybierz pozycję Ustawienia>Konfiguracja obszaru roboczego. Przełączanie między trybami na uruchomionym agencie. Ustawienia są zachowywane przy zmianie trybu.

Zrzut ekranu przedstawiający konfigurację obszaru roboczego agenta usługi Azure SRE z opcjami trybu sterowania siecią dla nieograniczonej, ograniczonej i Azure sieci wirtualnej.

Jak działa tryb Azure VNet

W trybie Azure sieci wirtualnej ruch wychodzący przyjmuje jedną z dwóch ścieżek:

Twoja sieć wirtualna. Domyślnie cały ruch wychodzący nieplatformowy przechodzi przez delegowana podsieć w sieci wirtualnej. Obowiązują reguły NSG, zasady zapory, niestandardowy DNS i dzienniki sieciowe. Agent podlega tym samym mechanizmom kontroli co inne obciążenie w tej podsieci. Może dotrzeć tam, dokąd może dotrzeć podsieć, i nic ponadto.

Agent może uzyskiwać dostęp do zasobów za prywatnymi punktami końcowymi, usługami wewnętrznymi i systemami lokalnymi połączonymi za pośrednictwem usługi ExpressRoute lub sieci VPN, o ile zezwalają na to trasy sieciowe i reguły.

Sieć infrastruktury Azure SRE Agent. Usługi platformy, od których agent zależy (orkiestracja, punkty końcowe modelu, telemetria) zawsze są kierowane przez infrastrukturę zarządzaną Microsoft. Te usługi nie są konfigurowalne. Niektóre funkcje agenta, takie jak instalacja pakietu, dostęp do repozytorium kodu i zdalne serwery MCP wymagają dotarcia do usług publicznych. Aby użyć tych funkcji w trybie Azure sieci wirtualnej, włącz odpowiedni przełącznik. Jeśli przełącznik jest wyłączony, ta możliwość jest niedostępna, chyba że VNet może kierować ruch bezpośrednio do tych usług (na przykład za pośrednictwem reguł zapory opartych na nazwach FQDN). Zobacz Azure SRE Agent infra network, aby uzyskać szczegółowe informacje.

Podsumowanie routingu ruchu

Typ ruchu Path Konfigurowalne?
Twoja infrastruktura Azure (Log Analytics, App Insights, AKS, bazy danych, Key Vaults) Twoja sieć VNet Tak. Domyślnie kierowane przez sieć VNet.
Systemy lokalne (ExpressRoute/VPN) Twoja sieć VNet Tak. Dostępne, jeśli zezwalają na to trasy sieciowe.
Usługi platformy (aranżacja, punkty końcowe modelu, telemetria) Infrastruktura sieciowa agenta SRE platformy Azure No. Zawsze trasowane przez zarządzaną infrastrukturę.
Rejestry pakietów (PyPI, npm, NuGet, apt) Sieć infrastruktury agenta SRE (przełącznik włączony) lub Twoja sieć VNet (reguła FQDN) Tak. Przełącznik dla każdego rejestru lub wstępna instalacja pakietów
Repozytoria kodu (GitHub, GHE, Azure DevOps) Sieć infrastruktury agenta SRE (przełącznik włączony) lub Twoja sieć VNet (reguła FQDN) Tak. Przełącznik dla każdego dostawcy
Zdalne serwery MCP Sieć infrastruktury agenta SRE (przełącznik włączony) lub Twoja sieć VNet (reguła FQDN) Tak. Przełącznik pojedynczy
Dodatkowe nazwy hostów Sieć infrastruktury agenta SRE (dla hostów z listy) Tak. Lista niestandardowa
Ruch łącznika Publiczny Internet No. Nie są kierowane przez sieć VNet w tej wersji zapoznawczej.
Przychodzący (prywatny punkt końcowy) Niewspierane No. Tylko ruch wychodzący w tej wersji zapoznawczej.

Konfigurowanie trybu Azure VNet

Wymagania dotyczące podsieci

Tryb Azure VNet wymaga dedykowanej podsieci w Twojej sieci wirtualnej:

  • Rozmiar: /28 lub większy. /28 obsługuje współbieżne sesje jednego agenta. Rozmiar do /26 dla większych flot lub pojemności serii.
  • Delegacja: Podsieć musi być delegowana do Microsoft.App/environments.
  • Region: podsieć musi znajdować się w tym samym regionie co zasób agenta SRE.
  • Dedykowane: podsieć nie może być udostępniana innym usługom.

Konfigurowanie trybu VNet platformy Azure

  1. Przejdź do Ustawienia>Konfiguracja obszaru roboczego>Sieć.
  2. Wybierz Azure VNet jako tryb wyjściowy.
  3. Wybierz pozycję Przeglądaj podsieci.
  4. Wybierz subskrypcję,grupę zasobów, sieć wirtualną i podsieć spełniającą wymagania dotyczące podsieci.
  5. Wybierz opcję Zapisz.
  6. Przetestuj agenta za pomocą reprezentatywnego incydentu, aby potwierdzić, że może uzyskać dostęp do zasobów, których potrzebuje.

Infrastruktura sieciowa agenta SRE platformy Azure

Niektóre funkcje agenta zależą od usług publicznych, które trudno dodać do listy dozwolonych na podstawie adresu IP. W trybie Azure VNet te funkcje wymagają albo przełącznika sieci infrastruktury (który kieruje ruch z tej kategorii przez sieć infrastruktury agenta Azure SRE), albo reguł zapory opartych na nazwach FQDN w sieci wirtualnej, które bezpośrednio zezwalają na ten ruch. Zobacz podsumowanie routingu ruchu , aby uzyskać pełną listę kategorii i ścieżek.

Jeśli wyłączysz przełącznik i sieć wirtualna nie będzie mogła nawiązać połączenia z usługą, ta funkcja jest niedostępna.

Note

Można zastosować Azure Policy, aby ograniczyć lub wyłączyć przełączanie sieci infra, zapewniając, że żaden operator nie może kierować ruchu poza sieć wirtualną.

Wstępnie zainstalowane pakiety

Preinstaluj pakiety na obrazie dysku podstawowego piaskownicy, aby były dostępne za każdym razem, gdy agent jest uruchamiany. Ta funkcja jest przydatna, gdy narzędzia lub skrypty zależą od określonych pakietów, które nie są uwzględnione w domyślnym środowisku piaskownicy.

Aby skonfigurować wstępnie zainstalowane pakiety:

  1. Otwórz agenta w portalu Azure i wybierz pozycję Settings>Konfiguracje obszaru pracy.

  2. Wybierz kartę Pakiety .

  3. Wprowadź nazwę pakietu, wybierz menedżera pakietów (pip lub NuGet) i opcjonalnie określ wersję.

  4. Wybierz + Dodaj pakiet.

Zrzut ekranu przedstawiający kartę Pakiety w konfiguracji obszaru roboczego agenta usługi Azure SRE z polami nazwy pakietu, menedżera pakietów i wersji.

Note

Pozycje pakietu NuGet muszą być narzędziami interfejsu wiersza polecenia .NET (na przykład dotnet-ef). Nie można globalnie instalować pakietów bibliotek.

Kontrolki obejścia sieci wirtualnej

Po włączeniu trybu Azure VNet sekcja W sieci infrastruktury na stronie konfiguracji obszaru roboczego umożliwia kierowanie kategoriami ruchu poza siecią VNet przez publiczny Internet. Jeśli nie włączysz żadnego z tych mechanizmów sterowania, cały ruch agenta będzie kierowany przez Twoją sieć wirtualną (VNet).

Nie każda usługa zewnętrzna udostępnia tag usługi Azure. GitHub na przykład nie jest usługą Azure i nie uwidacznia tagu usługi. Jeśli agent musi uzyskać dostęp do GitHub, jedyną opcją z zaporą opartą na adresach IP warstwy 4 jest utrzymywanie listy adresów IP dostawcy. Te listy często się zmieniają, a zapora, która nie jest na bieżąco aktualizowana, powoduje, że agent przestaje działać.

Dotyczy to również kilku głównych usług publicznych, takich jak PyPI, npm, NuGet i rejestry kontenerów. Te usługi działają z dużych, często zmieniających się globalnych zakresów adresów IP i nie są objęte tagami usługi Azure.

Przełączniki obejścia umożliwiają agentowi dostęp do tych hostów przez wyjście z platformy. Zespół sieciowy aktualizuje reguły zapory lub przechodzi do zapory obsługującej filtrowanie nazw hostów lub filtrowanie w pełni kwalifikowanej nazwy domeny (FQDN). Przykładami są Azure Firewall Premium z regułami FQDN lub wirtualne urządzenie sieciowe obsługujące inspekcję protokołu Transport Layer Security (TLS).

Traktuj mechanizmy obejścia jako narzędzie przejściowe, a nie stały zamiennik filtrowania ruchu wychodzącego opartego na nazwach hostów.

Dostępne są następujące elementy sterujące:

Kontrola Description
Dostęp do serwera protokołu MCP (Model Context Protocol) Po włączeniu ruch serwera MCP jest kierowany przez publiczny Internet zamiast sieci wirtualnej.
Dostęp menedżera pakietów Po włączeniu ruch menedżera pakietów (PyPI, npm, NuGet) kieruje przez publiczny Internet zamiast sieci wirtualnej.
Repozytoria kodu Wybierz, których dostawców repozytoriów kodu (GitHub, GitHub Enterprise, Azure DevOps) kierować przez publiczny Internet zamiast przez Twoją sieć wirtualną.
Dodatkowe hosty Wprowadź dodatkowe nazwy hostów lub wzorce wieloznaczne (na przykład github.com, *.example.com, raw.contoso.io), aby kierować przez publiczny Internet zamiast sieci wirtualnej. Skonfigurowane pakiety automatycznie zezwalają na własne hosty.

Zagadnienia związane z nadzorem

Dostęp do tych kontrolek jest przeznaczony dla użytkowników z rolą administratora agenta SRE. Tworzenie agenta SRE w środowisku przedsiębiorstwa jest samo w sobie znaczącym działaniem w zakresie ładu, ponieważ organizacje zwykle wymagają znacznej zgody na wdrażanie usług w środowisku produkcyjnym. Mechanizmy obejścia to jeden z elementów szerszego modelu ładu organizacyjnego w przedsiębiorstwie, który obejmuje tożsamości zarządzane, poświadczenia on-behalf-of (OBO) oraz uprawnienia RBAC. Agent może wykonywać tylko to, co zezwala na jego uprawnienia, a konfiguracja sieci kontroluje, gdzie ten ruch jest kierowany.

Co się dzieje, gdy sieć blokuje połączenie

Jeśli żądanie wychodzące zostanie odrzucone przez regułę NSG lub nie ma dla niego trasy, agent zobaczy taki sam błąd sieciowy, jaki zobaczyłoby każde obciążenie robocze w tej podsieci. Agent zgłasza niepowodzenie w wynikach swojej analizy (na przykład „Nie można uzyskać dostępu do obszaru roboczego Log Analytics: przekroczono limit czasu połączenia”) i kontynuuje pracę, korzystając z narzędzi i danych, do których ma dostęp. Jeśli krytyczne źródło danych nie jest osiągalne, badanie jest niekompletne, a agent zgłasza ten warunek.

Ograniczenia

Następujące ograniczenia mają zastosowanie w trakcie korzystania z wersji zapoznawczej.

  • Tylko ruch wychodzący: Integracja z siecią wirtualną kontroluje tylko ruch wychodzący. Połączenia przychodzące do agenta z wnętrza sieci prywatnej nie są obsługiwane.

  • Łączniki nie obsługują routingu przez sieć wirtualną: Routing ruchu łączników przez sieć wirtualną nie jest obsługiwany. Łączniki są również dostępne w wersji zapoznawczej. Podczas korzystania z wersji zapoznawczej ruch łącznika jest kierowany przez publiczny Internet. Aby uzyskać więcej informacji, zobacz Łączniki SRE Agent.

  • Polecenia kubectl względem klastrów prywatnych wymagają tożsamości zarządzanej: gdy agent osiągnie prywatny serwer interfejsu API Azure Kubernetes Service (AKS) za pośrednictwem integracji z siecią wirtualną, polecenia kubectl są uruchamiane za pośrednictwem przepływu wywołania polecenia usługi AKS.

    Ten przepływ obsługuje tożsamość zarządzaną agenta, ale nie przekazuje poświadczeń użytkownika typu on-behalf-of (OBO).

    Polecenie ma również ograniczenia operacyjne, w tym 60-sekundowy limit czasu interfejsu API usługi Azure Resource Manager oraz limit rozmiaru danych wyjściowych wynoszący 512 KB. Długotrwałe operacje kubectl lub operacje generujące dużo danych wyjściowych mogą zostać obcięte lub zakończyć się niepowodzeniem.

    Jeśli potrzebujesz obsługi OBO dla narzędzia kubectl lub musisz uruchomić operacje przekraczające te limity, zachowaj publicznie dostępny serwer interfejsu API usługi AKS i użyj nieograniczonego lub ograniczonego trybu.

Note

Serwery MCP i zasoby platformy Azure za siecią VNet są dostępne zgodnie z oczekiwaniami, jeśli konfiguracja Twojego adresu IP i tagu usługi jest prawidłowa.

Łączniki są również dostępne w wersji zapoznawczej. W wersji zapoznawczej ruch łącznika jest kierowany przez publiczny internet, a nie przez sieć VNet. Aby uzyskać więcej informacji, zobacz Łączniki SRE Agent.