Aller au contenu

Azure Entra ID

FonctionnalitéSupport
Gestion utilisateurs✅ Complet
Organisations✅ Via Groupes ou Attribut personnalisé (voir ci-dessous)
Journaux d’audit⚠️ Connexions uniquement (nécessite AuditLog.Read.All)
  1. Inscrivez une application dans Entra ID

    Dans le centre d’administration Microsoft Entra, allez dans Inscriptions d’applications → Nouvelle inscription.

    • Nom : AUMS Management (ou tout autre nom)
    • Types de comptes pris en charge : Comptes dans cet annuaire organisationnel uniquement
    • Cliquez sur S’inscrire

    Notez l’ID d’application (client) et l’ID de l’annuaire (locataire).

  2. Créez un secret client

    Allez dans l’inscription d’application → Certificats et secrets → Nouveau secret client.

    • Entrez une description et choisissez une durée d’expiration
    • Copiez la Valeur immédiatement — elle n’est affichée qu’une seule fois
  3. Accordez les permissions d’API

    Allez dans Permissions d’API → Ajouter une permission → Microsoft Graph → Permissions d’application.

    Accordez les permissions selon les fonctionnalités souhaitées :

    FonctionnalitéPermissions requises
    Gestion utilisateursUser.Read.All, User.ReadWrite.All
    Organisations (stratégie groupes)Group.ReadWrite.All, GroupMember.ReadWrite.All
    Organisations (stratégie custom_attribute)User.ReadWrite.All (déjà inclus ci-dessus)
    Journaux d’auditAuditLog.Read.All

    Après avoir ajouté les permissions, cliquez sur Accorder le consentement administrateur.

  4. Choisissez une stratégie d’organisation

    Choisissez comment AUMS mappe les « organisations » dans votre tenant Entra. Consultez Stratégies d’organisation ci-dessous.

  5. Définissez les variables d’environnement

    Terminal window
    PROVIDER=entra
    ENTRA_TENANT_ID=your-tenant-id
    ENTRA_CLIENT_ID=your-client-id
    ENTRA_CLIENT_SECRET=your-client-secret
    # Stratégie d'organisation (défaut : groups)
    ENTRA_ORGANIZATION_STRATEGY=groups
    # Requis uniquement pour ENTRA_ORGANIZATION_STRATEGY=custom_attribute :
    # ENTRA_ORGANIZATION_ATTRIBUTE_NAME=extension_abc123_organizationId

Entra ID ne dispose pas d’un objet « organisation » natif. AUMS prend en charge deux approches :

Utilisez groups si :

  • Votre tenant Entra est un tenant de personnel ou B2B
  • Vos organisations client ont déjà des groupes de sécurité Entra
  • Vous avez besoin d’un CRUD complet (créer / renommer / supprimer des organisations via AUMS)
  • Les utilisateurs peuvent appartenir à plusieurs organisations

Utilisez custom_attribute si :

  • Votre tenant Entra est un tenant externe (CIAM)
  • Les utilisateurs se sont inscrits via un flux d’inscription ou un fournisseur d’identité social
  • Vous stockez un organizationId par utilisateur comme attribut d’extension personnalisé
  • Vous n’avez pas besoin de créer ou supprimer des organisations via AUMS

Chaque groupe de sécurité Entra est traité comme une organisation. AUMS gère l’appartenance aux groupes pour assigner et retirer des utilisateurs des organisations.

Permissions requises : Group.ReadWrite.All, GroupMember.ReadWrite.All

Ce que fait AUMS :

OpérationAppel API Graph
Lister les orgsGET /v1.0/groups
Créer une orgPOST /v1.0/groups (groupe de sécurité, sans e-mail)
Supprimer une orgDELETE /v1.0/groups/{id}
Lister les membresGET /v1.0/groups/{id}/members
Ajouter un membrePOST /v1.0/groups/{id}/members/$ref
Retirer un membreDELETE /v1.0/groups/{id}/members/{userId}/$ref

Configuration :

Terminal window
ENTRA_ORGANIZATION_STRATEGY=groups

Un attribut d’extension sur chaque profil utilisateur stocke l’identifiant d’organisation de l’utilisateur. AUMS dérive la liste des organisations en collectant les valeurs distinctes non nulles de cet attribut sur tous les utilisateurs.

Permissions requises : User.ReadWrite.All

Ce que fait AUMS :

OpérationAppel API Graph
Lister les orgsDérivé de GET /v1.0/users?$select={attr} (toutes les pages)
Lister les membresFiltrage de GET /v1.0/users par valeur d’attribut
Assigner un utilisateurPATCH /v1.0/users/{id} avec { "{attr}": "{orgId}" }
Retirer un utilisateurPATCH /v1.0/users/{id} avec { "{attr}": null }
Créer/supprimer une org❌ Non supporté — retourne une erreur 405

Configuration :

Terminal window
ENTRA_ORGANIZATION_STRATEGY=custom_attribute
ENTRA_ORGANIZATION_ATTRIBUTE_NAME=extension_abc123def456abc123def456abc12345_organizationId

Trouver le nom de votre attribut d’extension :

Les attributs d’extension enregistrés par b2c-extensions-app suivent le format extension_{appId sans tirets}_{nomAttribut}. Vous pouvez les lister via :

GET /v1.0/applications/{b2cExtensionsAppObjectId}/extensionProperties

Ou trouvez le nom dans le centre d’administration Entra → Identités externes → Attributs utilisateur personnalisés.

Entra ID utilise le userPrincipalName (UPN) comme identifiant de connexion principal. AUMS définit l’UPN sur l’adresse e-mail lors de la création. Le domaine doit être un domaine vérifié dans votre tenant.

Lors de la création d’un utilisateur sans mot de passe, AUMS génère un mot de passe temporaire aléatoire.

Les journaux d’audit exposent les événements de connexion Entra (/v1.0/auditLogs/signIns). Le filtrage par ID utilisateur et plage de dates est pris en charge.

Pour protéger le tableau de bord AUMS avec le SSO Entra ID, inscrivez une application séparée :

Terminal window
AUTH_CLIENT_OPENID_CONFIGURATION_URL=https://login.microsoftonline.com/{tenant-id}/v2.0
AUTH_CLIENT_ID=your-oidc-app-client-id
AUTH_CLIENT_SECRET=your-oidc-app-client-secret

Ajoutez <BASE_URL>/api/auth/callback/oidc aux URI de redirection de l’application.