Przejdź do treści

Tłumaczenie maszynowe. Wersja angielska jest wiążąca; weryfikacja przez native speakera jeszcze nie nastąpiła.

Kluczowe koncepcje

Dozwolone vs Obserwowane

Różnica w sercu mapy dostępu — co agentowi przyznano vs co zaobserwowano — ujawniająca nieoczekiwany dostęp i nieużywane uprawnienia

Ostatnia aktualizacja:

Każda krawędź w mapie dostępu niesie dwa niezależne fakty: czy dostęp jest dozwolony i czy został zaobserwowany. Różnica między tymi dwiema warstwami jest wyróżnikiem — to ona zmienia statyczny graf w odkrycie.

Dwie warstwy na jednej krawędzi

Mapa nie utrzymuje oddzielnego “grafu polityk” i “grafu telemetrii”. Każda krawędź to pojedyncza relacja (pochodzenie do zasobu, typowana odczyt lub odczyt-zapis), która niesie obie flagi:

  • Dozwolone — nadanie lub polityka pozwala na ten dostęp. Źródłem sygnału jest sama zadeklarowana polityka.
  • Obserwowane — dostęp faktycznie został zaobserwowany, wynikający z telemetrii i natywnego audytu (OpenTelemetry od kooperacyjnych agentów, PostgreSQL pgAudit, logi audytu chmury, backstop na poziomie jądra eBPF).

Jeden niuans istotny dla uczciwości: nie dozwolone oznacza “nie wiadomo, czy dozwolone”, a nie “zabronione”. Mapa rejestruje to, co może udowodnić z zadeklarowanych nadań; brak nadania to luka do zbadania, nie werdykt egzekucji.

Różnica: gdzie tkwi wartość

Dryf najniższych uprawnień to po prostu zbiór krawędzi, w których dwie flagi się nie zgadzają. Dzieli się na dwa operacyjnie odmienne odkrycia:

  • Nieoczekiwany dostępobserwowany, ale nie dozwolony. Agent dotknął zasobu, którego żadne nadanie nie obejmuje. To połowa istotna dla bezpieczeństwa, ujawniana jako główne odkrycie.
  • Nieużywane uprawnieniadozwolone, ale nigdy nie zaobserwowane. Nadanie, z którego nikt nigdy nie skorzystał. To twoja konkretna lista do porządkowania najniższych uprawnień, a nie ogólne przypomnienie “przejrzyj swoje IAM”.

Krawędzie, w których obie flagi się zgadzają — dozwolone i używane, lub żadne z nich — to nudny, oczekiwany stan ustalony. Różnica to mały, akcjonowalny wycinek pomiędzy.

Uczciwości wewnątrz różnicy

Naiwna różnica produkuje fałszywe odkrycia, więc uzgodnienie jest celowo konserwatywne.

Oczekujące na uzgodnienie

Audyt przypisuje dostęp do poświadczenia lub roli; nadanie jest zapisane wobec tożsamości; kooperacyjny sygnał nazywa agenta lub sesję. Gdy mapa dostępu nie może jeszcze pewnie powiązać działającego agenta z tożsamością, dla której napisano jego nadanie, nie może udowodnić, że dostęp jest dozwolony — ale nie może też nagłówkować go jako naruszenie. Takie krawędzie są flagowane jako reconciliation_pending: uczciwa niepewność, nie sfabrykowane odkrycie. Rozwiązują się czysto, gdy tożsamość per-agent łączy poświadczenie z agentem.

Nadania na zasobach, których nikt nie obserwuje

Niektóre nadania dotyczą rodzajów zasobów, które nie mają kolektora po stronie obserwacji — nikt nie śledzi, kto faktycznie używał katalogu LDAP lub przypisania aplikacji IdP. Dla tych “nigdy nie zaobserwowane” to oczekiwany stan ustalony, a nie dowód nadmiernego uprawnienia. Są trzymane z dala od głównej listy nieużywanych nadań, zamiast zaśmiecać ją szumem.

Pokrycie i atrybucja nadal podróżują z krawędzią

Różnica dziedziczy warstwową wierność bazowych krawędzi. Na magazynie opaque (Redis, SQLite, D1) nie ma żadnego pasywnego sygnału odczyt/zapis, więc brak zaobserwowanej krawędzi nie jest dowodem, że dostęp nie nastąpił — to cisza. Podobnie współdzielone konto serwisowe składa atrybucję do approximate. Różnica nigdy nie przedstawia odkrycia o niskiej pewności tak, jakby było pewne.

Gdy różnica jest obliczana na częściowym oknie (bardzo duża infrastruktura przekraczająca limit strony), wynik jest wyraźnie oznaczony jako częściowy, a nie prezentowany jako autorytatywny.

Detektywistyczny, nie na ścieżce

Produkowanie tej różnicy to czynność poza pasmem, detektywistyczna. Płaszczyzna kontrolna działa w twojej własnej infrastrukturze (i może być izolowana sieciowo); obserwuje przez logi, OpenTelemetry i natywny audyt i nie siedzi na ścieżce zadań między agentem a jego zasobami. Awaria kolektora nigdy nie przerywa ruchu produkcyjnego.

Wynikają z tego dwie konsekwencje. Po pierwsze, różnica to raport, nie brama: ujawnia to, co już się wydarzyło. Tam, gdzie produkt działa na podstawie odkrycia, robi to domyślnie odrzucając i na żądanie — nigdy jako ogólny wykonawca. Po drugie, czytanie różnicy samo w sobie jest uprzywilejowaną, ograniczoną do dzierżawcy, w pełni audytowaną akcją: akt sprawdzania kto-może-sięgnąć-co jest istotny rozpoznawczo, a odczyt jest rejestrowany w rejestrze audytu tylko-do-dopisywania zanim jakakolwiek krawędź zostanie zwrócona.

Dlatego też różnica jest bezpieczna do uruchamiania na wrażliwych infrastrukturach: mapa przechowuje relacje — pochodzenie, zasób, odczyt/zapis, źródło, pewność, znaczniki czasu — nigdy ładunków, treści SQL, sekretów czy PII, które płynęły przez krawędź. To, co nie jest przechowywane, nie może wyciec.

Powiązane

Wyszukiwanie w dokumentacji