---
title: "Аутентификация"
description: "password және none режимдері, серверлік сессиялар, шақыру мен парольді қалпына келтіру сілтемелері, әкімшіні CLI арқылы қайтару."
---

# Аутентификация

Notarium-дегі аутентификация кіріктірілген әрі толығымен метадеректер дерекқорына сүйенеді — сыртқы IdP жоқ, JWT жоқ, SMTP жоқ. Режимді `AUTH_MODE` айнымалысы таңдайды, ол логиннің жалпы бар-жоғын шешеді.

## `password` режимі (әдепкі)

Әдепкіде қауіпсіз: толыққанды көппайдаланушылық аутентификация.

- **Алғашқы іске қосу.** Таза данада бірінші келуші setup-экран арқылы иесін тіркейді (әкімші әрі бапталған кеңістіктердің иесі). Алдын ала дайын пароль жоқ; сол тіркелгі жасалған соң setup біржола жабылады.
- **Сессиялар.** Логин **серверлік сессия** ашады — JWT емес, дерекқордағы жол. Ол `nt_session` деген HttpOnly-cookie-де тұрады, TTL — жылжымалы 30 күн, HTTPS артында `Secure` жалаушасымен. Рұқсатты кері қайтарып алу лезде жүзеге асады: пайдаланушыны белсенсіздендіру немесе парольді ауыстыру белсенді сессияларды сол сәтте үзеді.
- **Метадеректер дерекқоры қажет.** Ол әдепкіде бар — `DATA_DIR` астындағы SQLite, ештеңе баптаудың керегі жоқ. `META_DB_URL`-ге тек сыртқы Postgres-ке көшкенде ғана қол тигізесіз. [Дерекқор](/docs/self-hosting/database/) бөлімін қараңыз.

## `none` режимі

Бәріне қолы жететін бір ғана субъект болады. Оператор бұл режимді әдейі қосады: десктоп, жергілікті әзірлеу немесе сенімді интранет үшін. Auth-маршруттар `404` қайтарады, login-UI мүлде жоқ, auth үшін метадеректер дерекқоры да керек емес.

> [!danger] `none` данасын желіге шығармаңыз
> `none` режимінде портқа жете алған кез келген адам барлық деректерге толық қол жеткізеді — агенттердің MCP-эндпоинтін қоса. Оны тек оқшауланған не сенімді контурда ғана қолданыңыз.

## Рөлдер мен рұқсат

Деректерге рұқсат кеңістіктегі мүшелік арқылы беріледі, рөл — үшеу:

| Рөл | Құқықтары |
|---|---|
| `reader` | Кеңістіктегі бәрін оқиды. |
| `writer` | Жазбаларды өңдейді. |
| `owner` | Қатысушылар құрамын басқарады. |

**host-admin** жалаушасы пайдаланушылар мен кеңістіктерді басқаруға құқық береді, бірақ нақты кеңістіктің **деректерін оқу** үшін бәрібір сол кеңістікте мүшелік керек. Модель туралы толығырақ — [Қолжетімділік моделі](/docs/concepts/access-model/).

## Шақырулар мен парольді қалпына келтіру

Notarium-де SMTP жоқ — тіркелгіні алғаш беру дегеніміз әкімші қолма-қол жеткізетін **бір реттік сілтеме**. Бір механизм, екі мақсат:

- **Шақыру (invite)** — пайдаланушыны парольсіз қосу; сілтеме 7 күн жарамды.
- **Парольді қалпына келтіру** — сілтеме 24 сағат жарамды; қабылдау ескі сессияларды тоқтатады.

Токен URL-фрагментте (`/invite#<token>`) жүреді, сондықтан access-логтарға түспейді. Пайдаланушыда бір мезгілде осындай бір ғана сілтеме белсенді болады; әкімші басқаның паролін ешқашан білмейді.

## Агенттерге арналған токендер

ЖИ-агенттер `Authorization: Bearer ntp_…` түріндегі жеке қатынау токенімен (PAT) аутентификацияланады: ауқымы `read` не `write`, қалауыңызша нақты кеңістіктерге дейін тарылтылады. Құпия **дәл бір рет** көрсетіледі. Токен шығару және басқа да басқарушы әрекеттер тек сессия аясында ғана қолжетімді — ағып кеткен PAT құқығын кеңейте алмайды. Толығырақ — [Агентті қосу](/docs/agents/connect/) және [Қауіпсіздік және көріну](/docs/agents/security/).

## Рұқсатты қалпына келтіру

Reset-сілтемені тек әкімші беретіндіктен, жалғыз әкімшінің паролін жоғалту рұқсаттан айырылуды білдірер еді. Шығар жол — метадеректер дерекқорымен тікелей жұмыс істейтін **admin-CLI**. Бұл — образға кіріктірілген пәрмендердің бірі, сондықтан оны қысқаша әрі тікелей жұмыс істеп тұрған контейнерде шақыруға болады:

```bash
docker compose exec notarium admin create-admin <user> --random

# жалаң docker run үшін:
docker exec -it notarium admin create-admin <user> --random
```

Серверді тоқтатудың қажеті жоқ: WAL режиміндегі SQLite екінші жазушыға шыдайды, ал Postgres — сөз жоқ. Метадеректер дерекқорын CLI өзі табады, сервермен бірдей логика бойынша (`META_DB_URL` немесе `DATA_DIR`-дан шығатын түбір); жол қате болса, ол ішінде «пайдаланушылар жоқ» болып шығатын бос дерекқорды үнсіз жасамай, қатемен тоқтайды.

Қолжетімді пәрмендер:

| Пәрмен | Әрекет |
|---|---|
| `list` | Пайдаланушылар тізімі. |
| `passwd <user> [--password <pw> \| --random]` | Парольді ауыстыру. |
| `create-admin <user> [--random] [--display "Аты"]` | Әкімші жасау. |
| `grant <user> <space> <owner\|writer\|reader>` | Кеңістікте рөл беру. |

Жалаушасыз берілген пароль stdin-нен эхосы өшірулі күйде оқылады — пәрмендер тарихына түспес үшін. `setPassword`/`createAdmin` **тек CLI-дан ғана** қолжетімді, олар үшін HTTP-жол жоқ: бұл — хост операторының шекарасы. Образдың қалған пәрмендері — [Образ CLI](/docs/self-hosting/cli/) бетінде.
