Перейти до вмісту

Машинний переклад. Авторитетним джерелом є англійська версія; перевірка носієм мови ще не виконана.

Довідник

Конфігурація

Реальна поверхня конфігурації площини управління Olivares AI — бекенд сховища, TLS, джерела, ключ підпису аудиту та орендарство.

Оновлено:

Площина управління — це один Go бінарний файл, olivares, що налаштовується невеликим набором прапорців його підкоманди serve та кількома змінними середовища — не громіздким файлом конфігурації. Замовчування обрані для закриття при помилці: loopback прив’язки, TLS увімкнений, без поставлених облікових даних. Все нижче взято з власних визначень команд бінарного файлу та кореня композиції; де налаштування не може бути підтверджене у вихідному коді, воно тут не перелічене.

Секрети, які підключають реальні джерела та зберігають реальні ключі, залишаються у файлах оператора або змонтованих секретах, на які посилаються через змінну середовища — ніколи у сховищі. Для виконуваного наскрізного шляху див. посібник самостійного розгортання; для повного переліку прапорців див. довідник CLI.

Підкоманда serve

olivares serve запускає HTTP-сервер REST/web та gRPC-сервер в одному процесі, з веб-консоллю, що обслуговується з того ж origin, що й API. Це загальні вхідні параметри конфігурації.

ПрапорецьЗа замовчуваннямПризначення
--listen127.0.0.1:8443Адреса прослуховування HTTP (REST API + вбудована веб-консоль).
--grpc-listen127.0.0.1:8444Адреса прослуховування gRPC (площина управління / поглинання колектора).
--data-dir$OLIVARES_DATA_DIR або ./olivares-dataКлюч підпису аудиту, TLS-матеріал та — для SQLite — файл сховища.
--enginesqliteРушій сховища: sqlite або postgres.
--dsnпорожній (файл SQLite у каталозі даних)Рядок з’єднання сховища.
--checkpoint-interval1hЯк часто записується підписана контрольна точка аудиту через ланцюг кожного орендаря. 0 вимикає.
--insecureвимкненоОбслуговування HTTP/gRPC відкритим текстом. Лише для локальної розробки.
--seed-demoвимкненоЗавантаження синтетичного зразкового середовища. Відмовляється запускатися на не-loopback прив’язці.

TLS увімкнений за замовчуванням. Без наданих --tls-cert/--tls-key рушій забезпечує самопідписаний сертифікат у каталозі даних один раз, заздалегідь, до того, як будь-який слухач приймає з’єднання — тому обидва HTTP та gRPC сервери використовують той самий сертифікат і жоден не повертається до відкритого тексту. Коли він генерує цей сертифікат, він журналює SHA-256 відбиток, щоб клієнти могли довіряти або прив’язати його.

--insecure є єдиним способом обслуговувати відкритий текст, і шлях gRPC закривається при помилці: поза --insecure сервер відмовляється створювати слухач відкритого тексту, а не деградує мовчки. Використовуйте його лише з 127.0.0.1 під час локальної розробки.

--seed-demo створює демо-адміністратора з публічним паролем із дерева вихідного коду та сфабрикованими даними середовища — лише для демо та E2E. Рушій відмовляється запускати це, якщо будь-який слухач є не-loopback. Використовуйте тимчасовий каталог даних.

Другий рівень прапорців керує розподіленими топологіями та взаємним TLS — --admin-dsn та --allow-privileged-db-role (Postgres), --grpc-client-ca (взаємний TLS колектора) та --region/--known-regions (резидентність даних). Вони описані нижче та повністю перелічені у довіднику CLI.

Змінні середовища

Рушій читає невелику кількість змінних середовища при завантаженні. Ті, що нижче, підтверджені у корені композиції та підключенні.

Каталог даних та джерела

ЗміннаЕфект
OLIVARES_DATA_DIRКаталог даних за замовчуванням, коли --data-dir не задано (повертається до ./olivares-data). Містить ключ підпису аудиту, TLS-матеріал та файл сховища SQLite. Зберігайте його між перезапусками.
OLIVARES_SOURCES_CONFIGШлях до JSON-файлу, який підключає реальні джерела спостереження, постачальники реєстру ідентичностей та джерела документів знань перед запуском рушія.

