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
1 |
$ export VAULT_ADDR=http://<strong>adresse_du_serveur_vault</strong>:8200 |
1 |
$ vault auth -method=userpass -path=radius username=<strong>user_ldap</strong> password= |
Après connexion, vérifier les secrets déjà en place
1 |
$ 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:
1 |
$ vault write secret/<strong>non_du_service</strong>/<strong>nom_du_secret</strong> username=<strong>username</strong> password=<strong>mot_de_passe</strong> |
1 |
Success! Data written to: secret/<strong>non_du_service</strong>/<strong>nom_du_secret</strong> |
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:
1 |
$ vim ~/<strong>nom_du_service</strong> |
1 2 3 |
path "secret/<strong>nom_du_service</strong>/*" { capabilities = ["read"] } |
$ vault policy-write [POLICY_NAME] [POLICY_FILE_PATH]
Exemple:
1 |
$ vault policy write <strong>nom_du_service</strong> ~/<strong>nom_du_service</strong> |
1 |
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:
1 |
$ vault write auth/approle/role/<strong>nom_du_service</strong> token_ttl=2h policies=<strong>nom_de_la_policy</strong> |
1 |
Success! Data written to: auth/approle/role/<strong>nom_du_service</strong> |
Récupérer le role ID
$ vault read auth/approle/role/[SERVICE_NAME]/role-id
Exemple:
1 |
$ vault read auth/approle/role/<strong>nom_du_service</strong>/role-id |
1 2 3 |
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:
1 |
$ vault write -f auth/approle/role/<strong>nom_du_service</strong>/secret-id |
1 2 3 4 |
Key Value --- ----- secret_id abcdefgh-1234-1234-1234-abcdefghijkl secret_id_accessor abcdefgh-1234-1234-1234-abcdefghijkl |
Vérifier la policy
1 |
$ vault read /sys/policy/<strong>nom_du_service</strong> |
Doit etre egale à a ~/nom_de_la_policy