Configuration générale de Squash TM
Fichier de démarrage
Port d'accès
Vous pouvez modifier le port par défaut du serveur dans le fichier \bin\startup
. Recherchez la ligne suivante et remplacez le port 8080 par le port souhaité :
[...]
set HTTP_PORT=8080
[...]
Info
Veuillez noter que le système ne vérifiera pas si le port choisi est disponible. Assurez-vous donc que c'est le cas en contactant l'administrateur système.
Locale
La locale est utilisée pour certains messages d'erreur. Elle est définie dans le fichier \bin\startup
dans les arguments Java (JAVA_TOOL_OPTIONS
). Pour la modifier, recherchez l'argument suivant et indiquez la langue souhaitée :
-Duser.language=en
Si le système n'a pas de locale, il est possible de :
- définir une locale système
- ajouter l'argument suivant dans
JAVA_TOOL_OPTIONS
avec la région souhaitée :
-Duser.region=GB
Fichier de configuration de Squash TM
Ce paragraphe décrit les paramètres de configuration disponibles dans le fichier de configuration (conf/squash.tm.cfg.properties
) de Squash TM.
Attention
Une fois les modifications effectuées et le fichier squash.tm.cfg.properties
(ou le fichier de configuration auxiliaire) sauvegardé, vous devez redémarrer Squash TM pour qu'elles soient prises en compte.
Gestion de la configuration
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
spring.profiles.include |
Permet de diviser la configuration en plusieurs fichiers | - | depuis Squash TM 1.18.0 Liste d'identifiants séparés par des virgules. Les fichiers de configuration auxiliaires doivent être nommés soit squash.tm.cfg-<ident>.properties soit application-<ident>.properties . |
Tomcat
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
server.servlet.session.timeout |
Définit le délai d'expiration de la session | 3600 (secondes) |
- |
server.tomcat.accesslog.enabled |
Active les logs d'accès Tomcat | false |
- |
server.tomcat.basedir |
Définit le répertoire de base pour Tomcat | ${squash.path.root}/tomcat-work |
- |
server.tomcat.use-relative-redirects |
Assure que les redirections internes utilisent le protocole HTTPS dans les environnements HTTPS | true |
true ou false |
server.servlet.context-path |
Context path de Squash TM | /squash |
Définir server.servlet.context-path=/foo obligera les utilisateurs à se connecter via l'URL <squash-base-url>/foo |
Lorsque le port 80 est bloqué pour des raisons de sécurité, il est nécessaire de définir server.tomcat.use-relative-redirects
à true
pour que les redirections internes soient systématiquement effectuées via le port 443.
Chemins de Squash TM
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
spring.config.location |
Définit l'emplacement de la configuration | ../conf |
- |
squash.path.root |
Définit le chemin racine pour Squash TM | ${spring.config.location}/.. |
- |
squash.path.bundles-path |
Définit le chemin pour les bundles | ${squash.path.root}/bundles |
- |
squash.path.plugins-path |
Définit le chemin pour les plugins | ${squash.path.root}/plugins |
- |
squash.path.local-git-repositories-folder |
Définit le chemin pour les clones locaux de dépôts Git | ${squash.path.root}/git-repositories |
depuis Squash TM 8.0.0 Voir cette page. |
squash.path.languages-path |
Définit le chemin pour les fichiers de langue | ${spring.config.location}/lang |
- |
Sécurité
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
squash.security.basic.token-charset |
Définit l'encodage pour les points de terminaison sécurisés par authentification de base | - | depuis Squash TM 1.16.1 Par exemple : UTF-8 , ISO-8859-1 … |
squash.crypto.secret |
Définit la clé de chiffrement pour les identifiants des outils tiers | - | depuis Squash TM 1.17.0 Les identifiants et mots de passe saisis pour la connexion aux outils tiers sont chiffrés dans la base de données en utilisant cette clé de chiffrement. L'application est livrée avec une clé de chiffrement par défaut, celle-ci doit être immédiatement changée. Changer cette clé ultérieurement rendra inutilisables les identifiants précédemment stockés. |
squash.rest-api.disallow-basic-authentication |
Interdit l'authentification de base pour l'API REST | false |
depuis Squash TM 7.1.0 |
squash.rest-api.jwt.secret |
Définit le secret utilisé pour chiffrer les jetons pour les appels API REST | - | depuis Squash TM 7.1.0 Doit être d'au moins 512 bits et encodé en base64 (au moins 86 caractères). Par exemple : Ym9uam91cmplc3Vpc2RldmVsb3BwZXVzZXN1cnNxdWFzaHRtZXRub3Vzc29tbWVzZW5sYW5uZWUyMDI0ISEhIS |
Dépréciation de l'authentification de base
Dans Squash TM 7.1.0, la propriété squash.rest-api.disallow-basic-authentication
est définie à false
par défaut.
À partir de mi-2025, elle sera true
par défaut pour les nouvelles versions de Squash TM.
À partir de mi-2026, l'authentification de base (login/mot de passe) pour les appels API ne sera plus possible, l'authentification devra se faire par jeton.
Pool de connexions JDBC
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
spring.datasource.hikari.maximumPoolSize |
Configure la taille du pool de connexions | 20 |
Référez-vous à la documentation HikariCP pour plus de détails. |
Fonctionnalités d'administration
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
squashtm.feature.file.repository |
Active/désactive l'externalisation des pièces jointes | false |
true ou false Lisez la documentation avant d'activer. |
squashtm.stack.trace.control.panel.visible |
Affiche/cache la configuration de l'affichage de la trace d'erreur | false |
true ou false Si true , le panneau de configuration pour activer/désactiver les détails d'erreur est visible dans la page 'Paramètres système'. |
Rapports
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
report.criteria.project.multiselect |
Active/désactive les sélections multiples dans les sélecteurs de projets | false |
- |
Connexion aux bugtrakers
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
squashtm.bugtracker.timeout |
Définit le délai d'attente pour les tentatives du serveur d'atteindre un bugtraker | 15 (secondes) |
- |
squash.bugtracker.cache-update-delay |
Définit le délai entre les mises à jour du cache du connecteur du bugtraker | 86400 (secondes) |
- |
Bugzilla
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
plugin.bugtracker.bugzilla.cache.enable |
Active/désactive la fonctionnalité de cache des champs Bugzilla | false |
true ou false Utilisez cette fonctionnalité si la récupération des champs prend beaucoup de temps. Si true , tous les champs des serveurs Bugzilla seront mis en cache en mémoire une fois récupérés. |
plugin.bugtracker.bugzilla.cache-at-start.bugtracker-urls |
Définit les URLs des gestionnaires de bugs qui doivent initialiser le cache des champs au démarrage de Squash TM | - | Utilisez une liste séparée par des virgules |
plugin.bugtracker.bugzilla.cache-refresh.cron-expression |
Définit l'expression Cron qui détermine quand effectuer un rafraîchissement du cache des champs Bugzilla | - | Pour plus d'informations sur les expressions Cron Spring, consultez la Documentation Spring CronExpression. |
Import Excel
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
squash.xls-imports.max-concurrent-imports |
Définit le nombre maximum d'imports simultanés | - | depuis TM 7.4.0 Squash TM refusera d'effectuer un import Excel si cette limite est atteinte. Cette limite est utilisée pour éviter de surcharger Squash TM ; sa valeur dépend du CPU et de la RAM du serveur. L'absence de valeur signifie qu'il n'y a pas de limite, c'est la configuration par défaut. |
squash.xls-imports.max-test-cases-per-import |
Définit le nombre maximum de cas de test dans un fichier d'import | - | depuis TM 7.4.0 Squash TM refusera d'effectuer un import Excel si cette limite est atteinte. Cette limite est utilisée pour éviter de surcharger Squash TM ; sa valeur dépend du CPU et de la RAM du serveur. L'absence de valeur signifie qu'il n'y a pas de limite, c'est la configuration par défaut. |
squash.xls-imports.max-test-steps-per-import |
Définit le nombre maximum de pas de test dans un fichier d'import | - | depuis TM 7.4.0 Squash TM refusera d'effectuer un import Excel si cette limite est atteinte. Cette limite est utilisée pour éviter de surcharger Squash TM ; sa valeur dépend du CPU et de la RAM du serveur. L'absence de valeur signifie qu'il n'y a pas de limite, c'est la configuration par défaut. |
squash.xls-imports.max-requirements-per-import |
Définit le nombre maximum d'exigences dans un fichier d'import | - | depuis TM 8.0.0 Squash TM refusera d'effectuer un import Excel si cette limite est atteinte. Cette limite est utilisée pour éviter de surcharger Squash TM ; sa valeur dépend du CPU et de la RAM du serveur. L'absence de valeur signifie qu'il n'y a pas de limite, c'est la configuration par défaut. |
Import de projet
Actuellement, seul l'import de projet Xray est disponible.
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
squash.project-imports.delay |
Définit le délai entre deux processus d'import | 3600 (secondes) |
depuis Squash TM 8.0.0 |
Synchronisations Jira et GitLab
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
squash.external.synchronisation.enabled |
Active/désactive le traitement planifié de toutes les synchronisations | true |
depuis Squash TM 7.0.0true ou false |
squash.external.synchronisation.delay |
Définit le délai entre deux synchronisations | 300 (secondes) |
- |
squash.external.synchronisation.max-items-per-sync |
Définit le nombre maximum d'éléments dans le champ d'application lors de la création d'une nouvelle synchronisation | - | depuis Squash TM 8.0.0 |
squash.external.synchronisation.enabled
active ou désactive le processus planifié pour toutes les synchronisations.
Cette propriété n'affecte pas l'attribut activée des synchronisations.
Passer cette propriété à false
peut être utile dans des situations telles que :
- Vous n'utilisez pas de synchronisations ;
- L'instance est un Squash TM de pré-production ayant une copie de la base de données de production et vous devez éviter que les synchronisations enregistrées dans la base de données ne s'exécutent sur cette instance pour ne pas polluer vos tickets Jira/GitLab ;
- Vous utilisez une autre instance de Squash TM pour gérer les synchronisations.
squash.external.synchronisation.delay
définit le délai entre deux mises à jour, exprimé en secondes. Si cette propriété est manquante ou incorrecte, le délai par défaut est fixé à cinq minutes (300 secondes) et un avertissement apparaît dans les logs de Squash TM au démarrage de l'application. Plus le délai est court, plus Squash TM consomme de ressources. Pour la plupart des utilisations courantes, un délai entre 5 et 15 minutes est suffisant.
Jira
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
plugin.synchronisation.jira.batchSize |
Définit la taille du batch pour les requêtes API REST de Jira | 50 |
- |
Le plugin Xsquash4Jira a une propriété, plugin.synchronisation.jira.batchSize
, définissant la taille du batch pour mettre à jour les informations de Jira.
La valeur par défaut est 50, qui doit être inférieure ou égale à la valeur jira.search.views.default.max
définie dans le fichier de propriétés jira-config.properties
. Cette valeur par défaut fonctionne bien avec Jira Server, Data Center et Cloud, si aucune modification de configuration n'a été apportée à l'instance Jira.
GitLab
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
plugin.synchronisation.gitlab.webhook.secret-token |
Définit le jeton secret optionnel utilisé pour valider les webhooks GitLab | - | Voir plus de détails ici. |
plugin.synchronisation.gitlab.webhook.show-secret-token |
Affiche/masque le jeton secret sur l'écran d'administration du plugin | true |
true ou false Voir plus de détails ici. |
TM-TA
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
tm.test.automation.pollinterval.millis |
Définit l'intervalle de polling pour l'automatisation des tests | 3000 (millisecondes) |
- |
LDAP et Active Directory
Consultez cette page pour plus d'informations.
LDAP unique
Utilisez ces paramètres pour configurer l'authentification avec un seul serveur LDAP.
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
authentication.provider |
Définit le fournisseur d'authentification | - | ldap ou ldap,internal pour multi-sources (c-à-d internal signifie que les utilisateurs peuvent également utiliser leur compte local Squash TM) |
authentication.ldap.server.url |
Définit l'URL du serveur LDAP | - | Par exemple :ldap://localhost:389 |
authentication.ldap.server.managerDn |
Définit le user DN du manager (si l'accès anonyme n'est pas autorisé) | - | Par exemple :CN=admin,CN=Users,DC=example,DC=com |
authentication.ldap.server.managerPassword |
Définit le mot de passe du manager (si l'accès anonyme n'est pas autorisé) | - | Par exemple :quelquechose |
authentication.ldap.user.searchBase |
Définit la base de recherche DN | - | Par exemple :DC=example,DC=com |
authentication.ldap.user.searchFilter |
Définit le filtre de recherche | - | Par exemple :(uid={0}) |
authentication.ldap.user.fetchAttributes |
Définit s'il faut récupérer les attributs de l'utilisateur | true |
true ou false |
authentication.ldap.user.dnPatterns |
Définit les modèles de DN de base pour la recherche d'utilisateurs | - | Par exemple :uid={0},ou=people |
Multi-LDAP
Utilisez ces paramètres pour configurer l'authentification avec plusieurs serveurs LDAP.
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
authentication.provider |
Définit le fournisseur d'authentification | - | ldap-multi ou ldap-multi,internal pour multi-sources (c-à-d internal signifie que les utilisateurs peuvent également utiliser leur compte local Squash TM) |
authentication.ldap.multi.root.names |
Définit les noms des multiples serveurs LDAP | - | Par exemple :ldap1,ldap2 |
Pour chaque serveur LDAP (ex. ldap1
, ldap2
), utilisez les propriétés suivantes, préfixées par le nom du serveur :
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
[nom].authentication.ldap.server.url |
Définit l'URL du serveur LDAP | - | Par exemple :ldap://localhost:389 |
[nom].authentication.ldap.server.managerDn |
Définit le user DN du manager (si l'accès anonyme n'est pas autorisé) | - | Par exemple :CN=admin,CN=Users,DC=example,DC=com |
[nom].authentication.ldap.server.managerPassword |
Définit le mot de passe du manager (si l'accès anonyme n'est pas autorisé) | - | Par exemple :quelquechose |
[nom].authentication.ldap.user.searchBase |
Définit la base de recherche DN | - | Par exemple :DC=example,DC=com |
[nom].authentication.ldap.user.searchFilter |
Définit le filtre de recherche | - | Par exemple :(uid={0}) |
[nom].authentication.ldap.user.fetchAttributes |
Définit s'il faut récupérer les attributs de l'utilisateur | - | Par exemple :false |
[nom].authentication.ldap.user.dnPatterns |
Définit les modèles de DN de base pour la recherche d'utilisateurs | - | Par exemple :uid={0},ou=people |
Active Directory unique
Utilisez ces paramètres pour configurer l'authentification avec un seul serveur Active Directory.
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
authentication.provider |
Définit le fournisseur d'authentification | - | ad.ldap ou ad.ldap,internal pour multi-sources (c-à-d internal signifie que les utilisateurs peuvent également utiliser leur compte local Squash TM) |
authentication.ad.server.url |
Définit l'URL du serveur AD | - | Par exemple :ldap://localhost:389 |
authentication.ad.server.domain |
Définit le domaine du serveur AD | - | Par exemple :ad.squashtest.org |
authentication.ad.server.managerDn |
Définit le user DN du manager | - | Par exemple :admin |
authentication.ad.server.managerPassword |
Définit le mot de passe du manager | - | Par exemple :quelquechose |
authentication.ad.user.searchBase |
Définit la base de recherche | - | - |
authentication.ad.user.searchFilter |
Définit le filtre de recherche | - | Par exemple :(&(objectClass=user)(userPrincipalName={0})) |
Multi-Active Directory
Utilisez ces paramètres pour configurer l'authentification avec plusieurs serveurs Active Directory.
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
authentication.provider |
Définit le fournisseur d'authentification | - | ad.ldap-multi ou ad.ldap-multi,internal pour multi-sources (c-à-d internal signifie que les utilisateurs peuvent également utiliser leur compte local Squash TM) |
authentication.ad.multi.root.names |
Définit les noms des multiples serveurs AD | - | Par exemple :ad1,ad2 |
Pour chaque serveur AD (ex. ad1
, ad2
), utilisez les propriétés suivantes, préfixées par le nom du serveur :
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
[nom].authentication.ad.server.url |
Définit l'URL du serveur AD | - | Par exemple :ldap://localhost:389 |
[nom].authentication.ad.server.domain |
Définit le domaine du serveur AD | - | Par exemple :ad.squashtest.org |
[nom].authentication.ad.server.managerDn |
Définit le user DN du manager | - | Par exemple :admin |
[nom].authentication.ad.server.managerPassword |
Définit le mot de passe du manager | - | Par exemple :quelquechose |
[nom].authentication.ad.user.searchBase |
Définit la base de recherche | - | - |
[nom].authentication.ad.user.searchFilter |
Définit le filtre de recherche | - | Par exemple :(&(objectClass=user)(userPrincipalName={0})) |
SAML
Consultez cette page pour plus d'informations.
Propriété | Description | Valeur par défaut | Remarques |
---|---|---|---|
Configuration principale | |||
saml.enabled |
Active/désactive SAML | false |
true ou false |
authentication.provider |
Définit le fournisseur d'authentification | - | saml ou saml,internal pour une source multiple (c-à-d internal signifie que les utilisateurs peuvent également utiliser leur compte Squash TM local) |
saml.idp.metadata.url |
Définit l'URL ou le chemin où les métadonnées de l'IDP peuvent être trouvées | - | Formats autorisés : - file://chemin/absolu/vers/fichier : récupère un fichier localement par son chemin absolu- http:// ou https://metadata.hote-distant/chemin/vers/fichier : téléchargement distant des métadonnées via HTTP(S)- chemin/relatif/vers/fichier : un chemin relatif au répertoire de configuration de Squash TM (par exemple saml/idp.xml ) |
saml.sp.metadata.url |
Définit l'URL ou le chemin où les métadonnées du SP peuvent être trouvées | - | Autorise les mêmes formats que saml.idp.metadata.url |
saml.keystore.url |
Définit l'URL ou le chemin où le keystore peut être trouvé | - | Seuls file:// ou un chemin relatif sont autorisés. |
saml.keystore.password |
Définit le mot de passe pour le keystore | - | - |
saml.keystore.credentials.? |
Définit la liste des alias/mots de passe pour toutes les paires de clés publiques/privées requises par Squash | - | Chaque propriété est dynamique et est formatée comme suit : saml.keystore.credentials.<alias-cle> = <mot-de-passe-cle> Une entrée par paire de clés, il doit y avoir au moins une entrée car une clé par défaut est requise par saml.keystore.default-key .Par exemple : saml.keystore.credentials.ma-propre-cle = motp4ssesecret |
saml.keystore.default-key |
Définit la clé privée par défaut qui sera utilisée sauf indication contraire (par exemple saml.sp.signing-key ) |
- | - |
Point d'entrée | |||
squash.security.preferred-auth-url |
Définit le point d'entrée d'authentification SAML comme point d'entrée principal | /auth/saml/login |
Les utilisateurs non authentifiés seront automatiquement redirigés vers le point d'entrée SAML au lieu du formulaire de connexion habituel. |
Options SSO | |||
saml.sso.force-authN |
Active/désactive la réauthentification forcée | false |
true ou false Si activé, l'utilisateur devra se réauthentifier auprès de l'IDP chaque fois qu'il voudra s'authentifier auprès de Squash TM. Cela désactive effectivement le mécanisme SSO. |
saml.sso.provider-name |
Définit un nom lisible par l'humain qui sera inclus dans les messages envoyés à l'IDP, utile à des fins de journalisation | (vide) | - |
saml.sso.binding |
Définit quelle liaison Squash TM utilise pour initier le SSO avec l'IDP | Première méthode de liaison listée dans la clause <SingleSignOnService/> des métadonnées de l'IDP |
Pour plus d'informations, voir ce document. Par exemple : urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST , urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect |
saml.sso.assertion-consumer-index |
Requiert que l'IDP envoie ses réponses au service consommateur donné. | Le service consommateur par défaut dans les métadonnées SP | Un entier positif ou nul, ou vide La liste des services consommateurs disponibles peut être trouvée dans les clauses <AssertionConsumerService/> dans les métadonnées SP. |
saml.sso.nameID |
Requiert que l'IDP renvoie le principal avec un NameIDFormat donné, qui est essentiellement le nom d'utilisateur de l'utilisateur dans Squash | Si vide, l'IDP en choisira un parmi ceux listés dans les métadonnées SP | Par exemple :urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress , urn:oasis:names:tc:SAML:2.0:nameid-format:transient |
saml.sso.allow-create |
Notifie l'IDP que la création de nouveaux utilisateurs est autorisée lorsqu'ils sont inconnus | false |
true ou false |
saml.sso.passive |
Si activé, Squash TM informera l'IDP qu'il ne considère pas l'interaction de l'utilisateur nécessaire pour l'authentification | - | true ou false |
saml.sso.include-scoping |
Si activé, Squash ajoutera des contraintes de portée supplémentaires lorsqu'un utilisateur s'authentifie | false |
true ou false |
saml.sso.allowed-idps |
Définit, dans une architecture IDP multicouche, quels IDP sont autorisés à traiter les demandes d'authentification. | - | Une liste d'IDP séparés par des virgules Remarque : le scoping doit être activé. |
saml.sso.proxy-count |
Définit le nombre maximum de sauts de proxy autorisés pour les messages d'authentification | 2 |
Un entier positif ou nul Dans ce contexte, un proxy est un IDP au sein d'une chaîne d'IDP qui peut déléguer l'un à l'autre. Une valeur de 0 interdit l'utilisation de proxies et l'IDP qui reçoit la demande d'authentification ne peut pas déléguer et doit authentifier l'utilisateur lui-même. Remarque : le scoping doit être activé. |
saml.sso.authn-contexts |
Définit les contextes d'authentification qui doivent être honorés par l'IDP lorsqu'il authentifie l'utilisateur | (vide, c-à-d pas d'exigences spécifiques) | Une liste séparée par des virgules Utile lorsque le défi d'authentification IDP par défaut n'est pas jugé assez sûr et que Squash TM demande des garanties d'un processus plus strict. Par exemple : urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI , urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract Remarque : le scoping doit être activé. Pour plus d'informations, voir ce document. |
saml.sso.authn-context-comparison |
Indique à l'IDP comment il doit traiter les identifiants présentés par l'utilisateur lors de l'authentification | exact |
exact , minimum , maximum , ou better Remarque : le scoping doit être activé. Pour plus d'informations, voir ce document. |
saml.sso.relay-state |
Définit un jeton arbitraire à envoyer d'avant en arrière à l'IDP | (vide) | Fait partie de la spécification SAML mais Squash TM n'a pas de cas d'utilisation pour cela. |
Options des métadonnées IDP | |||
saml.idp.metadata.require-signature |
Si activé, Squash exigera que le fichier de métadonnées IDP lui-même soit signé | false |
true ou false Utilisation typique lorsque le fichier est téléchargé depuis un fournisseur distant qui ne sert pas HTTPS ou que vous voulez appliquer des vérifications supplémentaires sur les métadonnées de toute façon. Les propriétés des métadonnées IDP qui ne sont pas signées seront rejetées. |
saml.idp.metadata.check-signature |
Si activé, et si les métadonnées IDP sont signées, vérifiera la signature | true |
true ou false Cela implique de vérifier le digest des métadonnées et la confiance du certificat. N'a aucun effet si les métadonnées ne sont pas signées. |
saml.idp.metadata.check-certificate-revocation |
Si activé, en plus de vérifier la chaîne de confiance du certificat, le système vérifiera l'expiration/révocation du certificat | false |
true ou false L'infrastructure exacte impliquée dans cette vérification (CLR, OSCP…) dépasse le cadre de ce fichier de configuration et dépend du fournisseur JCE et de la configuration du keystore, et serait pilotée par les propriétés système correspondantes. |
saml.idp.metadata.trusted-keys |
Définit les clés considérées comme des ancres de confiance pour la vérification PKIX du fichier de métadonnées IDP | all |
all (toutes les clés du keystore seront considérées comme fiables), vide (équivalent à all ), none (aucune des clés du keystore ne sera considérée comme fiable), ou une liste de clés séparées par des virgules (les clés doivent exister dans le keystore). |
Options IDP | |||
saml.idp.signing-key |
Définit un alias de la clé publique IDP pour vérifier les signatures des messages SAML entrants | (vide, c-à-d que les métadonnées seront utilisées) | Un alias de clé publique IDP dans le keystore. Utile lorsque la clé de signature IDP n'est pas publiquement disponible dans les métadonnées ni dans les messages mais est connue du keystore. |
saml.idp.encryption-key |
Définit un alias de la clé publique IDP pour le chiffrement des messages SAML sortants | (vide, c-à-d que les métadonnées seront utilisées) | Un alias de clé publique dans le keystore Utile lorsque la clé de chiffrement IDP n'est pas publiquement disponible dans les métadonnées mais est connue du keystore. |
saml.idp.trusted-keys |
Définit les clés considérées comme des ancres de confiance pour la vérification PKIX des messages entrants de l'IDP | all |
all (toutes les clés du keystore seront considérées comme fiables), vide (équivalent à all ), none (aucune des clés du keystore ne sera considérée comme fiable), ou une liste de clés séparées par des virgules (les clés doivent exister dans le keystore). |
saml.idp.require-logout-request-signed |
Indique que l'IDP exige que toute demande de déconnexion initiée par le SP soit signée | true |
true ou false |
saml.idp.require-logout-response-signed |
Indique que l'IDP exige que toutes les réponses aux demandes de déconnexion initiées par l'IDP soient signées | false |
true ou false |
saml.idp.require-artifact-resolve-signed |
Si activé, les requêtes envoyées à cet IDP via le profil HTTP-Artifact seront signées | true |
true ou false |
saml.idp.allow-idp-initiated-sso |
Indique que cet IDP est autorisé à initier le SSO | true |
true ou false Bien sûr, le SP sera toujours capable d'initier le SSO également. |
saml.idp.proxy-host |
Définit le nom d'hôte du proxy | - | Au cas où un proxy se trouve entre Squash TM et l'IDP et qu'une connexion directe est requise (par exemple, profil HTTP-Artifact) Exemple : localhost |
saml.idp.proxy-port |
Définit le port de connexion du proxy | 8080 |
Au cas où un proxy se trouve entre Squash TM et l'IDP et qu'une connexion directe est requise (par exemple, profil HTTP-Artifact) |
saml.idp.basic-username |
Définit le nom d'utilisateur au cas où l'IDP défie Squash TM avec une authentification de base lors de la résolution HTTP-Artifact | - | - |
saml.idp.basic-password |
Définit le mot de passe pour ce qui précède | - | - |
Options des métadonnées SP | |||
saml.sp.metadata.require-signature |
Si activé, Squash exigera que son fichier de métadonnées SP lui-même soit signé | false |
true ou false Utilisation typique lorsque le fichier est téléchargé depuis un fournisseur distant qui ne sert pas https ou que vous voulez appliquer des vérifications supplémentaires sur les métadonnées de toute façon. Les propriétés des métadonnées SP qui ne sont pas signées seront rejetées. |
saml.sp.metadata.check-signature |
Si activé et si les métadonnées SP sont signées, vérifiera la signature | true |
true ou false Cela implique de vérifier le digest des métadonnées et la confiance du certificat. N'a aucun effet si les métadonnées ne sont pas signées. |
saml.sp.metadata.check-certificate-revocation |
Si activé, en plus de vérifier la chaîne de confiance du certificat, le système vérifiera l'expiration/révocation du certificat | false |
true ou false L'infrastructure exacte impliquée dans cette vérification est au-delà de la portée de ce fichier de configuration et dépend du fournisseur JCE et de la configuration du keystore, et serait pilotée par les propriétés système correspondantes. |
saml.sp.metadata.trusted-keys |
Définit quelles clés doivent être considérées comme des ancres de confiance pour la vérification PKIX du fichier de métadonnées SP | all |
all (toutes les clés du keystore seront considérées comme fiables), vide (équivalent à all ), none (aucune des clés du keystore ne sera considérée comme fiable), ou une liste de clés séparées par des virgules (les clés doivent exister dans le keystore). |
Exposition des métadonnées SP | |||
saml.sp.metadata-exposition.signed |
Si activé, les métadonnées SP publiées par Squash TM à l'URL /auth/saml/metadata seront signées si elles ne le sont pas déjà |
false |
true ou false Cela vous permet d'utiliser vos propres vérifications de confiance sur Squash TM. Dans le cas où les métadonnées SP sont déjà signées, cette option ne s'appliquera pas et la signature originale sera préservée. |
saml.sp.metadata-exposition.signing-algorithm |
Si les métadonnées publiées doivent être signées, indique quel algorithme de signature sera utilisé | L'algorithme associé à la clé résolue pour la propriété saml.sp.signing-key |
Les valeurs possibles sont celles listées dans la référence XML-Security. Par exemple : http://www.w3.org/2000/09/xmldsig#rsa-sha1 , http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 |
saml.sp.metadata-exposition.digest-algorithm |
Si les métadonnées publiées doivent être signées, indique quel algorithme de digest sera utilisé. | http://www.w3.org/2000/09/xmldsig#sha1 |
Les valeurs possibles sont celles listées dans la référence XML-Security. Par exemple : http://www.w3.org/2000/09/xmldsig#sha1 , http://www.w3.org/2001/04/xmldsig-more#sha224 |
Options SP | |||
saml.sp.signing-key |
Définit l'alias de la clé privée SP pour la signature des messages SAML sortants, au cas où cette clé serait différente de la clé par défaut | Si vide, saml.keystore.default-key est utilisé |
Un alias de clé privée dans le keystore |
saml.sp.encryption-key |
Définit l'alias de la clé privée SP pour le déchiffrement des messages SAML entrants, au cas où cette clé serait différente de la clé par défaut | Si vide, saml.keystore.default-key est utilisé |
Un alias de clé privée dans le keystore |
saml.sp.tls-key |
Définit l'alias de la clé privée SP pour l'authentification client dans un scénario SSL/TLS, principalement lorsque Squash résout une liaison HTTP-Artifact | Si vide, saml.keystore.default-key est utilisé |
Un alias de clé privée dans le keystore |
saml.sp.require-logout-request-signed |
Indique que Squash TM exige que toute demande de déconnexion entrante soit signée | true |
true ou false |
saml.sp.require-logout-response-signed |
Indique que Squash TM exige que toute réponse aux demandes de déconnexion initiées par Squash soit signée | false |
true ou false |
saml.sp.signature-security-profile |
Indique comment les signatures des messages entrants seront gérées | metaiop |
metaiop (saute la partie de vérification de confiance et vérifie uniquement la signature. Typiquement utilisé lorsque les métadonnées ont été vérifiées minutieusement plus tôt et jugées dignes de confiance) ou pkix (vérification complète) |
saml.sp.ssl-security-profile |
Indique comment les certificats de connexion SSL/TLS doivent être gérés | pkix |
metaiop (saute la partie de vérification de confiance et vérifie uniquement la signature. Typiquement utilisé lorsque les métadonnées ont été vérifiées minutieusement plus tôt et jugées dignes de confiance) ou pkix (vérification complète) |
saml.sp.ssl-hostname-verification |
Dans le cas où Squash TM doit appeler l'IDP directement (par exemple pour le profil HTTP-Artifact) en utilisant https, indique comment Squash vérifiera le point de terminaison | default |
default , defaultAndLocalhost , strict , ou allowAll |
Options de session SP | |||
saml.session.max-assertion-time |
Définit l'intervalle de validité d'une assertion d'authentification pendant le processus SSO | 3000 (secondes) |
Si le processus n'est pas terminé dans ce délai, le processus a échoué et le SSO doit être réinitialisé à partir de zéro. Notez que la valeur par défaut est suffisamment grande pour la plupart des situations. |
saml.session.max-auth-time |
Définit l'intervalle de validité d'une authentification IDP | 864000 (secondes, soit 10 jours) |
À l'expiration, Squash TM considérera que l'utilisateur doit se réauthentifier auprès de l'IDP. |
Options de proxy inverse / répartiteur de charge | |||
saml.proxy.enabled |
Active/désactive le support du proxy inverse | false |
true ou false |
saml.proxy.server-name |
Déclare le nom d'hôte du proxy inverse | - | Ceci doit être défini si le support du proxy est activé, car il n'a pas de valeur par défaut. |
saml.proxy.scheme |
Déclare le schéma utilisé par le proxy inverse pour les communications sortantes | https |
http ou https |
saml.proxy.server-port |
Déclare le port utilisé par le proxy inverse pour les communications sortantes | 443 |
Un numéro de port valide |
saml.proxy.context-path |
Déclare le chemin de contexte de l'application tel que servi par le proxy inverse | /squash |
Un chemin de contexte, commençant par une barre oblique / |
saml.proxy.include-port-in-url |
Indique si le numéro de port doit être explicitement inclus dans l'URL de la requête | true |
true ou false |
Attributs supplémentaires de l'assertion | L'assertion retournée par l'IDP peut contenir des attributs supplémentaires sur le compte utilisateur que vous souhaitez peut-être utiliser dans Squash TM. Les propriétés suivantes vous permettent de mapper certains de ces attributs au compte utilisateur de Squash TM. Leur valeur par défaut est null (aucun mapping défini pour cet attribut). C'est différent d'une valeur vide, c-à-d que si vous n'en avez pas besoin, laissez-les en commentaire. |
||
saml.user-mapping.alternate-username |
Définit une valeur d'attribut supplémentaire comme nom d'utilisateur dans Squash TM (au lieu du NameID nominal) | - | Un nom de propriété |
saml.user-mapping.first-name |
Définit une valeur d'attribut supplémentaire comme prénom d'un compte utilisateur dans Squash TM | - | Un nom de propriété |
saml.user-mapping.last-name |
Définit une valeur d'attribut supplémentaire comme nom de famille d'un compte utilisateur dans Squash TM | - | Un nom de propriété |
saml.user-mapping.email |
Définit une valeur d'attribut supplémentaire comme email d'un compte utilisateur dans Squash TM | - | Un nom de propriété |
OpenId Connect
Consultez cette page pour plus d'informations.
<idp-name>
doit être remplacé par le nom de l'IDP en minuscules.
Paramètre | Description | Valeur par défaut | Remarques |
---|---|---|---|
Configuration principale | |||
oidc.access.whitelist |
Restreint l'accès en fonction du domaine de l'email de l'utilisateur | - | Une liste de domaines séparés par des virgules Par défaut, l'accès à Squash TM et la restriction des utilisateurs doivent être configurés directement dans l'IDP. Cette propriété gère la restriction d'accès du côté de Squash TM au cas où l'IDP n'offrirait pas cette possibilité. Elle vérifie que le domaine de l'email de l'utilisateur qui se connecte correspond à une ou plusieurs des valeurs de domaine indiquées via cette propriété. Si cette propriété est laissée vide, aucune restriction ne sera appliquée. Par exemple : @company-name.com,@domain.fr |
preferred-auth-url |
Définit le point d'entrée principal pour les requêtes d'utilisateurs non authentifiés | /login (c-à-d la page de connexion pour l'authentification de base par formulaire) |
Cette propriété gère le comportement de Squash TM en termes de requêtes d'utilisateurs non authentifiés. Elle définit l'URL vers laquelle l'utilisateur sera redirigé pour la connexion, en d'autres termes, elle définit le point d'entrée principal. Si la valeur définie correspond au modèle /oidc/authorization/<idp-name> , la connexion sera redirigée vers la page de connexion de l'IDP spécifié ou connectée directement s'ils sont déjà connectés à leur IDP.Note : il s'agit d'une propriété générique de Squash TM et elle n'est pas exclusive à OpenId Connect. |
Options du fournisseur IDP | Les options ci-dessous vous permettent de déclarer un nouvel IDP personnalisé à utiliser avec Squash. Pour certains fournisseurs (Google, Facebook, GitHub, Okta…), certaines de ces propriétés sont préconfigurées et peuvent être omises. Les valeurs de configuration OpenID Connect pour un IDP sont souvent accessibles depuis le point de terminaison de configuration bien connu du fournisseur : <issuer-uri>/.well-known/openid-configuration |
||
spring.security.oauth2.client.provider.<idp-name>.user-name-attribute |
Spécifie quel attribut utiliser comme nom d'utilisateur dans Squash TM | - | - |
spring.security.oauth2.client.provider.<idp-name>.issuer-uri |
Spécifie l'URL de l'identifiant de l'émetteur | - | - |
spring.security.oauth2.client.provider.<idp-name>.authorization-uri |
Spécifie le point de terminaison de l'IDP pour démarrer la demande d'autorisation | - | - |
spring.security.oauth2.client.provider.<idp-name>.token-uri |
Spécifie le point de terminaison pour récupérer les jetons d'accès | - | - |
spring.security.oauth2.client.provider.<idp-name>.user-info-uri |
Spécifie le point de terminaison pour récupérer les données utilisateur | - | - |
spring.security.oauth2.client.provider.<idp-name>.jwk-set-uri |
Spécifie l'URI pour récupérer la clé publique du fournisseur d'authentification | - | Ceci est utilisé pour vérifier les jetons JWT. |
Options du client IDP | |||
spring.security.oauth2.client.registration.<idp-name>.client-id |
Spécifie l'identifiant du client OAuth2 | - | Fourni par l'IDP lors de l'enregistrement de votre instance Squash TM. |
spring.security.oauth2.client.registration.<idp-name>.client-secret |
Spécifie le secret du client OAuth2 | - | Fourni par l'IDP lors de l'enregistrement de votre instance Squash TM. |
spring.security.oauth2.client.registration.<idp-name>.authorization-grant-type |
Spécifie le type d'autorisation OAuth2 | - | Squash TM prend en charge authorization_code . |
spring.security.oauth2.client.registration.<idp-name>.redirect-uri |
Spécifie l'URL à laquelle la réponse d'authentification sera envoyée | - | Doit matcher le pattern /oidc/code/* Il s'agit de l'URI de redirection configurée dans l'IDP. |
spring.security.oauth2.client.registration.<idp-name>.scope |
Définit les informations que l'IDP fournira sur l'utilisateur | - | Les scopes disponibles peuvent varier d'un IDP à l'autre. OpenId Connect nécessite le scope openid , mais des scopes supplémentaires peuvent être spécifiés. |
spring.security.oauth2.client.registration.<idp-name>.client-name |
Spécifie le nom du client IDP | - | - |