Təsdiq qapıları
Bəzi alət çağırışları insanın razılığı olmadan baş verməməlidir — məktub göndərmək, kanala paylaşım etmək, real dünyada nəticələri olan dəyişikliklər etmək. AiHummer-in təsdiq qapıları belə alətlər işə düşməzdən əvvəl insanı prosesə daxil edir və idempotent yan təsirlərlə birlikdə işləyir ki, bərpa olunmuş növbənin təsdiqlənməsi heç vaxt eyni əməliyyatı iki dəfə işə salmasın.
Qapı necə işləyir
AIHUMMER_APPROVAL_TOOLS parametri ilə — alət adlarının siyahısı — hansı
alətlərin təsdiq tələb etdiyini bəyan edirsiniz. Agent bu alətlərdən birini
çağırmaq qərarına gələndə icra dayandırılır və insanın nəzərdən keçirməsi üçün
təsdiq sorğusu qaldırılır.
# /home/.aihummer/etc/gateway.env
# Comma-separated list of tools that require approval before execution
AIHUMMER_APPROVAL_TOOLS=mail,http_request
Gözləyən sorğu admin UI-də və admin API-də (/v1/admin/approvals) görünür, burada
nəzərdən keçirən şəxs aləti, onun arqumentlərini və kontekstini görür və sonra
onu təsdiqləyir və ya rədd edir.
Təsdiq icra deməkdir, rədd isə icra etməmək deməkdir
Qapı birmənalıdır:
- Təsdiq — alət dəqiqliklə nəzərdən keçirilən arqumentlərlə icra olunur.
- Rədd — alət icra edilmir. Heç bir qismən və ya təxirə salınmış icra yoxdur; rədd edilmiş çağırış sadəcə baş vermir və növbə həmin yan təsir olmadan davam edir.
[!NOTE] Rədd həmin konkret çağırış üçün ciddi bir dayanmadır. Agent rədd edilmiş əməliyyatı nəzərdən keçirənin arxasında gizlicə yenidən cəhd etmir.
Bərpa zamanı bu nə üçün təhlükəsizdir
Təsdiq qapıları AiHummer-in idempotent yan təsirləri ilə birlikdə işləyir. Növbə kəsilə bilər (yenidən başlatma, qəza) və sonra bərpa oluna bilər. Mühafizə olmadan bərpa olunmuş növbə artıq baş vermiş əməliyyatı yenidən işə sala bilərdi — eyni məktubu iki dəfə göndərmək, eyni mesajı yenidən paylaşmaq.
AiHummer bunun qarşısını bərpaya davamlı registr açarı və yan təsir maneəsi ilə alır: hər yan təsir sabit açar altında qeyd edilir və maneə registrin artıq icra olunmuş kimi göstərdiyi təsiri yenidən işə salmaqdan imtina edir.
[!TIP] Praktiki faydası: bərpa olunmuş növbənin təsdiqlənməsi məktubu və ya kanala göndərməni iki dəfə işə salmır. Maneə təsirin, növbənin bərpa olunub-olunmamağından asılı olmayaraq, dəqiq bir dəfə baş verməsini təmin edir.
Registrin və yan təsir maneəsinin tam mexanikası üçün Çoxkiracılıq və idempotentlik bölməsinə baxın.
Hansı alətlərin qapılanacağını seçmək
Təsiri xaricdən görünən və ya geri qaytarılması çətin olan alətləri qapılayın. Yaxşı namizədlər:
mail— gedən e-poçt.- Kanala göndərmə / müştərilərə və ya işçilərə gedən çatdırılma.
http_requestvə xarici sistemləri dəyişdirə bilən digər alətlər.- Paylaşılan hostlarda
code_exec(orada həm də standart olaraq söndürülüb).
Yalnız oxumaq üçün olan alətlər (axtarış, bilik sorğusu, vaxt) ümumiyyətlə qapıya ehtiyac duymur. Açıq internetə çıxan alətlər üçün təsdiq qapılarını hava-boşluqlu rejim və çıxış nəzarətləri ilə birləşdirin.
Sonra hara
- Çoxkiracılıq və idempotentlik — dəqiq bir dəfə təsirlərin arxasındakı registr və yan təsir maneəsi.
- Mühafizələr və prompt inyeksiyasına qarşı müdafiə — modelin qapılanmış aləti zərərli şəkildə çağırmağa yönləndirilməsinin qarşısını alın.
- Şəbəkə, audit və hava-boşluqlu — alətlərin nəyə çata biləcəyini məhdudlaşdırın.