Référence de l’orchestrateur
Notre documentation destinée aux développeurs vous permet de vous connecter à nos API pour configurer manuellement les orchestrateurs à l’aide de fichiers YAML locaux.
Un orchestrateur est un service léger qui s’exécute sur un hôte Linux ou Window Server et qui est chargé de coordonner les flux utilisateurs de la gestion des identités et des accès. Ce service peut être configuré par la plate-forme Maverics à l’aide de fournisseurs de configuration à distance ou avec des fichiers de configuration YAML locaux (par exemple, maverics.yaml
).
Il existe plusieurs manières de configurer l’orchestrateur comme un adaptateur universel pour les services et applications d’identité :
- se placer en amont d’une application (ou de plusieurs applications) en tant qu’IAP (Identity-Aware Proxy) inverse, contrôlant l’accès de l’utilisateur directement après l’avoir authentifié auprès d’un fournisseur d’identité
- agir en tant que fournisseur d’identité SAML et/ou OIDC, en créant des assertions et des jetons que les applications peuvent utiliser, même si le protocole requis par l’application est différent de celui fourni par le fournisseur d’identité choisi
- agir en tant que client SAML et/ou OIDC, en se connectant à n’importe quel fournisseur d’identité prenant en charge ces normes et en l’utilisant en tant que fournisseur d’identité de réserve pour les applications
- combiner les attributs d’identité de plusieurs sources en une seule procédure de connexion, en récupérant les détails de l’utilisateur à partir de n’importe quel système ou annuaire dans lequel ils se trouvent, sans avoir à synchroniser les sources les unes avec les autres.
Composants de configuration
Connecteurs
Les orchestrateurs utilisent des connecteurs (services d’identité dans la plate-forme Maverics) pour s’intégrer aux fournisseurs d’identité existants et sur le cloud en tant que fournisseurs d’authentification ou d’attributs. Certains peuvent jouer les deux rôles.
Voir la liste des connecteurs disponibles pour plus d’informations.
Attributs, fournisseurs d’attributs et espaces de noms
Certaines applications nécessitent des attributs qui ne sont pas fournis par les fournisseurs d’identité. Les orchestrateurs utilisent les connecteurs pour fournir des attributs qui sont stockés en dehors du système d’identité configuré en tant que fournisseur d’authentification. Ces fournisseurs d’attributs peuvent être des annuaires LDAP, des bases de données et d’autres solutions de stockage d’identité. Lorsqu’un orchestrateur récupère des attributs auprès d’un fournisseur, ces attributs présentent un espace de noms en accord avec le connecteur qui les récupère. Par exemple, un nom d’utilisateur fourni par Azure Active Directory sera défini comme azure.username
alors qu’un attribut e-mail fourni par un annuaire LDAP sera défini comme ldap.mail
. Les attributs à espace de noms sont utilisés lors du mappage de ces attributs dans les en-têtes HTTP qui sont envoyés aux applications mandataires en amont.
Applications proxy
Une instance d’orchestrateur peut servir de proxy entre un agent utilisateur (par exemple, un navigateur) et des applications en amont. Les orchestrateurs prennent en charge plusieurs modèles de déploiement, notamment le mandat centralisé avec un plus petit nombre d’instances consolidées ou le mandat distribué avec de nombreuses instances distribuées.
Lorsqu’il est configuré en tant que proxy, l’orchestrateur peut réécrire les URL, modifier les en-têtes de requête et de réponse, exploiter des conditions telles que l’état de la session pour rediriger les utilisateurs vers un fournisseur d’identité afin qu’ils se connectent, et utiliser des évaluations de politiques pour acheminer les utilisateurs vers des URL spécifiées telles que des pages d’erreur ou de refus d’accès.
Les applications proxy déterminent les systèmes d’accès à utiliser pour authentifier les utilisateurs ou fournir des attributs, étendent ces systèmes d’accès en gérant les sessions ou en évaluant et en appliquant les politiques, elles associent également les attributs aux en-têtes dont les applications existantes sur site ou hébergées sur le cloud ont besoin pour les autorisations d’accès.
Consultez le document de référence relatif aux applications proxy pour plus de détails.
Politique
Les orchestrateurs utilisent la configuration des politiques
présentes dans les applications pour définir et contrôler l’accès à ces dernières. Les politiques déterminent les conditions à remplir pour qu’une requête aboutisse. La réussite d’une requête dépend du statut d’authentification de l’utilisateur, des attributs transmis par un ou plusieurs fournisseurs d’identité, de l’appartenance à un groupe enregistré auprès d’un fournisseur d’attributs, ou de conditions diverses spécifiées dans des extensions de services Golang.
En-têtes
Certaines applications en amont exigent des valeurs spécifiques dans les en-têtes HTTP avant d’autoriser l’accès des utilisateurs. Les en-têtes définis dans les applications déterminent la manière dont ils doivent être définis, les valeurs à fournir et le fournisseur d’authentification ou d’attributs auprès duquel les attributs doivent être obtenus. La configuration de l’en-tête consiste en un mappage du nom de l’en-tête HTTP avec la valeur déclarée dans un espace de noms tel que SM_USER: azure.username
ou firstname: ldap.givenName
.
Applications OIDC et SAML
L’orchestrateur lui-même peut fonctionner en tant que fournisseur d’authentification OIDC ou SAML. Associée à un ou plusieurs connecteurs fournissant l’authentification et les attributs utilisateur, cette configuration permet aux apps OIDC ou SAML de considérer l’orchestrateur comme leur fournisseur d’identité, en regroupant efficacement le fournisseur d’identité en amont et en effectuant la conversion entre OIDC et SAML, en fonction des besoins de l’application.
Consultez le document de référence relatif aux applications OIDC et SAML pour plus de détails sur la configuration.
Sessions et statut de l’utilisateur
Les orchestrateurs font appel à un registre interne pour gérer les sessions. Les sessions contiennent des informations sur le statut d’authentification de l’utilisateur, les politiques et les résultats de l’évaluation, les attributs et les en-têtes.
Consultez le document de référence relatif aux sessions et au statut de l’utilisateur pour plus de détails sur la configuration.
Extensions de services
Les extensions de services sont en mesure de fournir une évaluation personnalisée des politiques, d’effectuer des mappages d’attributs sophistiqués, de faire appel à d’autres services ou API pour obtenir des données ou une logique supplémentaires et, plus généralement, d’étendre les fonctionnalités de l’orchestrateur. Ces extensions de services sont écrites en langage Golang, ce qui leur confère une grande puissance et une grande flexibilité.
Voir la section relative aux extensions de services pour des informations détaillées sur l’utilisation et la configuration.
Configuration JSON ou YAML
Les orchestrateurs prennent en charge les configurations dans les formats de sérialisation YAML et JSON. JSON est généralement utilisé dans un contexte programmatique (par exemple, dans les communications de machine à machine), il s’agit du format utilisé dans les paquets de configuration publiés par l’interface web de Maverics. YAML est un format plus lisible par les humains et est utilisé dans de nombreux exemples de configuration figurant dans la présente documentation.
La plateforme Maverics établit la configuration de l’orchestrateur au format JSON qui présente les valeurs dans l’ordre alphabétique. Les configurations YAML sont documentées ici dans un ordre cohérent pour l’orchestrateur. Notez les différences dans le code ci-dessous.