Skip to main content
Saat agen berjalan di dalam sandbox, perintah exec-nya dibatasi pada lingkungan sandbox. Mode dengan hak istimewa lebih tinggi memungkinkan agen keluar dan menjalankan perintah di luar sandbox, dengan gerbang persetujuan yang dapat dikonfigurasi.
Mode dengan hak istimewa lebih tinggi hanya mengubah perilaku saat agen berada dalam sandbox. Untuk agen tanpa sandbox, exec sudah berjalan pada host.

Direktif

Kendalikan mode dengan hak istimewa lebih tinggi per sesi menggunakan perintah garis miring: Juga tersedia sebagai /elev on|off|ask|full. Kirim /elevated tanpa argumen untuk melihat tingkat saat ini.

Cara kerjanya

1

Periksa ketersediaan

Mode dengan hak istimewa lebih tinggi harus diaktifkan dalam konfigurasi dan pengirim harus berada dalam daftar izin:
2

Atur tingkat

Kirim pesan yang hanya berisi direktif untuk mengatur nilai bawaan sesi:
Atau gunakan secara sebaris (hanya berlaku untuk pesan tersebut):
3

Perintah dijalankan di luar sandbox

Saat mode dengan hak istimewa lebih tinggi aktif, panggilan exec keluar dari sandbox. Host efektif secara bawaan adalah gateway, atau node jika target exec yang dikonfigurasi/ditetapkan untuk sesi adalah node. Dalam mode full, persetujuan exec dilewati jika kebijakan persetujuan mode/host exec yang ditetapkan sudah sepenuhnya permisif (keamanan full, ask off); jika tidak, kebijakan persetujuan normal tetap berlaku. Dalam mode on/ask, aturan persetujuan yang dikonfigurasi selalu berlaku.

Urutan resolusi

  1. Direktif sebaris pada pesan (hanya berlaku untuk pesan tersebut)
  2. Penggantian sesi (diatur dengan mengirim pesan yang hanya berisi direktif)
  3. Nilai bawaan global (agents.defaults.elevatedDefault dalam konfigurasi)

Ketersediaan dan daftar izin

  • Gerbang global: tools.elevated.enabled (harus true)
  • Daftar izin pengirim: tools.elevated.allowFrom dengan daftar per kanal
  • Gerbang per agen: agents.list[].tools.elevated.enabled (hanya dapat membatasi lebih lanjut; gerbang global dan per agen harus sama-sama true)
  • Daftar izin per agen: agents.list[].tools.elevated.allowFrom (pengirim harus cocok dengan daftar global + per agen)
  • Daftar izin cadangan yang disediakan kanal: Plugin kanal secara opsional dapat menyediakan daftar izin cadangan melalui hook adaptor SDK, yang digunakan saat tools.elevated.allowFrom.<provider> tidak dikonfigurasi. Saat ini tidak ada kanal bawaan yang mengimplementasikan hook ini, sehingga dalam praktiknya setiap penyedia saat ini memerlukan entri tools.elevated.allowFrom.<provider> secara eksplisit.
  • Semua gerbang harus lolos; jika tidak, mode dengan hak istimewa lebih tinggi dianggap tidak tersedia
Format entri daftar izin:

Hal yang tidak dikendalikan oleh mode dengan hak istimewa lebih tinggi

  • Kebijakan alat: jika exec ditolak oleh kebijakan alat, mode dengan hak istimewa lebih tinggi tidak dapat mengesampingkannya.
  • Kebijakan pemilihan host: mode dengan hak istimewa lebih tinggi tidak mengubah auto menjadi penggantian lintas host secara bebas. Mode ini menggunakan aturan target exec yang dikonfigurasi/ditetapkan untuk sesi dan hanya memilih node jika targetnya memang sudah node.
  • Terpisah dari /exec: direktif /exec menyesuaikan nilai bawaan exec per sesi (host, keamanan, ask, node) untuk pengirim yang berwenang dan tidak memerlukan mode dengan hak istimewa lebih tinggi.
Perintah obrolan bash (awalan !; alias /bash) memiliki gerbang terpisah yang mengharuskan tools.elevated diaktifkan selain flag tools.bash.enabled miliknya sendiri. Menonaktifkan mode dengan hak istimewa lebih tinggi juga mengunci perintah shell !.

Terkait

Alat exec

Eksekusi perintah shell dari agen.

Persetujuan exec

Sistem persetujuan dan daftar izin untuk exec.

Sandboxing

Konfigurasi sandbox pada tingkat Gateway.

Sandbox vs Kebijakan Alat vs Hak Istimewa Lebih Tinggi

Cara ketiga gerbang tersebut berpadu selama panggilan alat.