Pense-bête sur les commandes Vault |
Article original Publié le : 25 août 2019
Mise a jour le : – |
La doc officiel: https://www.vaultproject.io/
Le binaire Vault: https://www.vaultproject.io/downloads.html
Lien direct pour Linux: https://releases.hashicorp.com/vault/1.2.2/vault_1.2.2_linux_amd64.zip
Une fois le binaire téléchargé et dézippé, placer le dans un répertoire du path (exemple: /usr/local/sbin/)
Vault est utilisé pour chiffrer les crédentials se trouvant dans les properties des applications.
Pour se connecter au serveur
$ export VAULT_ADDR=http://adresse_du_serveur_vault:8200
$ vault auth -method=userpass -path=radius username=user_ldap password=
Après connexion, vérifier les secrets déjà en place
$ vault list secret
Création d’un nouveau secret
$ vault write secret/[SERVICE_NAME]/[SECRET_NAME] [KEY_1]=[VALUE_1] [KEY_2]=[VALUE_2] …
Exemple:
$ vault write secret/non_du_service/nom_du_secret username=username password=mot_de_passe
Success! Data written to: secret/non_du_service/nom_du_secret
Créer une politique Vault pour le service
Le service ne devrait être autorisé à lire que ses propres secrets.
Si il n’existe pas, créer un fichier avec le nom du service et renseigner le comme ci dessous:
$ vim ~/nom_du_service
path "secret/nom_du_service/*" { capabilities = ["read"] }
$ vault policy-write [POLICY_NAME] [POLICY_FILE_PATH]
Exemple:
$ vault policy write nom_du_service ~/nom_du_service
Success! Uploaded policy: token-service
Créer un nouveau AppRole pour le service
$ vault write write auth / approle / role / [SERVICE_NAME] token_ttl = 2h policies = [POLICY_NAME]
Exemple:
$ vault write auth/approle/role/nom_du_service token_ttl=2h policies=nom_de_la_policy
Success! Data written to: auth/approle/role/nom_du_service
Récupérer le role ID
$ vault read auth/approle/role/[SERVICE_NAME]/role-id
Exemple:
$ vault read auth/approle/role/nom_du_service/role-id
Key Value --- ----- role_id abcdefgh-1234-1234-1234-abcdefghijkl
Récupérer le secret ID
$ vault write -f auth/approle/role/[SERVICE_NAME]/secret-id
Exemple:
$ vault write -f auth/approle/role/nom_du_service/secret-id
Key Value --- ----- secret_id abcdefgh-1234-1234-1234-abcdefghijkl secret_id_accessor abcdefgh-1234-1234-1234-abcdefghijkl
Vérifier la policy
$ vault read /sys/policy/nom_du_service
Doit etre egale à a ~/nom_de_la_policy