exec są ograniczone do środowiska piaskownicy. Tryb podwyższonych uprawnień pozwala agentowi opuścić piaskownicę i wykonywać polecenia poza nią, z konfigurowalnymi mechanizmami zatwierdzania.
Tryb podwyższonych uprawnień zmienia zachowanie tylko wtedy, gdy agent działa w piaskownicy. W przypadku agentów działających bez piaskownicy polecenia exec są już wykonywane na hoście.
Dyrektywy
Steruj trybem podwyższonych uprawnień dla poszczególnych sesji za pomocą poleceń z ukośnikiem:
Dostępna jest również skrócona forma
/elev on|off|ask|full.
Wyślij /elevated bez argumentu, aby zobaczyć bieżący poziom.
Jak to działa
1
Sprawdź dostępność
Tryb podwyższonych uprawnień musi być włączony w konfiguracji, a nadawca musi znajdować się na liście dozwolonych:
2
Ustaw poziom
Wyślij wiadomość zawierającą wyłącznie dyrektywę, aby ustawić wartość domyślną sesji:Możesz też użyć jej w treści wiadomości (dotyczy tylko tej wiadomości):
3
Polecenia są wykonywane poza piaskownicą
Gdy tryb podwyższonych uprawnień jest aktywny, wywołania
exec opuszczają piaskownicę. Domyślnym efektywnym hostem jest
gateway, a gdy skonfigurowanym lub sesyjnym celem exec jest
node — hostem jest node. W trybie full zatwierdzanie poleceń exec jest pomijane, gdy obowiązujące
zasady zatwierdzania dla trybu/hosta exec są już całkowicie liberalne (bezpieczeństwo full,
pytanie off); w przeciwnym razie nadal obowiązują zwykłe zasady zatwierdzania. W trybie
on/ask skonfigurowane reguły zatwierdzania obowiązują zawsze.Kolejność rozstrzygania
- Dyrektywa w treści wiadomości (dotyczy tylko tej wiadomości)
- Nadpisanie sesji (ustawione przez wysłanie wiadomości zawierającej wyłącznie dyrektywę)
- Globalna wartość domyślna (
agents.defaults.elevatedDefaultw konfiguracji)
Dostępność i listy dozwolonych
- Brama globalna:
tools.elevated.enabled(musi mieć wartośćtrue) - Lista dozwolonych nadawców:
tools.elevated.allowFromz listami dla poszczególnych kanałów - Brama dla agenta:
agents.list[].tools.elevated.enabled(może jedynie dodatkowo ograniczać dostęp; zarówno brama globalna, jak i brama dla agenta muszą mieć wartośćtrue) - Lista dozwolonych dla agenta:
agents.list[].tools.elevated.allowFrom(nadawca musi pasować zarówno do listy globalnej, jak i listy dla agenta) - Zastępcza lista dozwolonych udostępniana przez kanał: pluginy kanałów mogą opcjonalnie dostarczyć zastępczą listę dozwolonych za pośrednictwem punktu rozszerzenia adaptera SDK, używaną, gdy
tools.elevated.allowFrom.<provider>nie jest skonfigurowane. Żaden wbudowany kanał obecnie nie implementuje tego punktu rozszerzenia, dlatego w praktyce każdy dostawca wymaga dziś jawnego wpisutools.elevated.allowFrom.<provider>. - Wszystkie bramy muszą zezwolić na dostęp; w przeciwnym razie tryb podwyższonych uprawnień jest uznawany za niedostępny
Czego nie kontroluje tryb podwyższonych uprawnień
- Zasady narzędzi: jeśli zasady narzędzi zabraniają użycia
exec, tryb podwyższonych uprawnień nie może tego zmienić. - Zasady wyboru hosta: tryb podwyższonych uprawnień nie zmienia ustawienia
autow swobodne przełączanie między hostami. Korzysta ze skonfigurowanych lub sesyjnych reguł celu exec i wybieranodetylko wtedy, gdy celem już jestnode. - Niezależność od
/exec: dyrektywa/execdostosowuje sesyjne wartości domyślne exec (host, bezpieczeństwo, pytanie, węzeł) dla upoważnionych nadawców i nie wymaga trybu podwyższonych uprawnień.
Polecenie czatu bash (prefiks
!; alias /bash) podlega osobnej bramie, która oprócz własnej flagi tools.bash.enabled wymaga włączenia tools.elevated. Wyłączenie trybu podwyższonych uprawnień blokuje również polecenia powłoki !.Powiązane
Narzędzie exec
Wykonywanie poleceń powłoki przez agenta.
Zatwierdzanie exec
System zatwierdzania i list dozwolonych dla
exec.Piaskownica
Konfiguracja piaskownicy na poziomie Gateway.
Piaskownica a zasady narzędzi a tryb podwyższonych uprawnień
Sposób współdziałania tych trzech bram podczas wywołania narzędzia.