Účty, dvoufaktorové ověřování a tokeny API
Bucket & Code Server IDE má vlastní účty: stejným jménem a heslem se jeden účet přihlašuje k panelu, Git, SVN, Bucket i editoru. Účty QTS zde nefungují. Návod popisuje dvoufaktorové ověřování, hesla používaná při jeho zapnutí klienty git a WebDAV, tokeny API pro skripty a obnovu přístupu po příliš mnoha chybných heslech.
- Roleviewer, member, developer, admin
- 2FAkód z telefonu
- Klientipřístupový token, heslo aplikace
- Tokenypro skripty a CI
- Blokovánía obnova přístupu
Obrázky zachycují panel s poli vyplněnými podle návodu. Vývojář má jméno ola a správce ewa; QR kód je rozmazaný a klíč, heslo aplikace i token jsou ukázkové. Obrázky dvoufaktorového ověřování a hesla aplikace pocházejí z testovacích dat panelu.
01Role
| Role | Oprávnění |
|---|---|
| viewer / member | viewer čte panel; Backups, Storage, Users a Logs jsou pro správce. member také zapisuje do Git, SVN a Bucket tam, kde má právo zápisu, ale nemá editor, úlohy cron ani sestavování. Žádná z těchto rolí nevytváří repozitáře Git nebo organizace. member nemůže odesílat změny do repozitáře Git vlastněného či spravovaného účtem pod úrovní developer, ani při zapnutém CI do repozitáře se zapnutými Actions |
| developer | navíc otevírá editor, sestavuje aplikace, spouští vlastní úlohy cron a publikuje balíčky do repozitáře NASu (do seznamu je zařazuje správce) |
| admin | vše: účty, nastavení, úložiště, síť, moduly, aktivace aplikací a načítání modulů jádra |
Role developer má na NASu práva root: terminál editoru, její příkazy cron i pracovní postupy CI repozitářů, do kterých může odesílat změny, běží jako root. Udělujte ji pouze lidem, kterým byste svěřili heslo správce NASu. Před zveřejněním čehokoli na internetu zapněte dvoufaktorové ověřování všem účtům developer a admin.
02Zapnutí dvoufaktorového ověřování
Každý účet si je zapíná sám v Your account (tlačítko dole na panelu aktivit).
- Stiskněte Set up two-factor authentication.

- Naskenujte QR kód ověřovací aplikací v telefonu nebo do ní zadejte klíč. Zadejte aktuální šestimístný kód a stiskněte Turn on. Do potvrzení kódu funguje přihlašování jako dříve.

- Odteď přihlášení vyžaduje po hesle ještě kód.


- Kód má 6 číslic a mění se každých 30 sekund. Přijímá se také kód posunutý o 30 sekund dopředu nebo dozadu. Stejný kód se nikdy nepřijme dvakrát.
- Pokud nový kód nefunguje, hodiny telefonu jsou nejspíš posunuté: zapněte automatický čas.
- Vypnutí dvoufaktorového ověřování vyžaduje vaše heslo.
03Git, SVN a Bucket s dvoufaktorovým ověřováním
Při zapnutém dvoufaktorovém ověřování klienti git, SVN a WebDAV nepřijímají heslo účtu. Místo něj používají:
- Git přes HTTP nebo HTTPS: přístupový token Forgejo vytvořený ve Forgejo v Settings → Applications. Klíče SSH fungují jako dříve.
- Klienti SVN a WebDAV: heslo aplikace vytvořené v Your account. Má 25 náhodných znaků v pěti skupinách a zobrazí se jen jednou. Nové nahradí staré; změna hesla účtu nebo vypnutí dvoufaktorového ověřování je odstraní.

04Tokeny API pro skripty a CI
Skript nebo úloha CI používá token API místo hesla. V Your account stiskněte New token, pojmenujte jej podle účelu a vyberte rozsahy oprávnění.

- Rozsahy
read,writeaadminodpovídají rolím viewer, developer a admin. Token pracuje s nejvyšším vlastním rozsahem, nikdy však nad aktuální rolí vlastníka. Žádný rozsah neodpovídá member; member vytváří tokeny read. - Token se zobrazí jednou; bvsd uchovává pouze jeho hash. Skript jej posílá jako
Authorization: Bearer bvs_…. - Nové heslo odvolá všechny tokeny vlastníka. Tokeny vypnutého účtu přestanou fungovat.
- Token nemůže změnit heslo ani dvoufaktorové ověřování a nemůže vytvářet či mazat tokeny. Uniklý token proto nemůže vlastníka zablokovat. Nepoužívaný token smažte: cokoli jej nadále posílá, dostane 401.
05Chybná hesla a blokování
- Pět neúspěšných přihlášení během 15 minut z jedné adresy zablokuje tuto adresu na 15 minut, i se správným heslem. Klient IPv6 se počítá jako jeho síť /64.
- Pět selhání jednoho účtu z jedné adresy zablokuje tento účet z této adresy na 15 minut.
- Selhání jednoho účtu z mnoha adres zpomalují další přihlášení od 125 ms do 2 sekund. Z místní sítě účet nikdy nezablokují.
- Z internetu zablokuje 20 selhání jednoho účtu od posledního úspěšného přihlášení přístup z internetu, bez ohledu na zdrojové adresy. Z místní sítě se účet dál přihlásí. Počet se nastavuje na stránce Users; 0 toto blokování vypíná.

Za reverzní proxy panel počítá nahlášenou adresu jen tehdy, když je proxy nastavena jako důvěryhodná. Jinak každý klient spadá pod adresu proxy a pět chybných hesel kohokoli zablokuje všechny.
06Co může správce
Na stránce Users správce otevře účet přes jeho řádek.
- Ztracený telefon: Turn it off v Two-factor authentication. Pak stačí samotné heslo, dokud si účet ověřování znovu nenastaví.

- Účet zablokovaný z internetu: Unlock nebo nové heslo.
- Set a new password ukončí relace účtu a odvolá jeho tokeny API.
- Vypnutí účtu okamžitě ukončí jeho relace a zastaví tokeny; data zůstanou. Posledního aktivního správce nelze degradovat, vypnout ani smazat.
- Úlohy cron vypnutého účtu nebo účtu s rolí member či viewer zůstanou, ale neběží. Smazání účtu smaže jeho úlohy (od verze 1.0.0-52, Plánované úlohy).
07Když je správce zablokován
Správce NASu obnoví kterýkoli účet z relace SSH na NASu. Tyto příkazy komunikují s bvsd přes socket dostupný jen pro root a každý se zapisuje do log/audit.log v datové složce:
/usr/bin/bucketvs/bin/bvs user list /usr/bin/bucketvs/bin/bvs user password administrator /usr/bin/bucketvs/bin/bvs user totp-reset administrator /usr/bin/bucketvs/bin/bvs user unlock administrator
bvs user passwordnastaví nové náhodné heslo o 20 znacích a vypíše je. Při dalším přihlášení si účet musí zvolit vlastní; jeho relace skončí a tokeny API se odvolají.bvs user totp-resetvypne dvoufaktorové ověřování účtu.bvs user unlockodstraní blokování po příliš mnoha chybných heslech z internetu.