diff --git a/packages/twenty-docs/l/de/developers/self-host/capabilities/key-rotation.mdx b/packages/twenty-docs/l/de/developers/self-host/capabilities/key-rotation.mdx index cab1d3f613..17eacbd16e 100644 --- a/packages/twenty-docs/l/de/developers/self-host/capabilities/key-rotation.mdx +++ b/packages/twenty-docs/l/de/developers/self-host/capabilities/key-rotation.mdx @@ -6,9 +6,9 @@ icon: rotate Twenty hat zwei unabhängige Schlüsselfamilien: * **JWT-Signaturschlüssel** — asymmetrische ES256-Schlüsselpaare (`kid`-markiert), die in `core."signingKey"` gespeichert sind und zum Signieren und Verifizieren von Access-/Refresh-Tokens verwendet werden. -* **At-Rest-Verschlüsselungsschlüssel** — `ENCRYPTION_KEY`, wird verwendet, um OAuth-Tokens, Anwendungsvariablen, Signierschlüssel-Private-Keys, sensible Konfigurationswerte und TOTP-Geheimnisse innerhalb eines `enc:v2:`-Umschlags zu verschlüsseln. +* **Verschlüsselungsschlüssel im Ruhezustand** — `ENCRYPTION_KEY`, wird verwendet, um OAuth-Tokens, Anwendungsvariablen, die privaten Schlüssel der Signierschlüssel, sensible Konfigurationswerte und TOTP-Geheimnisse innerhalb eines `enc:v2:`-Umschlags zu verschlüsseln. -`APP_SECRET` ist ein veraltetes Secret, das aus Gründen der Abwärtskompatibilität beibehalten wird: Wenn `ENCRYPTION_KEY` nicht gesetzt ist, fungiert es als Fallback für At-Rest-Verschlüsselung / Session-Cookie und verifiziert weiterhin bereits bestehende HS256-Access-Tokens. Es wird verworfen werden. +`APP_SECRET` ist ein veraltetes Secret, das aus Gründen der Abwärtskompatibilität beibehalten wird: Wenn `ENCRYPTION_KEY` nicht gesetzt ist, fungiert es als Fallback für At-Rest-Verschlüsselung / Session-Cookie und verifiziert weiterhin bereits bestehende HS256-Access-Tokens. Es wird als veraltet markiert werden. ## JWT-Signierschlüssel diff --git a/packages/twenty-docs/l/ro/developers/self-host/capabilities/key-rotation.mdx b/packages/twenty-docs/l/ro/developers/self-host/capabilities/key-rotation.mdx index 9305768c5e..487a291895 100644 --- a/packages/twenty-docs/l/ro/developers/self-host/capabilities/key-rotation.mdx +++ b/packages/twenty-docs/l/ro/developers/self-host/capabilities/key-rotation.mdx @@ -12,12 +12,12 @@ Twenty are două familii de chei independente: ## Chei de semnare JWT -Fiecare cheie conține un `publicKey` (păstrată pe termen nelimitat pentru a putea verifica token-urile emise anterior), un `privateKey` criptat (folosit doar cât timp cheia este curentă), un indicator `isCurrent` (exact un rând la un moment dat) și un câmp opțional `revokedAt`. +Fiecare cheie are un `publicKey` (păstrat pe termen nelimitat pentru a putea verifica token-urile emise anterior), un `privateKey` criptat (folosit doar cât timp cheia este curentă), un indicator `isCurrent` (exact un rând la un moment dat) și un câmp opțional `revokedAt`. ### Rotește cheia curentă * **Manual** — **Settings → Admin Panel → Signing keys → Revoke** pe rândul curent. Revocarea șterge materialul privat criptat și o retrogradează; următorul apel de semnare generează automat o nouă pereche de chei ES256 ca noua cheie curentă. Token-urile semnate sub orice alt `kid` (nerevocat) continuă să fie verificate până la expirare. -* **Enterprise (automat)** — un cron zilnic (`'15 3 * * *'` UTC) emite o nouă cheie curentă după ce cea existentă a fost curentă timp de `SIGNING_KEY_ROTATION_DAYS` (implicit `90`). Cheia anterioară *nu* este revocată, astfel încât token-urile semnate cu ea continuă să fie verificate. Înregistreaz-o o singură dată cu `yarn command:prod cron:register:all`. +* **Enterprise (automat)** — un cron zilnic (`'15 3 * * *'` UTC) emite o nouă cheie curentă după ce cea existentă a fost curentă timp de `SIGNING_KEY_ROTATION_DAYS` (implicit `90`). Cheia anterioară *nu* este revocată, astfel încât token-urile semnate cu ea continuă să fie verificate. Înregistrează-l o singură dată cu `yarn command:prod cron:register:all`. Cron-ul Enterprise și `SIGNING_KEY_ROTATION_DAYS` sunt disponibile în v2.6+. diff --git a/packages/twenty-docs/l/ru/developers/self-host/capabilities/key-rotation.mdx b/packages/twenty-docs/l/ru/developers/self-host/capabilities/key-rotation.mdx index 8e87fe22f5..75bfbb8c2d 100644 --- a/packages/twenty-docs/l/ru/developers/self-host/capabilities/key-rotation.mdx +++ b/packages/twenty-docs/l/ru/developers/self-host/capabilities/key-rotation.mdx @@ -5,16 +5,16 @@ icon: rotate У Twenty есть два независимых семейства ключей: -* **Ключи подписи JWT** — асимметричные пары ключей ES256 (с тегами `kid`), хранящиеся в `core."signingKey"`, используются для подписи и проверки access / refresh токенов. -* **Ключ шифрования данных на диске** — `ENCRYPTION_KEY`, используется для шифрования OAuth-токенов, переменных приложения, закрытых ключей ключей подписи, конфиденциальных значений конфигурации и TOTP-секретов внутри конверта `enc:v2:`. +* **Ключи подписи JWT** — асимметричные пары ключей ES256 (с тегами `kid`), хранятся в `core."signingKey"` и используются для подписи и проверки access/refresh-токенов. +* **Ключ шифрования данных на диске** — `ENCRYPTION_KEY`, используется для шифрования OAuth-токенов, переменных приложения, закрытых ключей подписи, конфиденциальных значений конфигурации и TOTP-секретов внутри оболочки `enc:v2:`. -`APP_SECRET` — устаревший секрет, сохраненный для обратной совместимости: когда `ENCRYPTION_KEY` не установлен, он используется в качестве резервного варианта для шифрования данных на диске / cookie сессии, и по-прежнему проверяет ранее выданные HS256 access-токены. Он будет объявлен устаревшим. +`APP_SECRET` — устаревший секрет, сохранённый для обратной совместимости: когда `ENCRYPTION_KEY` не установлен, он используется как резерв для шифрования данных на диске/сеансовых cookie и по-прежнему проверяет ранее выданные HS256 access-токены. Он будет объявлен устаревшим. ## Ключи подписи JWT Каждый ключ содержит `publicKey` (хранится бессрочно, чтобы можно было проверять ранее выданные токены), зашифрованный `privateKey` (используется только пока ключ является текущим), флаг `isCurrent` (в каждый момент времени ровно одна строка) и необязательное поле `revokedAt`. -### Ротировать текущий ключ +### Выполнить ротацию текущего ключа * **Вручную** — **Settings → Admin Panel → Signing keys → Revoke** в текущей строке. Отзыв стирает его зашифрованный закрытый материал и понижает его; следующий вызов подписи автоматически создает новую пару ключей ES256 как новый текущий ключ. Токены, подписанные любым другим (не отозванным) `kid`, продолжают успешно проходить проверку до истечения срока действия. * **Enterprise (автоматически)** — ежедневный cron (`'15 3 * * *'` UTC) выпускает новый текущий ключ, как только существующий ключ находится в статусе текущего в течение `SIGNING_KEY_ROTATION_DAYS` (по умолчанию `90`). Предыдущий ключ *не* отзывается, поэтому токены, подписанные им, продолжают успешно проходить проверку. Зарегистрируйте его один раз с помощью `yarn command:prod cron:register:all`. @@ -25,11 +25,11 @@ icon: rotate **Settings → Admin Panel → Signing keys → Revoke** в нетекущей строке. Стирает зашифрованный закрытый материал, устанавливает `revokedAt` и отклоняет все существующие токены, подписанные с этим `kid`. -## Ротировать `ENCRYPTION_KEY` +## Выполнить ротацию `ENCRYPTION_KEY` Команда `secret-encryption:rotate`, описанная ниже, поставляется начиная с v2.6+. -Каждое зашифрованное значение оборачивается как `enc:v2:\:\`, где `\` — это 8-шестнадцатеричный префикс, полученный из исходного ключа. Ротация выполняется онлайн и может быть возобновлена. +Каждое зашифрованное значение оборачивается как `enc:v2:\:\`, где `\` — это 8-символьный шестнадцатеричный префикс, полученный из исходного ключа. Ротация выполняется онлайн и может быть возобновлена. 1. **Сгенерировать новый ключ**: `openssl rand -base64 32`. @@ -46,16 +46,16 @@ icon: rotate docker exec -it {server_container} yarn command:prod secret-encryption:rotate ``` - Команда обходит шесть площадок (`connected-account-tokens`, `application-variable`, `application-registration-variable`, `signing-key-private-keys`, `sensitive-config-storage`, `totp-secrets`). SQL-фильтр пропускает строки, которые уже находятся на новом `\`, поэтому команда идемпотентна: прерывайте и запускайте повторно по мере необходимости. Завершает работу с ненулевым кодом, если какая-либо строка завершилась с ошибкой — запустите повторно, чтобы повторить попытку. + Команда обходит шесть разделов (`connected-account-tokens`, `application-variable`, `application-registration-variable`, `signing-key-private-keys`, `sensitive-config-storage`, `totp-secrets`). SQL-фильтр пропускает строки, которые уже находятся на новом `\`, поэтому команда идемпотентна: прерывайте и запускайте повторно по мере необходимости. Завершает работу с ненулевым кодом, если какая-либо строка завершилась с ошибкой — запустите повторно, чтобы повторить попытку. | Флаг | Описание | | ---------------------------------------- | ------------------------------------------------------------------ | | `-s, --site \` | Ограничить одним сайтом. | - | `-b, --batch-size \` | Строк на партию (по умолчанию `200`, максимум `5000`). | + | `-b, --batch-size \` | Строк в партии (по умолчанию `200`, максимум `5000`). | | `-d, --dry-run` | Расшифровать + повторно зашифровать в памяти, пропустить `UPDATE`. | 4. **Удалите резервный ключ** после того, как `--dry-run` покажет ноль оставшихся строк: удалите `FALLBACK_ENCRYPTION_KEY` и перезапустите. ## Устаревшая поддержка `APP_SECRET` -Более старые инстансы, в которых никогда не был установлен `ENCRYPTION_KEY`, используют `APP_SECRET` как ключ шифрования данных на диске (и как секрет для cookie сессии, производный от него). Этот путь сохранен для обратной совместимости, но **устарел** — установите отдельный `ENCRYPTION_KEY` и выполните описанную выше процедуру ротации, чтобы с него мигрировать. Сам `APP_SECRET` продолжает использоваться для проверки устаревших HS256 access-токенов. +Более старые инстансы, в которых никогда не был установлен `ENCRYPTION_KEY`, используют `APP_SECRET` как ключ шифрования данных на диске (и как секрет для сеансовых cookie, производный от него). Этот путь сохранен для обратной совместимости, но **устарел** — установите отдельный `ENCRYPTION_KEY` и выполните описанную выше процедуру ротации, чтобы с него мигрировать. Сам `APP_SECRET` продолжает использоваться для проверки устаревших HS256 access-токенов. diff --git a/packages/twenty-docs/l/ru/developers/self-host/capabilities/upgrade-guide.mdx b/packages/twenty-docs/l/ru/developers/self-host/capabilities/upgrade-guide.mdx index 040156effa..6f3059748d 100644 --- a/packages/twenty-docs/l/ru/developers/self-host/capabilities/upgrade-guide.mdx +++ b/packages/twenty-docs/l/ru/developers/self-host/capabilities/upgrade-guide.mdx @@ -31,9 +31,9 @@ cat databases_backup.sql | docker exec -i {db_container_name_or_id} psql -U {pos Например, полностью поддерживается обновление с v1.22 сразу до v2.0. -## Переход на v2.5+ — конверт шифрования данных на диске +## Переход на v2.5+ — конверт шифрования данных в состоянии покоя -Начиная с **v2.5**, Twenty хранит секреты «на диске» (токены OAuth, переменные приложения, закрытые ключи ключей подписи, конфиденциальные значения конфигурации, TOTP-секреты) внутри версионируемого конверта `enc:v2:`, зашифрованного с помощью `ENCRYPTION_KEY` (или `APP_SECRET`, если `ENCRYPTION_KEY` не задан). +Начиная с **v2.5**, Twenty хранит секреты в состоянии покоя (токены OAuth, переменные приложения, закрытые ключи подписи, конфиденциальные значения конфигурации, TOTP‑секреты) внутри версионируемого конверта `enc:v2:`, зашифрованного с помощью `ENCRYPTION_KEY` (или `APP_SECRET`, если `ENCRYPTION_KEY` не задан). Первый запуск на v2.5 выполняет медленные команды обновления, которые **дополняют** существующие строки, помещая их в новый конверт. Они идемпотентны — при прерывании и перезапуске сервера выполнение продолжается с того места, где остановилось, — но на больших базах данных это может занять продолжительное время. Вы можете отслеживать прогресс с помощью `upgrade:status`. diff --git a/packages/twenty-docs/l/tr/developers/self-host/capabilities/docker-compose.mdx b/packages/twenty-docs/l/tr/developers/self-host/capabilities/docker-compose.mdx index 29a680b76d..0a08dd7d45 100644 --- a/packages/twenty-docs/l/tr/developers/self-host/capabilities/docker-compose.mdx +++ b/packages/twenty-docs/l/tr/developers/self-host/capabilities/docker-compose.mdx @@ -69,7 +69,7 @@ Manuel kurulum için bu adımları uygulayın. ENCRYPTION_KEY=random_string ``` - Kesmeye neden olmadan nasıl döndüreceğinize ilişkin talimatlar için [Anahtar döndürme kılavuzuna](/l/tr/developers/self-host/capabilities/key-rotation) bakın. + Kesinti olmadan anahtarı döndürmeye ilişkin talimatlar için [Anahtar döndürme kılavuzuna](/l/tr/developers/self-host/capabilities/key-rotation) bakın. 4. **Postgres Şifresini Ayarlayın** diff --git a/packages/twenty-docs/l/tr/developers/self-host/capabilities/upgrade-guide.mdx b/packages/twenty-docs/l/tr/developers/self-host/capabilities/upgrade-guide.mdx index aa816401a7..3d0f5e2861 100644 --- a/packages/twenty-docs/l/tr/developers/self-host/capabilities/upgrade-guide.mdx +++ b/packages/twenty-docs/l/tr/developers/self-host/capabilities/upgrade-guide.mdx @@ -33,11 +33,11 @@ Twenty, **v1.22** sürümünden itibaren sürümler arası yükseltmeleri destek ## v2.5+ sürümüne yükseltme — bekleme hâlindeki şifreleme zarfı -**v2.5** ile birlikte, Twenty bekleme hâlindeki gizli verileri (OAuth belirteçleri, uygulama değişkenleri, imzalama anahtarının özel anahtarları, hassas yapılandırma değerleri, TOTP sırları) sürümlendirilmiş, `ENCRYPTION_KEY` (veya `ENCRYPTION_KEY` ayarlı değilse `APP_SECRET`) ile şifrelenmiş bir `enc:v2:` zarfının içinde saklar. +**v2.5** ile birlikte, Twenty beklemede olan gizli verileri (OAuth belirteçleri, uygulama değişkenleri, imzalama için kullanılan özel anahtarlar, hassas yapılandırma değerleri, TOTP sırları) sürümlendirilmiş ve `ENCRYPTION_KEY` (veya `ENCRYPTION_KEY` ayarlı değilse `APP_SECRET`) ile şifrelenmiş bir `enc:v2:` zarfının içinde saklar. -v2.5 sürümündeki ilk açılış, mevcut satırları yeni zarfa **geri dolduran** yavaş yükseltme komutlarını çalıştırır. Bunlar idempotenttir — sunucuyu kesip yeniden başlatmak, kaldığı yerden devam eder — ancak büyük veritabanlarında biraz zaman alabilirler. İlerlemeyi `upgrade:status` ile izleyebilirsiniz. +v2.5 sürümündeki ilk açılış, mevcut satırları yeni zarfa **geri dolduran** yavaş yükseltme komutlarını çalıştırır. Bunlar idempotandır — sunucuyu durdurup yeniden başlattığınızda kaldığı yerden devam eder — ancak büyük veritabanlarında biraz zaman alabilirler. İlerlemeyi `upgrade:status` ile izleyebilirsiniz. -Geri doldurmanın, en başından itibaren satırları onun altında yazabilmesi için, v2.5 yükseltmesinden **önce** özel bir `ENCRYPTION_KEY` ayarlamalısınız. Geri doldurmadan sonra anahtarları değiştirmek, bir [döndürme](/l/tr/developers/self-host/capabilities/key-rotation) gerektirir. +Geri doldurmanın, en başından itibaren satırları onun altında yazabilmesi için, v2.5 yükseltmesinden **önce** özel bir `ENCRYPTION_KEY` ayarlamalısınız. Geri doldurmadan sonra anahtarları değiştirmek bir [anahtar döndürme](/l/tr/developers/self-host/capabilities/key-rotation) gerektirir. ## Gizli verilerin ve imzalama anahtarlarının döndürülmesi