1
0
Bifurcation 0
miroir de https://github.com/PAPAMICA/Wiki-Tech.io.git synchronisé 2024-12-29 02:50:22 +01:00

docs: update SelfHosted/Vault

Cette révision appartient à :
Mickael Asseline 2021-06-14 06:46:04 +00:00 révisé par Mickael Asseline
Parent 6fb91a5e11
révision 7d497f5452

Voir le fichier

@ -2,7 +2,7 @@
title: Vault title: Vault
description: Un gestionnaire de secrets avec API ! description: Un gestionnaire de secrets avec API !
published: true published: true
date: 2021-06-14T06:43:35.080Z date: 2021-06-14T06:46:02.118Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-05-24T10:34:59.737Z dateCreated: 2021-05-24T10:34:59.737Z
@ -40,7 +40,7 @@ Comme tous les outils complets, la première prise en main et sa découverte peu
Il faut commencer par créer le fichier de configuration `vault.json` dans `/apps/vault/config/` : Il faut commencer par créer le fichier de configuration `vault.json` dans `/apps/vault/config/` :
```xml ```json
{ {
"backend": { "backend": {
"file": { "file": {
@ -59,7 +59,7 @@ Il faut commencer par créer le fichier de configuration `vault.json` dans `/app
Puis créer le `docker-compose.yml` et lancer Vault avec la commande `docker-compose up -d` : Puis créer le `docker-compose.yml` et lancer Vault avec la commande `docker-compose up -d` :
```plaintext ```yaml
version: '2' version: '2'
services: services:
vault: vault:
@ -107,7 +107,8 @@ networks:
name: proxy name: proxy
``` ```
> **Attention :** Pensez à changer dans le docker-compose ou à définir les variables suivantes : ***URL\_LOK*****I** et **$URL** en fonction de votre installation. > Pensez à changer dans le docker-compose ou à définir les variables suivantes : **URL_LOKI** et **URL** en fonction de votre installation.
{.is-warning}
Votre Vault sera accessible directement depuis l'URL que vous lui aurais attribué avec Traefik ou depuis `http://<server>:<port>`. Votre Vault sera accessible directement depuis l'URL que vous lui aurais attribué avec Traefik ou depuis `http://<server>:<port>`.
@ -127,19 +128,19 @@ Il va nous falloir plusieurs données pour récupérer un mot de passe :
Récupération du VAULT\_TOKEN pour accéder aux secrets : Récupération du VAULT\_TOKEN pour accéder aux secrets :
```plaintext ```bash
VAULT_TOKEN=$(curl -sSf --data "{\"role_id\":\"<ROLE_ID>\",\"secret_id\":\"$VAULT_SECRET_ID\"}" $VAULT_URL/v1/auth/approle/login | jq -r '.["auth"]["client_token"]') VAULT_TOKEN=$(curl -sSf --data "{\"role_id\":\"<ROLE_ID>\",\"secret_id\":\"$VAULT_SECRET_ID\"}" $VAULT_URL/v1/auth/approle/login | jq -r '.["auth"]["client_token"]')
``` ```
Récupération des secrets dans le dossier en Json ; Récupération des secrets dans le dossier en Json ;
```plaintext ```bash
curl -sSf -X GET -H "Accept: */*" -H "X-Vault-Token: $VAULT_TOKEN" "$VAULT_URL/v1/$VAULT_ENGINE/data/approle/$VAULT_ROLE" curl -sSf -X GET -H "Accept: */*" -H "X-Vault-Token: $VAULT_TOKEN" "$VAULT_URL/v1/$VAULT_ENGINE/data/approle/$VAULT_ROLE"
``` ```
Récupération du secret recherché avec jq : Récupération du secret recherché avec jq :
```plaintext ```bash
| jq -r '.["data"]["data"]["$VAULT_SECRET_NAME"]' | jq -r '.["data"]["data"]["$VAULT_SECRET_NAME"]'
``` ```
@ -149,7 +150,7 @@ Récupération du secret recherché avec jq :
Afin de ne pas dévoiler les informations ou les tokens utilisés, on les met en variable d'environnement : Afin de ne pas dévoiler les informations ou les tokens utilisés, on les met en variable d'environnement :
```python ```bash
export VAULT_URL='' # Vault URL with "https://" export VAULT_URL='' # Vault URL with "https://"
export VAULT_ENGINE='' # Wallet name (ex : VPS) export VAULT_ENGINE='' # Wallet name (ex : VPS)
export VAULT_ROLE='' # Role name (folder) export VAULT_ROLE='' # Role name (folder)
@ -159,7 +160,7 @@ export VAULT_SECRET_NAME='' # Secret name
#### Fonction Bash #### Fonction Bash
```python ```bash
#!/bin/bash #!/bin/bash
function Get-Secret { function Get-Secret {