Damit ein Benutzer einen Safe verwenden kann, muss er sich erst einmal authentifizieren, um im Anschluss einen Safe anlegen zu können:
# kinit tscherf
Password for tscherf@EXAMPLE.COM:
# ipa vault-add company-cc --desc "Meine Firmen Kreditkarten Informationen" --type symmetric
Damit ist der erste Safe angelegt. Um darin Daten abzulegen, lässt sich dem Tool beispielsweise eine Datei übergeben:
# ipa vault-archive company-cc --in ~/company-cc.txt
Um wieder an die Daten heranzukommen, ist der umgekehrte Weg zu gehen:
# ipa vault-retrieve company-cc --out ~/company-cc.txt
Bei Bedarf lassen sich mehrere Safes im gleichen Container anlegen, die der Benutzer sich dann mittels
»ipa vault-find
«
anzeigen lassen kann.
Administratoren können Safes anlegen und ihnen verschiedene Benutzer hinzufügen (Listing 1).
Listing 1: Shared Safe
# kinit admin Password for admin@EXAMPLE.COM: # ipa vault-add team-keys --desc "Team Schlüssel" --type symmetric --shared --password-file passwd.txt ----------------------------------- Added vault "team-keys" ----------------------------------- Vault name: team-keys Description: Team Schlüssel Type: symmetric Salt: J0aMaMWKgxf+0I59b2DKkA== Owner users: admin Shared vault: True # ipa vault-add-member team-keys --shared --groups schalke --users tscherf Vault name: team-keys Description: Team Schlüssel Type: symmetric Salt: J0aMaMWKgxf+0I59b2DKkA== Owner users: admin Shared vault: True Member users: tscherf Member groups: schalke -------------------------------------- Number of members added 2 --------------------------------------
Schließlich lassen sich nun wieder die gewünschten Daten in dem Team-Safe hinterlegen:
# ipa vault-archive team-keys --shared --in ~/team-keys.txt --password-file passwd.txt
--------------------------------
Archived data into vault "team-keys"
--------------------------------
Meldet sich ein Benutzer an, der als Member in dem Safe hinterlegt ist, so kann dieser die Daten nun abfragen, solange er das verwendete Passwort kennt:
# kinit tscherf
Password for tscherf@EXAMPLE.COM:
[root@ipa01 ~]# ipa vault-retrieve team-keys --shared --out my-team-keys.txt --password-file passwd.txt
Wie erwähnt lassen sich statt einfacher Passwörter auch asymmetrische Schlüssel einsetzen, was nicht nur sicherer ist, sondern auch den Umgang mit den Safes vereinfacht (Listing 2).
Listing 2: Asymmetrische Schlüssel
# openssl genrsa -out mykey.pem 2048 # openssl rsa -in mykey.pem -pubout > mykey.pub # ipa vault-add private --type asymmetric --public-key-file mykey.pub ---------------------- Added vault "private" ---------------------- Vault name: private Type: asymmetric Public key: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUEycGtHL2YzTDd0VmpxblA2cTdPaApkMmJvbTFVTDhPeXdveXZTaXptdUYvME94NjErRWRIbmRld25icGlXYjdaaER4c05lVk14SXRpcGZZbW1tdzhKCml0RTVlcDhFa1U1VWhaemxsNWQ3eWFYU2VEa25pRVVEWUpMMkpHNDNJWmRFVVFuM1hWUWt4Q0xIN0xzVUI3V0oKUC94TFY4a1FHQXBQY1MzcUVyME44MTJ6Q1NPR1U1RDNvNTNoRFhhVG95Y1cwRW1UUldmNHQzNkFrcFhreGszbwo2eW0weUhJdmRCS3ZDbVRGVm1SeTdwVFlqbGxLVVNNYWpxSVNUdEFMRUxDclVySHZCSmJ6YzVqZmdUSVJYbVFnClhyV21UZXMzRHJqbFJjN2Q5MnpnZXJtUEtnbVRiMWxUL1pyVDhlQzB5Q0paSnNaSmJDOTVkVXRmKzNXZEFOY28KYXdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg== Owner users: tscherf Vault user: tscherf # ipa vault-archive private --in ~/data.txt ----------------------------------- Archived data into vault "private" ----------------------------------- # ipa vault-retrieve private --private-key-file=mykey.pem --out data.txt -------------------------------------- Retrieved data from vault "private" -------------------------------------