SAML
Le connecteur SAML permet à Maverics d’interagir avec n’importe quel
fournisseur SAML. Le connecteur récupère automatiquement les informations de
samlMetadataURL
et utilise les terminaux API fournis pour authentifier les utilisateurs et
effectuer la validation de la session.
Par défaut, le connecteur SAML fait appel à la liaison HTTP-POST
pour l’envoi des requêtes de connexion SAML
et la réception de leurs réponses.
Options de configuration
Les valeurs suivantes doivent être fournies au connecteur SAML via le fichier de configuration de Maverics.
Entity ID
samlEntityID
correspond à l’identifiant unique d’entité d’application attribué à l’application.
URL des métadonnées
samlMetadataURL
correspond à l’URL des métadonnées de l’application configurée dans le fournisseur SAML.
Le paramètre samlMetadataURL
peut accepter une adresse URI file:///
si le fichier de métadonnées est
enregistré sur un système de fichiers accessible à l’utilisateur de l’orchestrateur.
Consumer Service URL
samlConsumerServiceURL
correspond à l’URL que le fournisseur SAML utilise pour POSTER la réponse SAML.
Le gestionnaire SAML ACS de Maverics sera servi sur cette URL, elle ne devrait donc pas
entrer en conflit avec les ressources de l’application.
Il existe plusieurs possibilités pour le chemin d’accès samlConsumerServiceURL
(par exemple, /maverics-saml
ou /saml-handler
),
mais celui-ci doit correspondre à la configuration du fournisseur pour l’identifiant samlEntityID
spécifié.
Logout Callback URL
samlLogoutCallbackURL
est un champ facultatif utilisé pour définir l’URL vers laquelle le fournisseur SAML
renvoie une fois la déconnexion réussie. Ce champ permet
d’initialiser un terminal sur Maverics permettant le rappel de l’URL.
Le domaine de l’URL doit correspondre au domaine de Maverics.
Il existe plusieurs possibilités pour le chemin d’accès samlLogoutCallbackURL
(par exemple, /logout-maverics-saml
ou /logout-saml-handler
),
mais celui-ci doit correspondre à la configuration du fournisseur pour l’identifiant samlEntityID
spécifié.
SP Cert Path
samlSPCertPath
est une configuration facultative du chemin d’accès au certificat qui
sera utilisé pour signer les requêtes d’authentification SAML. Elle doit être utilisée avec samlSPKeyPath
.
SP Key path
samlSPKeyPath
est une configuration facultative du chemin d’accès à la clé privée qui sera
utilisée pour signer les requêtes d’authentification SAML. Elle doit être utilisée avec samlSPCertPath
.
Format du nom de l’identifiant
samlNameIdFormat
est un champ facultatif utilisé pour définir le format SAML Subject NameID
spécifié pour l’application dans votre fournisseur SAML :
rn:oasis:names:tc:SAML:2.0:nameid-format:entity
. S’il n’est pas spécifié, aucun format NameID
ne sera envoyé.
IDP-Initiated Login
samlIDPInitiatedLogin
est un champ facultatif utilisé pour définir les paramètres de connexion initiée par le
fournisseur d’identité.
Enabled
enabled
détermine si le connecteur accepte les réponses SAML non sollicitées provenant du fournisseur d’identité configuré. La connexion initiée par le fournisseur d’identité est désactivée par défaut, car elle est par nature
moins sécurisée
que le flux alternatif initié par le fournisseur de services.
Allowed Redirect URLs
allowedRedirectURLs
constituent l’ensemble des URL vers lesquelles le connecteur peut rediriger les utilisateurs
après avoir traité une réponse SAML initiée par le fournisseur d’identité. Le fournisseur d’identité doit transmettre l’une des
URL listées par le biais d’un état de relais lorsqu’il initie une connexion. Pour plus d’informations sur la nécessité
d’un ensemble d’URL, veuillez consulter le guide de OWASP concernant
l’authentification unique initiée par le fournisseur d’identité (IdP Initiated SSO)
et l’importance d’atténuer l’attaque Open Redirect.
Cache
cache
est un champ facultatif qui définit les paramètres du cache pour le connecteur.
S’il n’est pas défini, le connecteur utilisera le cache intégré à la mémoire par défaut.
Health Check
healthCheck
définit une vérification d’état facultative du connecteur. Cette option est
requise lors de l’utilisation du connecteur en situation de maintien de la pérennité du fournisseur d’identité. Pour plus d’informations sur la façon
de définir la vérification d’état, veuillez consulter la documentation.
Exemples
Configuration de base
connectors:
- name: samlClient
type: saml
samlEntityID: MavericsOrchestrator
samlMetadataURL: https://saml-idp.com/FederationMetadata/2007-06/FederationMetadata.xml
samlConsumerServiceURL: https://orchestrator.example.com/acs
samlLogoutCallbackURL: https://orchestrator.example.com/logout
samlNameIdFormat: urn:oasis:names:tc:SAML:2.0:nameid-format:entity
samlIDPInitiatedLogin:
enabled: true
allowedRedirectURLs:
- https://alpha-app.example.com/dashboard
- https://beta-app.example.com/index.html
cache: redis
Fichier de métadonnées SAML local
Cet exemple suppose que les métadonnées SAML ont été téléchargées et enregistrées dans le fichier /etc/maverics/samlmetadata.xml
.
connectors:
- name: samlClient
type: saml
samlEntityID: MavericsOrchestrator
samlMetadataURL: file:///etc/maverics/samlmetadata.xml
samlConsumerServiceURL: https://orchestrator.example.com/acs
samlLogoutCallbackURL: https://orchestrator.example.com/logout
samlNameIDFormat: 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified'
samlSPCertPath: /etc/maverics/certs/example-sp.crt
samlSPKeyPath: /etc/maverics/certs/example-sp.key