Tools

Tryb podwyższonych uprawnień

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.

Dyrektywy

Steruj trybem podwyższonych uprawnień dla poszczególnych sesji za pomocą poleceń z ukośnikiem:

Dyrektywa Działanie
/elevated on Wykonuje polecenia poza piaskownicą w skonfigurowanej ścieżce hosta i zachowuje zatwierdzanie
/elevated ask To samo co on (alias)
/elevated full Wykonuje polecenia poza piaskownicą w skonfigurowanej ścieżce hosta i pomija zatwierdzanie, gdy zasady zatwierdzania dla trybu/hosta już na to pozwalają
/elevated off Przywraca wykonywanie poleceń ograniczone do piaskownicy

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

  • Sprawdź dostępność

    Tryb podwyższonych uprawnień musi być włączony w konfiguracji, a nadawca musi znajdować się na liście dozwolonych:

    json5
    {  tools: {    elevated: {      enabled: true,      allowFrom: {        discord: ["user-id-123"],        whatsapp: ["+15555550123"],      },    },  },}
  • Ustaw poziom

    Wyślij wiadomość zawierającą wyłącznie dyrektywę, aby ustawić wartość domyślną sesji:

    Code
    /elevated full

    Możesz też użyć jej w treści wiadomości (dotyczy tylko tej wiadomości):

    Code
    /elevated on run the deployment script
  • 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:

    Prefiks Dopasowanie
    (brak) Identyfikator nadawcy, E.164 lub pole From
    name: Wyświetlana nazwa nadawcy
    username: Nazwa użytkownika nadawcy
    tag: Znacznik nadawcy
    id:, from:, e164: Jawne wskazanie tożsamości

    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ń.

    Powiązane

    Was this useful?
    On this page

    On this page