CLI ssoadm

Scripter une configuration

Sur cette page

Les exemples utilisent le script bin/ssoadm.sh de la distribution QuickStart, déjà authentifié (voir Démarrer avec ssoadm). Avec l’outil seul, ajoutez -u amadmin -f <fichier de mot de passe> à chaque commande.

Créer un royaume et ses utilisateurs#

bash
./ssoadm.sh create-realm --realm /clients

./ssoadm.sh create-identity --realm /clients --idtype User --idname alice.martin \
    --attributevalues "givenName=Alice" "sn=Martin" "mail=alice.martin@example.com" "userPassword=<mot de passe>"

./ssoadm.sh create-identity --realm /clients --idtype Group --idname support
./ssoadm.sh add-member --realm /clients --idtype Group --idname support \
    --memberidtype User --memberidname alice.martin

list-identities vérifie le résultat : ./ssoadm.sh list-identities --realm /clients --idtype User --filter "*".

Créer un graphe d’authentification#

create-auth-graph lit la définition du graphe dans un fichier JSON (startNodeId et steps, voir Format JSON d’un graphe) :

bash
./ssoadm.sh create-auth-graph --realm /clients --name connexion --datafile "$PWD/connexion.json"
./ssoadm.sh show-auth-graph --realm /clients --name connexion

Pour le modifier, éditez le fichier puis relancez update-auth-graph avec les mêmes options. Passez un chemin absolu à --datafile : le script de la QuickStart s’exécute depuis son propre répertoire. Le graphe se rend ensuite accessible comme décrit dans Exposer un graphe comme point d’entrée.

Assigner et régler un service#

add-svc-realm assigne un service au royaume avec ses premières valeurs ; set-realm-svc-attrs modifie ensuite ces valeurs :

bash
./ssoadm.sh add-svc-realm --realm /clients --servicename selfService \
    --attributevalues selfServiceDashboardUrl=account

./ssoadm.sh set-realm-svc-attrs --realm /clients --servicename selfService \
    --attributevalues selfServiceDashboardUrl=https://portail.example.com/compte

Pour une valeur longue (un script, un certificat), suffixez le nom de l’attribut par -file et donnez le chemin du fichier comme valeur.

Enchaîner les commandes avec do-batch#

do-batch exécute un fichier de commandes en une seule authentification, plus vite qu’une série d’appels. Chaque ligne contient une commande et ses options, sans ssoadm ni authentification ; les lignes vides et celles qui commencent par # sont ignorées.

texte
# configuration.txt
create-realm --realm /clients
create-identity --realm /clients --idtype User --idname alice.martin --attributevalues givenName=Alice sn=Martin
create-identity --realm /clients --idtype User --idname bruno.leroy --attributevalues givenName=Bruno sn=Leroy
create-auth-graph --realm /clients --name connexion --datafile /opt/config/connexion.json
bash
./ssoadm.sh do-batch --batchfile "$PWD/configuration.txt" --batchstatus "$PWD/statut.txt" --continue

--batchstatus écrit le résultat de chaque ligne dans un fichier ; --continue poursuit après une ligne en erreur au lieu de s’arrêter.

Exporter et importer une configuration#

Pour reproduire une configuration d’un environnement à l’autre :

  • graphes : show-auth-graph affiche la définition JSON d’un graphe, réutilisable telle quelle avec create-auth-graph --datafile ;
  • politiques : policy-export et policy-import (modèle de politiques du royaume, en JSON), ou list-xacml et create-xacml au format XACML ;
  • fédération : export-entity et import-entity pour les métadonnées SAML 2.0 ;
  • serveur : export-server et import-server pour la configuration d’une instance.

Les options de chaque commande sont dans la référence des commandes.

Mis à jour le