GUIDE TECHNIQUE · HASHICORP VAULT
HashiCorp Vault : AppRole : authentifier un service
Configurer une authentification AppRole Vault de laboratoire et émettre un token applicatif limité, avec protection du SecretID et renouvellement contrôlé.
L’ESSENTIEL EN BREF
Les étapes clés
Ce guide présente 4 étapes, de « Définir l'identité du service » à « Tester un login et les droits ».
Avant de commencer : Instance Vault de recette administrée.
01 · CADRAGE
Périmètre et résultat visé
Résultat attendu : RoleID et SecretID ne figurent pas dans Git.
Public concerné : Équipes plateforme, IAM et développeurs de services
Vault AppRole Auth Method ; paramètres CIDR, secret_id_ttl et token_ttl selon besoins.
Contrôlez les versions, les droits et les options disponibles dans votre environnement avant de suivre la procédure.
02 · AVANT DE COMMENCER
Prérequis et points de contrôle
- Instance Vault de recette administrée.
- Policy applicative de lecture seule.
- Canal sécurisé pour remettre RoleID et SecretID au workload autorisé.
03 · VUE D’ENSEMBLE
Comprendre l’architecture et les flux
04 · TUTORIEL
Procédure complète, étape par étape
Suivez les étapes dans l’ordre et contrôlez chaque résultat avant de poursuivre. Renseignez les paramètres adaptés à votre environnement.
ÉTAPE 1 / 4
Définir l'identité du service
Une identité par workload limite la propagation de droits.
- Créer une policy lecture seule.
- Choisir TTL et les contraintes réseau selon l'architecture.
# Exemple de configuration voulue :
# policy: app-reader ; token_ttl: 15mÀ vérifier : Le service a un périmètre et une durée de session limités.
Point de vigilance : Ne pas partager un rôle administrateur entre applications.
ÉTAPE 2 / 4
Activer AppRole en recette
Les méthodes auth modifient la configuration Vault.
- Activer AppRole seulement si un administrateur l'a autorisé.
- Créer un rôle application avec policies restreintes.
vault auth enable approle
vault write auth/approle/role/app-lab token_policies=app-reader token_ttl=15mÀ vérifier : Le rôle de laboratoire est créé.
Point de vigilance : Les commandes nécessitent des droits administrateur : jamais dans un cluster sans approbation.
ÉTAPE 3 / 4
Distribuer les identifiants
Un SecretID est une donnée sensible.
- Récupérer RoleID et générer un SecretID par mécanisme protégé.
- Ne jamais consigner ces valeurs dans Git, une sortie partagée ou un ticket.
# Commandes à exécuter en session sécurisée :
vault read auth/approle/role/app-lab/role-id
vault write -f auth/approle/role/app-lab/secret-idÀ vérifier : Les identifiants sont transmis par un canal prévu.
Point de vigilance : Préférer le SecretID response wrapping lorsque la chaîne de bootstrap le permet.
ÉTAPE 4 / 4
Tester un login et les droits
La validité de l'authentification ne garantit pas le droit sur tout Vault.
- Faire une connexion avec le workload de recette.
- Vérifier une lecture autorisée et une écriture interdite.
# API Vault : POST /v1/auth/approle/login
# body : role_id et secret_id transmis hors des logsÀ vérifier : Le token obtenu ne dépasse pas la policy affectée.
Point de vigilance : Ne pas enregistrer le SecretID dans les traces HTTP.
RÉFÉRENCES TECHNIQUES
Documentation officielle
Retrouvez les prérequis, les fonctionnalités et les versions prises en charge par HashiCorp Vault. Vérifiez les commandes sur un environnement de test avant leur utilisation en production.
05 · RECETTE
Comment vérifier que tout fonctionne ?
RoleID et SecretID ne figurent pas dans Git.
Le token émis a une durée limitée.
Les accès hors policy sont refusés.
06 · DIAGNOSTIC
Problèmes fréquents et résolution
invalid role_id
Cause probable : Rôle ou mount incorrect
Que faire : Contrôler le chemin auth et le rôle.
secret_id expired
Cause probable : Durée dépassée ou usage consommé
Que faire : Régénérer via le canal sécurisé.
permission denied
Cause probable : Policy incorrecte
Que faire : Inspecter les droits sans ajouter root.
07 · QUESTIONS PRATIQUES
Questions fréquentes
AppRole est-il destiné aux machines ?
Oui, il peut authentifier des services et automatisations.
Le RoleID est-il un mot de passe ?
C'est un identifiant ; SecretID doit être protégé.
Pourquoi un TTL court ?
Pour réduire la durée d'usage d'un token compromis.
AUTRES TECHNOLOGIES
Guides complémentaires
VOTRE ENVIRONNEMENT
Besoin d’aller plus loin sur votre environnement ?
Automatisation, sécurité et exploitation : échangeons sur vos pratiques HashiCorp Vault.
Échanger avec ADN Consulting