Différence entre "enterprise application" et "app registration" dans Azure

Différence entre “enterprise application” et “app registration” dans Azure

Une App Registration (inscription d’application) est un moyen de réserver votre application et votre URL auprès d’Azure AD, lui permettant de communiquer avec Azure AD, de configurer vos URL de réponse et d’activer les services AAD dessus. Lorsque vous avez une application que vous développez et que vous souhaitez intégrer avec Azure, vous devez enregistrer votre application dans App Registrations, où vous configurerez votre URL de réponse, votre URL de déconnexion et l’accès API si nécessaire. Lorsque vous enregistrez votre application, Azure AD lui attribue un identifiant d’application unique et vous permet d’ajouter certaines capacités telles que les identifiants, les permissions et les connexions. Les paramètres par défaut permettent uniquement aux utilisateurs du locataire sous lequel votre application est enregistrée de se connecter à votre application.

Le panneau Enterprise Applications peut être confondu avec App Registrations car le panneau Enterprise Application contient la liste de vos principaux de service. Cependant, le terme Enterprise App (application d’entreprise) fait généralement référence aux applications publiées par d’autres entreprises dans la galerie AAD qui peuvent être utilisées au sein de votre organisation. Par exemple, si vous souhaitez intégrer Facebook et gérer le SSO au sein de votre organisation, vous pouvez l’intégrer depuis le menu déroulant Enterprise Applications dans le panneau des applications. Vos propres applications seront également représentées dans le panneau Enterprise Applications en tant que principaux de service, qui sont des instanciations de vos applications dans le locataire.

App Registration : https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-add-azure-ad-app

Intégration d’une application d’entreprise (G-Suite) : https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/google-apps-tutorial

Bonjour,

La distinction entre Enterprise Application et App Registration dans Azure Active Directory (maintenant appelé Microsoft Entra ID) est l’une des questions les plus fréquentes et les plus source de confusion pour les développeurs et administrateurs Azure. Ces deux concepts sont liés mais jouent des rôles fondamentalement différents. Je vais vous expliquer en détail cette relation et leurs usages respectifs.

La relation fondamentale : Application vs Principal de service

Pour bien comprendre, il faut partir d’une analogie :

  • L’App Registration (Inscription d’application) est comme le passeport de votre application — c’est sa définition d’identité globale dans votre tenant (ou dans le tenant de l’éditeur).
  • L’Enterprise Application (Application d’entreprise), aussi appelée Service Principal, est comme le visa — c’est l’instance de cette identité dans un tenant spécifique, avec les permissions accordées localement.

Le modèle objet d’Azure AD

Tenant A (éditeur)                    Tenant B (client)
┌─────────────────────────────┐       ┌──────────────────────────────┐
│  App Registration           │  1:N  │  Enterprise Application      │
│  (Application object)       │──────>│  (Service Principal object)  │
│                             │       │                              │
│  - Application ID (client)  │       │  - Object ID (local)         │
│  - Secrets / Certificats    │       │  - Permissions accordées     │
│  - Redirect URIs            │       │  - Assignments utilisateurs  │
│  - Manifest de l'app        │       │  - Paramètres SSO            │
└─────────────────────────────┘       └──────────────────────────────┘

Règle fondamentale : Pour chaque App Registration dans un tenant, il existe automatiquement une Enterprise Application correspondante dans ce même tenant. Quand une autre organisation consent à utiliser votre application multi-tenant, une Enterprise Application est créée dans leur tenant.

App Registration en détail

Qu’est-ce qu’une App Registration ?

L’App Registration représente l’objet application global — c’est la définition de ce qu’est votre application, ses capacités et ses besoins en termes d’identité.

Où la trouver : Azure Portal > Microsoft Entra ID > Inscriptions d’applications

Ce que vous configurez dans App Registration

1. Identité de l’application

  • Application (client) ID : l’identifiant unique de l’application (GUID)
  • Directory (tenant) ID : le tenant propriétaire
  • Object ID : l’ID de l’objet application dans le répertoire

2. Authentification

  • Redirect URIs : les URLs de callback après authentification
  • Plateforme : Web, SPA, Desktop, Mobile
  • Implicit flow, Authorization code flow avec PKCE
  • Logout URL

3. Certificats et secrets

# Créer un secret d'application via PowerShell
$app = Get-AzADApplication -ApplicationId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
$secret = New-AzADAppCredential -ApplicationId $app.AppId -EndDate (Get-Date).AddYears(1)
Write-Output "Secret Value (à sauvegarder maintenant) : $($secret.SecretText)"

4. Permissions API (ce que l’application demande)

  • Delegated permissions : agit au nom d’un utilisateur connecté
  • Application permissions : agit en son propre nom (daemon/service)
# Ajouter une permission API via Azure CLI
az ad app permission add \
  --id "votre-app-id" \
  --api "00000003-0000-0000-c000-000000000000" \  # Microsoft Graph
  --api-permissions "User.Read=Scope"             # Permission déléguée

