Omówienie zabezpieczeń agenta Azure SRE

Azure agent SRE korzysta z zabezpieczeń ochrony w czterech obszarach: izolacji wykonywania, poświadczeń bez tajemnicy, rezydencji danych i separacji poszczególnych klientów. Każda warstwa działa niezależnie, aby naruszenie zabezpieczeń w jednym obszarze nie było kaskadowe dla innych.

Aby uzyskać szczegółowe informacje o uprawnieniach i tożsamościach, zobacz Uprawnienia agenta i Tożsamość agenta.

Izolacja wykonywania procesów

Silnik rozumowania agenta i uruchamianie narzędzia są uruchamiane w oddzielnych granicach obliczeniowych.

Architektura piaskownicy

Każdy agent otrzymuje własną grupę sandbox odizolowaną mikro maszynę wirtualną obsługiwaną przez usługę Azure Dedicated Compute (ADC), oddzieloną od pętli rozumowania.

Składnik Działa w Roli
Rozumowanie agenta Główne środowisko uruchomieniowe Przetwarza komunikaty, wybiera narzędzia, kompiluje odpowiedzi
Wykonywanie narzędzia Piaskownica ADC (mikro maszyna wirtualna) Uruchamia operacje na plikach, polecenia powłoki Bash, analizę kodu, narzędzia MCP
Przyczepka tożsamości Oddzielna usługa Zarządza poświadczeniami i tokenami, odizolowując je od procesów rozumowania i wykonywania.
Serwer proxy sieci Oddzielna usługa Weryfikuje i kieruje wszystkie żądania wychodzące

Agent komunikuje się z piaskownicą wyłącznie za pośrednictwem strukturalnych wywołań interfejsu API i nigdy nie za pośrednictwem bezpośredniego systemu plików lub dostępu do procesów.

Cykl życia procesu narzędzi

Każde wywołanie narzędzia uruchamia nowy proces wewnątrz piaskownicy:

  1. Nowy proces rozpoczyna się od własnego środowiska.
  2. Sieciowe serwery proxy proxy przesyłają strumienie wejściowe i wyjściowe za pośrednictwem protokołu WebSocket.
  3. Po zakończeniu całe drzewo procesów kończy działanie.

System nie używa trwałych pul procesów. Zmienne środowiskowe i poświadczenia są ograniczone do zakresu połączenia, więc jedno wywołanie narzędzia nie może zobaczyć środowiska innego wywołania narzędzia.

Wykonywanie kodu

Polecenia Pythona i powłoki działają w piaskownicy ADC za pośrednictwem interpretera kodu:

  • Wykonywanie jest odizolowane od zasobów i aparatu rozumowania agenta.
  • Środowisko zawiera ponad 700 wstępnie zainstalowanych pakietów Python, ale nie obsługuje dowolnej instalacji pakietu.
  • Proxy wychodzące kontroluje dostęp do sieci i ogranicza dostęp do znanych domen serwisowych.

Bezsekretowe zarządzanie poświadczeniami

Środowisko uruchomieniowe nigdy nie przechowuje poświadczeń bezpośrednio. Zamiast tego izolowany moduł tożsamości zarządza wszystkimi tokenami i dostarcza je na żądanie poszczególnym procesom narzędziowym.

Przepływ poświadczeń

  1. Agent określa, że potrzebne jest wywołanie narzędzia.
  2. Żądanie jest kierowane do środowiska testowego.
  3. Przyczepka tożsamości wystawia krótkotrwały token do procesu narzędzia.
  4. Narzędzie wykonuje uwierzytelnione wywołanie za pośrednictwem serwera proxy sieci.
  5. Wyniki powrócą do agenta. Poświadczenia nigdy nie wchodzą w kontekst rozumowania.

Trzy właściwości sprawiają, że kradzież poświadczeń jest strukturalnie niemożliwa:

  • Izolacja sidecar tożsamości: oddzielna usługa zarządza wszystkimi poświadczeniami poza środowiskiem wykonywania agenta.
  • Zakres dla każdego wywołania: tokeny są ograniczone do poszczególnych wywołań narzędzi i nie są współużytkowane w piaskownicy.
  • Brak dziedziczenia zmiennej środowiskowej: tylko jawnie zadeklarowane zmienne są przekazywane do procesów narzędzi.

Okres istnienia poświadczeń

Typ Okres istnienia Odśwież
Tokeny tożsamości zarządzanej ~1 godzina (standard platformy Azure) Automatyczne za pośrednictwem Azure SDK
token OAuth (GitHub, ADO) Różni się w zależności od dostawcy Odświeżone 20 minut przed wygaśnięciem
Tokeny akcji (na wywołanie narzędzia) Pojedyncze użycie Wystawione świeże na wywołanie
Tokeny SAS usługi Blob Storage 1 godzina Odświeżone 15 minut przed wygaśnięciem

Miejsce przechowywania danych

Gdy agent zbada problem, wysyła zapytanie do usługi Kusto, Azure Monitor, ARM i innych źródeł danych. Agent przechowuje nieprzetworzone wyniki zapytania tylko w pamięci podczas konwersacji i odrzuca je po zakończeniu rozmowy lub gdy okno kontekstowe zostanie zredukowane. Agent nigdy nie zapisuje nieprzetworzonych wyników zapytania w magazynie trwałym.

