Aller au contenu

GUIDE TECHNIQUE · RUNDECK

Rundeck : ACL et Key Storage pour le RUN

Sécuriser Rundeck avec des ACL minimales, un Key Storage séparé par projet et des comptes d'exécution dédiés, sans faire apparaître de secrets dans les logs.

Niveau Avancé4 min de lecture— vuesRundeck

L’ESSENTIEL EN BREF

Les étapes clés

Ce guide présente 4 étapes, de « Établir la matrice d'autorisations » à « Tester les refus ».

Avant de commencer : Projet de recette et utilisateur de test sans droits administrateur globaux.

01 · CADRAGE

Périmètre et résultat visé

Résultat attendu : Les opérateurs n'ont pas de droits de modification inutiles.

Public concerné : Administrateurs Rundeck, responsables IAM et équipes d'exploitation

Environnement et versions

Rundeck Community ou édition commerciale ; la portée de Key Storage et le modèle ACL dépendent de la configuration d'instance.

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

  • Projet de recette et utilisateur de test sans droits administrateur globaux.
  • Connaissance des rôles, groupes, ACL existantes et service de stockage des secrets.
  • Matrice explicite : lecteur, exécuteur, administrateur de projet.

03 · VUE D’ENSEMBLE

Comprendre l’architecture et les flux

ARCHITECTURE TECHNIQUEComprendre la chaîne de bout en bout
01Identité
02ACL application
03ACL projet
04Key Storage
05Exécuteur
06Traçabilité
Rundeck contrôle l'accès via des politiques YAML dans les contextes application et projet. Le Key Storage stocke clés et mots de passe ; son chemin et ses droits doivent être isolés.

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.

01

ÉTAPE 1 / 4

Établir la matrice d'autorisations

La séparation lecture, exécution et modification limite les erreurs d'exploitation.

  1. Identifier les groupes et les projets auxquels ils doivent accéder.
  2. Prévoir l'accès application au projet et les droits de job et node au niveau projet.
Exemple techniqueÀ adapter à votre environnement
# Exemple de matrice à valider :
# observateur : view/read
# opérateur   : view/read/run
# éditeur     : create/update après habilitation
Ce qui se passe à cette étape
1Rôles
2Périmètre
3Vérification

À vérifier : Les rôles nécessaires sont documentés sans wildcard global.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

02

ÉTAPE 2 / 4

Définir une ACL restrictive

Les permissions sont explicites par ressource et environnement.

  1. Créer une politique ACL pour un groupe pilote et un projet de recette.
  2. Commencer par lecture et exécution sur un sous-ensemble de jobs.
Exemple techniqueÀ adapter à votre environnement
description: Operateurs du projet recette
context:
  project: recette
for:
  job:
    - match: { name: 'verifier-.*' }
      allow: [read, view, run]
by:
  group: operateurs-recette
Ce qui se passe à cette étape
1Contexte
2Règles
3Vérification

À vérifier : Le groupe n'accède qu'aux jobs de recette prévus.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

03

ÉTAPE 3 / 4

Isoler le Key Storage

La lecture d'un secret est un privilège distinct de l'exécution d'un job.

  1. Choisir un chemin de clés propre au projet et importer uniquement le secret de recette.
  2. Associer au job une référence de stockage plutôt que recopier le secret dans un script.
Exemple techniqueÀ adapter à votre environnement
# Convention indicative de stockage :
keys/project/recette/ssh-runner
Ce qui se passe à cette étape
1Stockage
2Référence
3Vérification

À vérifier : La clé n'apparaît ni dans l'export du job ni dans ses logs.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

04

ÉTAPE 4 / 4

Tester les refus

Une ACL n'est vérifiée qu'en testant ce qui doit être interdit.

  1. Avec un compte non admin, lancer un job autorisé puis tenter d'accéder à un job d'un autre projet.
  2. Contrôler l'accès au Key Storage, les logs et les événements d'audit.
Exemple techniqueÀ adapter à votre environnement
# Cas de recette :
# run job recette => autorisé
# lire secret autre projet => refusé
Ce qui se passe à cette étape
1Compte test
2Autorisations
3Vérification

À vérifier : Les essais montrent des autorisations minimales et des refus efficaces.

Point de vigilance : Exécuter les opérations uniquement sur un environnement de recette autorisé, sans secret ni donnée de production.

RÉFÉRENCES TECHNIQUES

Documentation officielle

Retrouvez les prérequis, les fonctionnalités et les versions prises en charge par Rundeck. Vérifiez les commandes sur un environnement de test avant leur utilisation en production.

Consulter la documentation officielle

05 · RECETTE

Comment vérifier que tout fonctionne ?

Résultat attenduContrôles avant de considérer la procédure terminée
01

Les opérateurs n'ont pas de droits de modification inutiles.

02

Les clés sont confinées au Key Storage du projet.

03

Un compte de test ne peut pas accéder à une ressource non autorisée.

06 · DIAGNOSTIC

Problèmes fréquents et résolution

Job invisible

Cause probable : Accès application au projet absent

Que faire : Vérifier les deux contextes ACL, application et projet.

Exécution refusée

Cause probable : Droit run manquant sur job ou node

Que faire : Inspecter les autorisations réellement requises par le workflow.

Clé introuvable

Cause probable : Chemin ou permission Key Storage incorrect

Que faire : Vérifier le chemin stocké et le contexte ACL effectif.

07 · QUESTIONS PRATIQUES

Questions fréquentes

Une ACL projet suffit-elle ?

Pas toujours : un utilisateur doit aussi pouvoir voir le projet dans le contexte application.

Où stocker une clé SSH ?

Dans Key Storage ou un gestionnaire de secrets intégrable, jamais dans les options non sécurisées.

Quelle différence entre voir et exécuter un job ?

read/view permet la consultation ; run autorise son lancement dans le périmètre visé.

AUTRES TECHNOLOGIES

Guides complémentaires

Tous les guides Rundeck

VOTRE ENVIRONNEMENT

Besoin d’aller plus loin sur votre environnement ?

Automatisation, sécurité et exploitation : échangeons sur vos pratiques Rundeck.

Échanger avec ADN Consulting

Pour aller plus loin