Créer et mettre à jour des utilisateurs dans Azure AD ou Azure AD B2C

Hao WU
Publié par Hao WU
Catégorie : Azure
20/09/2021

Dans cet article de blog, nous allons vous montrer comment créer et mettre à jour des utilisateurs AD dans Azure.

Azure nous propose des services de gestion de l’accès et des identités (IAM). Nous pouvons utiliser soit Azure AD, soit Azure AD B2C. Les deux services sont basés sur les mêmes technologies, ils permettent de se connecter et d’accéder aux ressources. Azure AD B2C permet également aux utilisateurs de s’enregistrer avec leurs comptes sociaux comme Google, Facebook, etc. La principale différence est que AAD cible les organisations internes, alors que AAD B2C cible les clients et les consommateurs.

Les comptes suivants sont disponibles :

  • Work account : peut accéder aux ressources dans Azure ;
  • Guest account : compte Microsoft ou utilisateur AAD ;
  • Consumer account : utilisateur des applications inscrites auprès d’AAD B2C.

 Création d’un utilisateur dans AAD avec Azure AD Connector

Nous pouvons nous servir du connecteur AAD pour créer un utilisateur dans AAD. Ce connecteur est utilisé pour connecter Logic App aux services SaaS :

AD

Pour l’utiliser, il faut créer un compte dans AAD et lui associer le droit Global Administrator. Par la suite, authentifier le connecteur avec ce compte.

Droit Global Admin

Dans notre exemple, nous avons directement saisi les informations d’un utilisateur. En réalité, ces informations peuvent être récupérées de différentes manières. On déclenche le flux en récurrence comme suit :

Flux Azure AD

Dans la shape Azure AD, nous avons renseigné les informations suivantes :

Azure AD info

Le paramètre « User Principal Name » doit être unique. Comme indiqué ci-dessous, nous avons désormais un utilisateur créé dans l’AAD, le tenant étant mwhwu.

User Enzo

Création d’un utilisateur dans AAD B2C

Pour accéder à l’AAD B2C, il n’est pas possible d’utiliser le connecteur Azure AD. Il nous faut utiliser Microsoft Graph API (graph.microsoft.com) ou Azure AD Graph API (https://graph.windows.net/{tenant_id}{resource}?{version}&query-parameters).

Pour pouvoir tester, nous avons construit le workflow comme suit :

AAD flux

Les démarches sont les suivantes :

Étape 1 : App Registration

Ajouter une app registration à Azure AD B2C, créer un client_secret pour cette app registration. Attention, il faut donner les permissions nécessaires. Les types d’autorisation sont :

  • Delegue : User.ReadWrite.All, Directory.ReadWrite.All (both of these for delegated and app only) and Directory.ActAsUser.All ;
  • Application : User.ReadWrite.All, Directory.ReadWrite.All.

Pour plus d’informations sur les permissions, consultez ici.

Par la suite, nous pouvons accéder au Microsoft Graph/Azure AD Graph par les Logic Apps par une action HTTP.

App registration

Étape 2: AAD B2C Login (Get Token)

POST un message vers URI : https://login.microsoftonline.com/tenant/oauth2/token, dont le tenant étant : mwhwu.onmicrosoft.com, avec content-type application/x-www-form-urlencoded. Dans le body du message, renseignez client_id, client_secret que nous avons créés dans l’étape 1. A la fin de cette étape, nous allons obtenir un access_token qui sera valide dans une heure.

  • Exemple : Requête Microsoft Graph API

Microsoft Graph API

  • Exemple : Requête Azure AD Graph API

Azure AD Graph API

Étape 3 : Créer un compte dans AAD B2C

Avec l’access_token obtenu à l’étape 2, nous pouvons le passer via Authorization Header pour créer un compte dans AAD B2C. Comme expliqué plus haut, nous utilisons directement les informations des utilisateurs dans les Logic Apps. Pour information, toutes les propriétés que nous pouvons affecter lors de la création d’un compte sont indiquées ici.

  • Exemple : Créer un account via Microsoft Graph API

Account Microsoft Graph API

Dans AAD B2C, nous avons ce compte :

User Lisa

  • Exemple : Créer un work account via Azure AD Graph API

user Azure AD Graph API

Nous avons le compte dans AAD B2C :

User Paul

Mise à jour d’un utilisateur dans AAD B2C

Décrivons le flux comme ci :

update Flux

Nous allons changer la ville et le métier d’un utilisateur, l’URI est https://graph.microsoft.com/v1.0/users/ObjectID, avec la méthode PATCH.

Update user

Et voilà le résultat dans AAD :

user modifié