{"id":1287,"date":"2025-09-22T15:41:09","date_gmt":"2025-09-22T13:41:09","guid":{"rendered":"https:\/\/dyb.fr\/?p=1287"},"modified":"2025-09-22T15:41:09","modified_gmt":"2025-09-22T13:41:09","slug":"attention-au-groupe-principal-active-directory-un-piege-qui-peut-casser-vos-integrations-sso","status":"publish","type":"post","link":"https:\/\/dyb.eu\/blog\/attention-au-groupe-principal-active-directory-un-piege-qui-peut-casser-vos-integrations-sso\/","title":{"rendered":"Attention au groupe principal Active Directory : un pi\u00e8ge qui peut casser vos int\u00e9grations SSO"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Chez DYB, nous d\u00e9ployons r\u00e9guli\u00e8rement des solutions d\u2019authentification unifi\u00e9e (SSO) pour nos clients, avec des connecteurs LDAP\/Active Directory vers des applications m\u00e9tiers ou des portails internes.<br>Un comportement souvent m\u00e9connu d\u2019Active Directory peut pourtant provoquer des bugs \u00e9tranges : un utilisateur semble <strong>ne pas appartenir \u00e0 un groupe<\/strong>, alors qu\u2019il y est bien affect\u00e9 dans l\u2019AD.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le cas concret<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dans Active Directory, chaque utilisateur a un <strong>groupe principal<\/strong> (<em>Primary Group<\/em>), d\u00e9fini par l\u2019attribut <code>primaryGroupID<\/code>.<br>Par d\u00e9faut, ce groupe est <strong>Domain Users<\/strong>.<br>Probl\u00e8me : ce groupe principal <strong>n\u2019appara\u00eet jamais dans l\u2019attribut <code>memberOf<\/code><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Or, la plupart des solutions d\u2019authentification (dont <strong>Authentik<\/strong>, mais aussi beaucoup d\u2019autres services compatibles LDAP) se basent sur <code>memberOf<\/code> pour d\u00e9terminer les r\u00f4les et autorisations d\u2019un utilisateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">R\u00e9sultat :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si votre utilisateur a pour groupe principal un groupe sensible (ex : <em>Admins<\/em>), ce groupe ne sera pas visible c\u00f4t\u00e9 LDAP.<\/li>\n\n\n\n<li>Votre outil SSO consid\u00e9rera que l\u2019utilisateur <strong>n\u2019est pas membre<\/strong> du groupe, et lui retirera automatiquement les droits.<\/li>\n\n\n\n<li>D\u2019o\u00f9 des comportements incompr\u00e9hensibles : deux comptes configur\u00e9s de la m\u00eame fa\u00e7on n\u2019ont pas les m\u00eames droits dans les applications.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Exemple typique<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilisateur <strong>cfleur<\/strong> \u2192 groupe principal = <em>Domain Users<\/em>, membre de Dyb-Developpeurs\u2192 visible dans <code>memberOf<\/code>, tout fonctionne.<\/li>\n\n\n\n<li>Utilisateur <strong>aperrot<\/strong> \u2192 groupe principal = Dyb-Developpeurs\u2192 ce groupe n\u2019appara\u00eet pas dans <code>memberOf<\/code>, l\u2019outil SSO ne lui attribue aucun droit, et le retire m\u00eame s\u2019il est ajout\u00e9 manuellement.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Comment corriger le probl\u00e8me ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La meilleure pratique est simple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Laissez <em>Domain Users<\/em> comme groupe principal pour tous vos comptes.<\/strong><\/li>\n\n\n\n<li>G\u00e9rez vos droits via l\u2019appartenance \u00e0 des groupes secondaires, qui seront bien visibles dans <code>memberOf<\/code>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Modifier le <code>primaryGroupID<\/code> est rarement justifi\u00e9, et peut provoquer exactement ce type d\u2019erreurs dans vos applications connect\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 retenir<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le <strong>Primary Group<\/strong> d\u2019un utilisateur AD n\u2019est <strong>pas expos\u00e9 dans <code>memberOf<\/code><\/strong>.<\/li>\n\n\n\n<li>Les solutions SSO qui se basent uniquement sur <code>memberOf<\/code> ne verront donc pas ces groupes.<\/li>\n\n\n\n<li>Pour \u00e9viter les bugs d\u2019int\u00e9gration, gardez <strong>Domain Users<\/strong> comme groupe principal, et attribuez les droits via des groupes standards.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\ud83d\udd12 Chez DYB, nous accompagnons les entreprises dans la mise en place de solutions SSO robustes et s\u00e9curis\u00e9es, en \u00e9vitant ce type de pi\u00e8ges cach\u00e9s.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chez DYB, nous d\u00e9ployons r\u00e9guli\u00e8rement des solutions d\u2019authentification unifi\u00e9e (SSO) pour nos clients, avec des connecteurs LDAP\/Active Directory vers des applications m\u00e9tiers ou des portails internes.Un comportement souvent m\u00e9connu d\u2019Active Directory peut pourtant provoquer des bugs \u00e9tranges : un utilisateur semble ne pas appartenir \u00e0 un groupe, alors qu\u2019il y est bien affect\u00e9 dans l\u2019AD. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[42,28],"class_list":["post-1287","post","type-post","status-publish","format-standard","hentry","category-adminsys","tag-sso","tag-windows"],"_links":{"self":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/posts\/1287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/comments?post=1287"}],"version-history":[{"count":0,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/posts\/1287\/revisions"}],"wp:attachment":[{"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/media?parent=1287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/categories?post=1287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dyb.eu\/blog\/wp-json\/wp\/v2\/tags?post=1287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}