Анбори махфигоҳ
AiHummer ҳар эътимономаро — токенҳои канал, паролҳои SMTP/IMAP, токенҳои OAuth, калидҳои LLM-и ҳар-мустаъҷир (BYOK) — дар як анбори махфигоҳи рамзшуда нигоҳ медорад. Анбор рамзкунии лифофаро истифода мебарад, то арзиш дар ҳолати истироҳат ҳаргиз танҳо аз пойгоҳи додаҳо хонданӣ набошад ва он тавре сохта шудааст, ки як махфигоҳ ҳаргиз ба контексти модел ё логҳо ҷойгир карда нашавад.
Рамзкунии лифофа
Анбор як иерархияи дусатҳаи калидро истифода мебарад:
- Як калиди устод (KEK) — ки ҳамчун
AIHUMMER_MASTER_KEY, як арзиши 32-байтаи бо base64 рамзшуда таъмин мешавад — калидҳои додаро мепечонад ва мекушояд. Он ҳаргиз мизбонро тарк намекунад ва ҳаргиз ба пойгоҳи додаҳо навишта намешавад. - Як калиди рамзкунии додаи ҳар-мустаъҷир (DEK) арзишҳои воқеии махфигоҳро бо AES-256-GCM (рамзкунии аутентификатсияшуда) рамз мекунад. Ҳар мустаъҷир DEK-и худро дорад, бинобар ин калидҳои як мустаъҷир махфигоҳҳои мустаъҷири дигарро рамзкушоӣ карда наметавонанд.
Арзишҳои махфигоҳ ҳамчун матни рамзшуда нигоҳ дошта мешаванд; DEK ҳамчун бо KEK печонидашуда нигоҳ дошта мешавад. Рамзкушоӣ дар хотира дар лаҳзае, ки як махфигоҳ лозим мешавад, рух медиҳад (масалан, вақте як коннектор аутентификатсия мекунад) ва матни оддӣ пас аз он партофта мешавад.
AIHUMMER_MASTER_KEY (KEK) ──wraps──▶ per-tenant DEK ──AES-256-GCM──▶ secret value
[!NOTE] Анбор ба васеъкунии
pgcrypto-и PostgreSQL такя мекунад. Боварӣ ҳосил кунед, ки он дар пойгоҳи додаҳои шумо дастрас аст — он ҷузъи талаботи стандартии система аст.
Калиди устод
Калиди устод як арзиши бутстреп аст: он ҳангоми оғоз аз муҳит хонда мешавад ва аз UI-и админ конфигуратсияшаванда нест.
# /home/.aihummer/etc/gateway.env
# 32 random bytes, base64-encoded
AIHUMMER_MASTER_KEY=Base64Of32RandomBytes==
Шумо метавонед яктоашро бо ин эҷод кунед:
openssl rand -base64 32
[!WARNING] Калиди устод барои рамзкушоии ҳама чиз дар анбор лозим аст. Бо он мисли решаи махфигоҳҳои худ муносибат кунед ва онро алоҳида аз пойгоҳи додаҳо нусхабардорӣ кунед — агар онро гум кунед, арзишҳои рамзшуда барқарор карда намешаванд. Барои дастурамали нусхабардорӣ ба Амалиёт нигаред.
Бидуни калиди устод
Агар AIHUMMER_MASTER_KEY муқаррар нашуда бошад, анбор ва ҳама чизе, ки ба он вобаста аст,
ғайрифаъол мешаванд: нигоҳдории махфигоҳ-дар-истироҳат, анбори эътимоднома ва калидҳои
BYOK-и ҳар-мустаъҷир ҳама хомӯш мешаванд. Ин як рафтори қасдан ноком-баста аст — маҳсулот
хомӯшона ба нигоҳдории махфигоҳҳо дар матни оддӣ бармегардад намешавад.
Махфигоҳҳо ҳаргиз ба модел намерасанд
Ин муҳимтарин хосияти анбор аст ва он сохторӣ аст на як ёдоварии сиёсат.
[!DANGER] Махфигоҳҳо ҳаргиз ба дастури система, таърихи сӯҳбат ё ягон матни ба модел намоён ворид карда намешаванд ва онҳо ҳаргиз ба логҳо навишта намешаванд. Абзорҳое, ки ба як эътимоднома ниёз доранд, онро аз анбор ҳангоми даъват, дар дохили гейтвей ҳал мекунанд ва онро барои аутентификатсияи дархости хурудӣ истифода мебаранд — модел танҳо натиҷаи даъвати абзорро мебинад, на махфигоҳро.
Азбаски интерактивӣ бо даъвати абзор пеш бурда мешавад (ба Монеаҳои муҳофизатӣ ва дифоъ аз сӯзандани дастур нигаред), ҳеҷ роҳе нест, ки тавассути он як дастур аз модел хоҳиш кунад, ки як махфигоҳи нигоҳдошташударо «бихонад»: модел нусхае аз он барои хондан надорад.
Эътимономаҳои муштарак ва ҳар-корбар
Анбор байни эътимономаҳои муштарак (сатҳи корфазо) ва эътимономаҳои шахсӣ (ҳар-корбар) фарқ мегузорад. Токенҳои OAuth2-и ҳар-корбар, ки тавассути ҷараёни Connections ба даст оварда мешаванд, дар анбор нигоҳ дошта мешаванд ва бо корбари амалкунанда бо як бозгашти корфазо дар ҷое, ки муносиб аст, ҳал мешаванд. Ин ба ҳамон абзор имкон медиҳад, ки аз номи корбарони гуногун бо иҷозати худи онҳо амал кунад, бидуни он ки ҳаргиз токени як корбарро ба дигаре ошкор кунад.
Минбаъд ба куҷо
- RBAC ва калидҳои API-и доирабандишуда — кӣ метавонад конфигуратсияи бо анбор пуштибонишударо хонад ё тағйир диҳад.
- Амнияти сатҳи сатр — ҷудоии ҳар-мустаъҷир дар пойгоҳи додаҳое, ки анборро пуштибонӣ мекунад.
- Монеаҳои муҳофизатӣ ва дифоъ аз сӯзандани дастур — чаро моделро ҳаргиз барои баровардани як махфигоҳ фиреб додан мумкин нест.