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