Następujące dane utrwalane:

Data Magazyn Retention Purpose
Wątki konwersacji Cosmos DB (na klienta) Do momentu ręcznego usunięcia Historia czatów, rekordy badania
Szczegółowe informacje o sesji Cosmos DB + magazyn blobów agenta Wytrwały Syntetyzowane uczenie się, takie jak objawy, kroki rozwiązywania i główne przyczyny
Pliki pamięci Przechowywanie obiektów blob dla agenta (memories/) Trwałe między sesjami Syntetyzowana wiedza, kontekst zespołu, instrukcje repozytorium
Pliki wątków Magazyn obiektów blob dla agenta (threadfiles/) Powiązane z okresem istnienia wątku Przekazy użytkowników, wygenerowane raporty

Szczegółowe informacje o sesji są syntetyzowane, a nie nieprzetworzone kopie danych. Agent wyodrębnia wzorce (jakie objawy pojawiły się, jakie rozwiązanie zadziałało i co należy uniknąć) i przechowuje je jako wiedzę. Agent nigdy nie utrzymuje nieprzetworzonych wyników zapytania z usługi Kusto lub Azure Monitor.

Izolacja poszczególnych klientów

Warstwa Model izolacji
Środowisko obliczeniowe Dedykowana grupa ADC sandbox dla każdego agenta
Database Oddzielna baza danych Cosmos DB dla każdego klienta
Przechowywanie blobów Konto pamięci dla każdego agenta
Network Instancja serwera proxy dla wszystkich agentów wysyłających żądania wychodzące
Credentials Tożsamość zarządzana przypisana do agenta z kontrolą dostępu opartą na rolach ukierunkowaną na grupy zasobów wybrane przez klienta.

Żadne dane, obliczenia lub poświadczenia nie są udostępniane między agentami lub klientami.

Rejestrowanie i obserwowanie

Twój agent wysyła telemetrię operacyjną do wystąpienia usługi Application Insights skonfigurowanego podczas instalacji, co zapewnia pełny wgląd w operacje agenta.

Telemetry Details
Ślady konwersacji Skorelowane według identyfikatora śledzenia i identyfikatora zakresu na potrzeby kompleksowego śledzenia żądań
Zależności wywołań narzędzi Metoda, adres URL, czas trwania i kod stanu dla każdego wywołania wychodzącego
Błędy i wyjątki Pełne szczegóły wyjątku
Zdarzenia niestandardowe Aktywacje haka, zdarzenia zdarzenia i inne operacje specyficzne dla agenta

Dane telemetryczne płynące z wykonania narzędzia w środowisku piaskownicy przepływają przez ten sam przepływ danych.

Encryption

Warstwa Protection
W spoczynku System Cosmos DB i magazyn obiektów blob używają szyfrowania zarządzanego przez Azure
Podczas przesyłania Protokół HTTPS dla całej komunikacji zewnętrznej; HTTP/2 w obszarze zaufania piaskownicy

Proxy sieciowy i polityki

Cały wychodzący dostęp sieciowy ze środowiska wykonawczego przepływa przez warstwę serwera proxy, która wymusza następujące zasady:

  • Walidacja żądania: każde połączenie wychodzące jest weryfikowane przed dotarciem do usługi zewnętrznej.
  • Wstrzykiwanie poświadczeń: serwer proxy dołącza tokeny o określonym zakresie z sidecara tożsamości; tokeny nigdy nie są obsługiwane bezpośrednio przez kod narzędzia.
  • Określanie zakresu środowiska: tylko jawnie zadeklarowane zmienne środowiskowe są przekazywane do procesów narzędzi.
  • Cykl życia procesu: procesy narzędzi są przerywane po zakończeniu lub gdy upłynie limit czasu.

Powrót w imieniu

Gdy tożsamość zarządzana agenta nie ma uprawnień do operacji, system wraca do działania w Twoim imieniu:

  1. Agent próbuje przeprowadzić operację przy użyciu swojej tożsamości zarządzanej.
  2. Uprawnienia są niewystarczające i zostanie wyświetlony monit o zatwierdzenie akcji ze szczegółami operacji.
  3. Zatwierdzasz to, a operacja jest wykonywana przy użyciu twoich poświadczeń.
  4. Poświadczenia nie są buforowane po zakończeniu.

Tryby uruchamiania kontrolują to zachowanie: Tryb przeglądu wymaga zatwierdzenia operacji zapisu, podczas gdy tryb autonomiczny korzysta bezpośrednio z tożsamości zarządzanej. Aby uzyskać więcej informacji, zobacz Uprawnienia agenta.

Dostęp do sieci prywatnej

usługa Azure Dedicated Compute obsługuje konfiguracje wdrożenia dla wymagań sieci prywatnej:

  • Izolacja regionalna — umieszczanie środowisk piaskownicy uwzględnia granice regionalne (na przykład piaskownice z regionu Wschodnie USA 2 pozostają w regionach Środkowe USA, Północno-Środkowe USA lub Kanada Centralna).
  • Wykonywanie zintegrowane z VNET - Grupy piaskownic aprowizowane przez Azure Resource Manager umożliwiają wykonywanie w Twojej sieci wirtualnej.
  • Dostęp poświadczeń oparty na woluminie — instalacja woluminu MSI zapewnia dostęp poświadczeń bez przechodzenia przez sieć.