Poznámka: Tento príspevok už nie je aktuálny, novší je dostupný tu.
Predtým som vytvoril svoj prvý zálohovací skript ako GitHub Action, o ktorom si môžete prečítať v predchádzajúcom príspevku – a z môjho pohľadu bol úspechom. Pre takýto skript som mal na mysli tieto kľúčové ciele:
- takmer bezúdržbový
- bezpečne uložené prihlásenia
- automatický
- v podstate zadarmo
Je bezúdržbový v tom zmysle, že nevyžaduje napríklad aktualizácie, pretože architektúru spravuje GitHub. Prihlásenia nie sú priamo prístupné cez GitHub UI, takže v podstate spĺňa aj bezpečnostný cieľ. Beží automaticky podľa cron rozvrhu, takže naň nemusím myslieť. GitHub ponúka množstvo minút pre GitHub Actions mesačne zadarmo a ja ich zďaleka nevyčerpám.
Samozrejme, sú tu aj nevýhody. Neočakávaná údržba prichádza v podobe e-mailov od dependabota, ktorý ma každý týždeň upozorňuje na aktualizáciu zraniteľných balíčkov v tomto verejnom repozitári. Bezpečnosť tiež nie je absolútna – samotný skript môže prečítať uložené prihlásenia a odhodlaný útočník by ich mohol extrahovať touto cestou, no pravdepodobnosť je malá. Celkovo som s týmto nastavením spokojný. Jediná vec je, že krivka učenia pre GitHub Actions bola oveľa strmšia, ako som kedy predpokladal.
Záloha Bitwardenu #
Ako ďalší krok som vytvoril plne funkčný GitHub Action na zálohovanie Bitwarden Vault. Ani to nebolo bez výziev – skôr naopak. Bolo to plné výziev, tak z hľadiska zvládania krivky učenia GitHub Actions, ako aj pochopenia toho, ako funguje Bitwarden CLI. Jedno z najväčších obmedzení, na ktoré som narazil, bol fakt, že Bitwarden Family plán ponúka organizáciu, ale bez API kľúča.
Takéto obmedzenie znamená žiadne automatické zálohy pre organizácie, pokiaľ nezrušíte 2FA alebo iné MFA pre váš primárny účet, čo v súčasnosti nie je pre mňa prijateľná možnosť.
Výsledok si možno pozrieť a experimentovať s ním vo verejnom repozitári, ktorý som odvtedy archivoval. Opäť tu nebudem vysvetľovať všetky detaily, ale zdieľam to pre prípad, že niekto nájde takéto riešenie užitočným. Pokojne si ho prispôsobte podľa seba. Príjemné používanie!
Odkazy #
- https://bitwarden.com/blog/how-to-back-up-and-encrypt-your-bitwarden-vault-from-the-command-line/
- https://bitwarden.com/help/export-your-data/#export-an-organization-vault
- https://dev.to/binarypatrick/bitwarden-automated-backup-374a
- https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#environment-files
- https://gitlab.com/silkeackermann/bitwarden-backup-script
- https://www.reddit.com/r/Bitwarden/comments/19879wp/simple_script_to_backup_your_accounts_including/