Skip to main content
Gdy agent działa w piaskownicy, jego polecenia 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

  1. Dyrektywa w treści wiadomości (dotyczy tylko tej wiadomości)
  2. Nadpisanie sesji (ustawione przez wysłanie wiadomości zawierającej wyłącznie dyrektywę)
  3. Globalna wartość domyślna (agents.defaults.elevatedDefault w konfiguracji)

Dostępność i listy dozwolonych

  • Brama globalna: tools.elevated.enabled (musi mieć wartość true)
  • Lista dozwolonych nadawców: tools.elevated.allowFrom z 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 wpisu tools.elevated.allowFrom.<provider>.
  • Wszystkie bramy muszą zezwolić na dostęp; w przeciwnym razie tryb podwyższonych uprawnień jest uznawany za niedostępny
Formaty wpisów na liście dozwolonych:

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 auto w swobodne przełączanie między hostami. Korzysta ze skonfigurowanych lub sesyjnych reguł celu exec i wybiera node tylko wtedy, gdy celem już jest node.
  • Niezależność od /exec: dyrektywa /exec dostosowuje 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.