OLIVARES_SOURCES_CONFIG — це єдиний вхід, через який розпізнаються не-демо джерела сигналів та постачальники реєстру. Це конфігурація оператора, що містить секрети, і навмисно тримається поза сховищем. Рушій читає його при завантаженні та реєструє кожне джерело до запуску середовища виконання.

Обробка є чесною, а не fail-fast. Відсутня змінна, нечитабельний або невалідний JSON-файл, або налаштований, але порожній список джерел — усе попереджає та видає порожню конфігурацію — рушій ніколи не перериває завантаження. Неналаштоване джерело видає попередження замість зупинки площини або прикидання, що працює: без нічого підключеного карта доступу просто залишається порожньою. Щоб заповнити її, налаштуйте хоча б одне джерело — див. підключення джерела та, для кооперативного шляху Claude Code, підключення Claude Code.

Точка прийняття рішень авторизації

Нативний контроль доступу на основі атрибутів та ролей завжди керує. Зовнішня точка прийняття рішень (PDP), коли обрана, є додатковим шаром тільки обмеження, який може лише звузити рішення, яке вбудований RBAC вже прийняв — ніколи розширити його.

ЗміннаЕфект
OLIVARES_PDP_ENGINEОбирає зовнішню PDP: cedar, opa або none (порожній/none = лише нативний ABAC).
OLIVARES_PDP_CEDAR_FILEРушій Cedar: шлях до файлу політики оператора.
OLIVARES_PDP_OPA_URL / _OPA_PATH / _OPA_TOKENРушій OPA: базовий URL, шлях рішення та bearer-токен для точки доступу Open Policy Agent.

Два адаптери знаходяться за однією точкою — вбудований оцінювач Cedar (шлях чистого Go) та адаптер OPA-через-HTTP. Якщо OLIVARES_PDP_ENGINE обирає рушій, але його конфігурація є невалідною (нечитабельний файл Cedar, помилковий URL OPA), рушій вимикає лише зовнішню PDP, зберігає нативний рушій ABAC та RBAC у дії та журналює голосно. Пошкоджений файл політики ніколи не залишає запити без управління і ніколи не зупиняє площину. Для моделі відмови за замовчуванням див. управління.

Ключ підпису аудиту

Аудиторський журнал тільки для додавання, з ланцюжковим хешуванням та прив’язаний підписаними контрольними точками Ed25519. Ключ підпису по кожній події визначається при завантаженні, закритий при помилці для кожного охоронюваного джерела.

ЗміннаЕфект
OLIVARES_AUDIT_SIGNING_KEYКлюч підпису, наданий клієнтом, base64, інлайн.
OLIVARES_AUDIT_SIGNING_KEY_FILEШлях до змонтованого секрету, що містить ключ (бажано — значення ніколи не потрапляє у середовище процесу).
OLIVARES_KEY_CUSTODYЗадекларована позиція зберігання (byok або cmek). Завантаження, чиє фактичне зберігання ключа не відповідає задекларованому, відхиляється.

Без жодного з цих параметрів ключ створюється при першому завантаженні у каталозі даних — чесний резервний варіант для одного вузла / розробки. Спільне використання одного ключа між репліками (через значення середовища або змонтований секрет) обов’язкове для високої доступності: інакше кожен вузол створить свій, і журнал розгалужиться при перемиканні. Підпис по кожній події завжди залишається на сервері. Зберігання з обгорткою KMS (ключ, керований клієнтом) є додатковою позицією, налаштованою через OLIVARES_KEY_WRAP; див. довідник CLI.

Вибір сховища

Рушій обирає сховище з --engine.

РушійКоли використовуватиПримітки
sqlite (за замовчуванням)Один бінарний файл, один вузол, ізольовані установки.Вбудоване чисте Go сховище, нуль зовнішніх залежностей. Без --dsn файл сховища живе у каталозі даних.
postgresБагатоорендарні та масштабовані розгортання.Додає ізоляцію орендарів через безпеку на рівні рядків. Вимагає роль додатку з найменшими привілеями.