5. Expose an API (ce que l’application expose)

  • Définition des scopes personnalisés
  • Application ID URI (ex: api://votre-app-id)

6. Owners et App Roles

Qui gère les App Registrations ?

Typiquement, les développeurs et les architectes d’identité gèrent les App Registrations. Il faut le rôle Application Developer ou Global Administrator dans Azure AD.

Enterprise Application en détail

Qu’est-ce qu’une Enterprise Application ?

L’Enterprise Application (Service Principal) représente l’instance locale d’une application dans un tenant spécifique. C’est ici que se gère qui peut utiliser l’application et quelles permissions ont été accordées.

Où la trouver : Azure Portal > Microsoft Entra ID > Applications d’entreprise

Ce que vous configurez dans Enterprise Application

1. Propriétés générales

  • Activation/désactivation pour les utilisateurs
  • Visibilité dans le portail My Apps
  • Logo et informations d’affichage

2. Gestion des utilisateurs et groupes (Assignments)

# Assigner un utilisateur à une Enterprise Application
$servicePrincipal = Get-AzADServicePrincipal -ApplicationId "votre-app-id"
$user = Get-AzADUser -UserPrincipalName "[email protected]"

New-AzADServicePrincipalAppRoleAssignment `
  -ServicePrincipalId $servicePrincipal.Id `
  -PrincipalId $user.Id `
  -ResourceId $servicePrincipal.Id `
  -AppRoleId "00000000-0000-0000-0000-000000000000"  # Default role

3. Single Sign-On (SSO)

  • SAML : pour l’intégration avec des applications tierces
  • OIDC/OAuth2 : pour les applications modernes
  • Password-based SSO : pour les applications legacy
  • Linked : pour les applications avec SSO externe existant

4. Provisionnement automatique (SCIM)

  • Synchronisation automatique des utilisateurs vers l’application
  • Désactivation automatique lors du départ d’un employé

5. Permissions accordées (Consent)

# Accorder le consentement administrateur pour une permission
az ad app permission admin-consent --id "votre-app-id"

# Lister les permissions accordées
az ad app permission list-grants --id "votre-app-id"

6. Conditional Access

  • Application de politiques d’accès conditionnel
  • Exigence de MFA, conformité des appareils, etc.

Qui gère les Enterprise Applications ?

Typiquement, les administrateurs IT et les gestionnaires d’identité gèrent les Enterprise Applications. Les rôles Cloud Application Administrator ou Global Administrator sont nécessaires.

Tableau comparatif synthétique

Aspect App Registration Enterprise Application
Autre nom Application object Service Principal
Portée Globale (multi-tenant possible) Locale au tenant
Propriétaire Développeurs / ISV Administrateurs IT
Configure Ce QUE fait l’app QUI utilise l’app
Existence Dans le tenant propriétaire Dans chaque tenant utilisant l’app
Secrets/Certs Oui Non
SSO Config Non Oui
User Assignment Non Oui
Consent Demande les permissions Reçoit le consentement
Conditional Access Non Oui
SCIM Provisioning Non Oui

Cas pratiques : quand utiliser quoi ?

Scénario 1 : Développer une nouvelle application

Vous développez une application web qui s’authentifie avec Azure AD :

  1. Créez une App Registration pour définir votre application
  2. Configurez les Redirect URIs, les permissions Microsoft Graph nécessaires
  3. Récupérez le client_id et tenant_id pour votre code
  4. Une Enterprise Application est créée automatiquement dans votre tenant

Scénario 2 : Intégrer une application SaaS tierce (ex: Salesforce, ServiceNow)

L’administrateur IT configure l’accès SSO :

  1. Dans Enterprise Applications, cliquez sur “+ Nouvelle application”
  2. Cherchez l’application dans la galerie Azure AD
  3. Configurez le SSO SAML
  4. Assignez les utilisateurs et groupes
  5. Activez le provisionnement SCIM si disponible

Ici, aucune App Registration n’est créée par l’administrateur — l’éditeur du SaaS l’a déjà fait dans son tenant.

Scénario 3 : Service/Daemon sans utilisateur (Client Credentials Flow)

# Authentification d'un service sans utilisateur
import msal

app = msal.ConfidentialClientApplication(
    client_id="votre-client-id",       # Depuis App Registration
    client_credential="votre-secret",   # Depuis App Registration
    authority=f"https://login.microsoftonline.com/{tenant_id}"
)

result = app.acquire_token_for_client(
    scopes=["https://graph.microsoft.com/.graph.default"]
)

Pour ce cas :

  • App Registration : configure le secret et la permission Application (ex: User.Read.All)
  • Enterprise Application : l’admin accorde le consentement administrateur

La confusion courante : même objet, deux vues

Quand vous créez une App Registration, vous voyez deux entrées dans Azure AD :

  • Une dans “Inscriptions d’applications” (App Registration)
  • Une dans “Applications d’entreprise” (Enterprise Application)

Ce sont deux vues différentes du même objet applicatif. Vous pouvez naviguer entre elles via le portail. Si vous supprimez l’App Registration, la Enterprise Application correspondante est également supprimée.


Pour résumer : pensez à l’App Registration comme la carte d’identité de votre application (qui elle est, ce dont elle a besoin), et à l’Enterprise Application comme le contrat d’utilisation dans votre organisation (qui peut l’utiliser, avec quelles permissions, sous quelles conditions).

N’hésitez pas à me poser des questions sur un scénario spécifique — configuration SSO, gestion des permissions, ou implémentation d’un flux d’authentification particulier. Je suis là pour vous aider à approfondir n’importe quel aspect de la gestion des identités Azure AD.