tietokoneet/files/sops/README.md

49 lines
1.8 KiB
Markdown

# Guix SOPS -salaisuuksienhallinta
<https://github.com/fishinthecalculator/sops-guix>
## Uuden laitteen lisääminen
Jokaiselle salaisuuksia tarvitsevalle laitteelle luodaan oma PGP-salausavain
seuraavan kaltaisella komennolla. Olennaista on, että avaimella ei ole
salasanaa eikä se vanhene.
```
gpg --batch --passphrase '' --quick-generate-key \
'(SOPS Guix -salauksen purkamiseen) <root@LAITE>' default default never
```
Tämän avaimen yksityinen osa tallennetaan salattuna kaikille ylläpitäjille
hakemistoon `host-decryption-keys` käyttämällä apuna `./encrypt-private-key.sh`
komentokyhäelmää. Kyhäelmä hakee ylläpitäjien julkiset salausavaimet
hakemistosta `./admin-encryption-keys`.
```
gpg --export-secret-keys root@LAITE | ./encrypt-private-key.sh > host-decryption-keys/LAITE.key.gpg
```
Lisäksi yksityinen avain viedään laitteen `root`-käyttäjän avainrenkaaseen.
```
gpg --decrypt < host-decryption-keys/LAITE.key.gpg | ssh root@LAITE 'gpg --import'
```
Avaimen tunniste lisätään salaisuuksienhallinan ohjaustiedostoon `sops.yaml`
omalle rivilleen kohtaan `keys`. Tunnisteen saa näkyviin ajamalla komennon
`gpg --list-keys root@LAITE`. Kun kaikki ylläolevista on tehty, laitteelle voi
asentaa salaisuuksia.
## Uuden ylläpitäjän lisääminen
Ylläpitäjä tarvitsee oman PGP-salausavaimensa, jonka voi luoda esimerkiksi
GnuPG:llä komennolla `gpg --generate-key`. Avaimen julkinen eli salauspuoli
tallennetaan hakemistoon `./admin-encryption-keys` muita ylläpitäjiä varten.
```
gpg --armor --export AVAIN > admin-encryption-keys/YLLÄPITÄJÄ.pub
```
Lisäksi avaimen tunniste pitää lisätä `sops.yaml`-tiedostoon. Jonkun aiemman
ylläpitäjän pitää lisätä uusi tiedostojen salausryhmiin ja salata tiedostot
uudelleen ennen kuin ne ovat hänen luettavissaan.