SQLite є замовчуванням та не потребує зовнішнього сервісу — це готове до ізоляції сховище з нуль залежностей для топології одного вузла та те, яке запускає однокомандне розгортання Docker Compose. Переходьте на Postgres, коли потрібна ізоляція багатьох орендарів або горизонтальне масштабування, а не раніше.

Вибір postgres активує захист безпеки на рівні рядків, що ізолює орендарів. Рушій відмовляється запускатися проти суперкористувача Postgres або ролі BYPASSRLS — що вимкнуло б цей захист — якщо --allow-privileged-db-role явно не перевизначає перевірку (лише для одного орендаря / тимчасового використання). Для повних крос-орендарних System читань (список організацій, покриття контрольних точок для багатьох орендарів) надайте виділену роль NOSUPERUSER BYPASSRLS admin через --admin-dsn; без неї ці читання виконуються обмеженими RLS і можуть повертати порожній результат. OLIVARES_DB_MAX_CONNS обмежує пул додатку по кожному вузлу.

Орендарство та резидентність

Один екземпляр є багатоорендарним за конструкцією на Postgres, з безпекою на рівні рядків, що ізолює дані кожного орендаря. Резидентність даних нашаровується зверху через --region.

  • Одна область (за замовчуванням, без --region): без застосування резидентності.
  • Обмежена областю (--region eu, --region us, …): екземпляр обслуговує лише орендарів, прив’язаних до його домашньої області, та відхиляє крос-регіональний доступ закрито при помилці. --known-regions перелічує коди областей, валідні для всього розгортання; прив’язка орендаря повинна бути одним із них, і помилкова конфігурація області зупиняє завантаження до відкриття сховища.

Контрольні точки аудиту

--checkpoint-interval контролює, як часто підписана контрольна точка записується через ланцюг кожного орендаря (за замовчуванням 1h; 0 вимикає). Фінальна контрольна точка записується при чистому завершенні перед закриттям сховища, тому ланцюг прив’язаний і при завершенні, і через інтервал. Див. перевірка релізу для того, як підписаний ланцюг перевіряється далі по потоку.

Безпечні замовчування

Ці позиції діють без будь-якої конфігурації окрім serve. Вони є стандартною позицією продукту, а не опціональним зміцненням.

ОбластьЗа замовчуваннямЩо це означає
Облікові даніНе поставляютьсяБез імені користувача або пароля за замовчуванням. При першому завантаженні без користувачів рушій створює одноразовий токен налаштування та друкує його лише в стандартний вивід — ніколи в журнали.
ТранспортTLS увімкненийHTTP та gRPC обслуговують через TLS; самопідписаний сертифікат генерується у каталозі даних, якщо не наданий, і його відбиток журналюється.
Адреса прив’язкиLoopback--listen та --grpc-listen за замовчуванням 127.0.0.1. Доступність поза хостом є навмисним рішенням оператора.
Режим відкритого текстуВимкнений--insecure є єдиним способом обслуговувати відкритий текст, і шлях gRPC закривається при помилці. Лише для локальної розробки.
Засівання демоВимкнене--seed-demo вимкнений та відмовляє будь-яку не-loopback прив’язку, тому що створює демо-адміністратора з публічним паролем.
Телеметрія додомуВимкненаРушій не телефонує додому. Вихідні з’єднання існують лише до джерел, які ви налаштуєте — що робить ізольовану площину управління можливою з нуль вихідного з’єднання.

Прив’язки loopback означають, що рушій недоступний поза хостом, поки ви їх не зміните. Коли ви його публікуєте — скажімо, зіставляючи порт хоста у Docker Compose — TLS вже увімкнений для захисту; не поєднуйте опубліковану прив’язку з --insecure. На свіжій установці рушій друкує блок FIRST-BOOT SETUP у стандартний вивід з одноразовим токеном налаштування (читайте з журналів контейнера під Compose); адміністратор використовує його для створення першого користувача, потім аутентифікується.

Для того, що продукт спостерігає, де він керує та де покриття є багаторівневим, прочитайте чесність і обмеження.

Пошук у документації