Créer un utilisateur

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Créez un utilisateur. Si vous spécifiez une propriété @odata.type avec la valeur avec #microsoft.graph.agentUser les propriétés requises, cette API crée un objet agentUser .

Vous devez spécifier au minimum les propriétés requises. Vous pouvez aussi spécifier d’autres propriétés accessibles en écriture.

Par défaut, cette opération renvoie uniquement un sous-ensemble des propriétés de chaque utilisateur et agentUser. Ces propriétés par défaut sont indiquées dans la section Propriétés. Pour obtenir des propriétés qui ne sont pas renvoyées par défaut, effectuez une opération GET et spécifiez les propriétés dans une option de requête OData $select.

Remarque

Pour créer des utilisateurs externes dans le cadre d’une collaboration B2B avec votre organisation, utilisez l’API d’invitation. Pour créer un client, un citoyen ou un partenaire commercial dans ID externe Microsoft Entra externe dans des locataires externes, consultez l’exemple 4 : Créer un compte client.

Cette API est disponible dans les déploiements cloud nationaux suivants.

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.

Type d’autorisation Autorisations les moins privilégiées Autorisations à privilèges plus élevés
Déléguée (compte professionnel ou scolaire) User.Create User.ReadWrite.All, Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application User.Create User.ReadWrite.All, Directory.ReadWrite.All

Requête HTTP

POST /users

En-têtes de demande

En-tête Valeur
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et les autorisations.
Content-Type application/json

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON de l’objet user.

Le tableau suivant répertorie les propriétés qui sont requises lorsque vous créez un utilisateur ou un agentUser.

  • Vous devez spécifier une propriété @odata.type avec la valeur de #microsoft.graph.agentUser pour créer un agentUser, sinon un utilisateur est créé et l’iden
  • Si vous incluez une propriété identités pour l’utilisateur que vous créez, l'ensemble des propriétés répertoriées n'est pas nécessaire. Pour une identité sociale, aucune des propriétés n’est nécessaire.
Parameter Type Description
accountEnabled Booléen True si le compte est activé ; sinon, false.
displayName String Le nom à afficher dans le carnet d’adresses pour l’utilisateur.
onPremisesImmutableId String Obligatoire uniquement lors de la création d’un compte d’utilisateur si vous utilisez un domaine fédéré pour la propriété userPrincipalName (UPN) de l’utilisateur.
mailNickname String L’alias de messagerie pour l’utilisateur.
passwordProfile passwordProfile Le profil du mot de passe pour l’utilisateur. S’applique uniquement à l’utilisateur et n’est pas autorisé pour agentUser.
userPrincipalName String Le nom d’utilisateur principal (someuser@contoso.com). Il s’agit d’un nom de connexion internet pour l’utilisateur basé sur la norme Internet RFC 822. Par convention, il doit être mappé sur le nom de messagerie de l’utilisateur. Le format général est alias@domaine, où le domaine doit être présent dans la collection de domaines vérifiés du client. Les domaines vérifiés du client sont accessibles à partir de la propriété verifiedDomains de l’organisation.
REMARQUE : cette propriété ne peut pas contenir de caractères accentués. Seuls les caractères suivants sont autorisés A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Pour obtenir la liste complète des caractères autorisés, consultez stratégies de nom d’utilisateur.
identityParentId String ID d’objet de l’identité de l’agent associé. Requis pour agentUser , où @odata.type de #microsoft.graph.agentUser doit être défini et ignoré pour les utilisateurs standard. S’il n’est pas défini, un utilisateur standard est créé.

Étant donné que cette ressource prend en charge les extensions, vous pouvez utiliser l’opération POST et ajouter des propriétés personnalisées avec vos propres données à l’instance de l’utilisateur lors de sa création.

Les utilisateurs fédérés créés via cette API doivent se connecter toutes les 12 heures par défaut. Pour plus d’informations sur la façon de modifier cela, consultez Exceptions pour les durées de vie des jetons.

Remarque

L’ajout d’un compte local B2C à un objet utilisateur existant n’est pas autorisé, sauf si l’objet utilisateur contient déjà une identité de compte local.

Réponse

En cas de réussite, cette méthode renvoie un 201 Created code de réponse et un objet user ou agentUser dans le corps de la réponse.

L’omission de la @odata.type propriété de #microsoft.graph.agentUser crée un objet utilisateur, même si identityParentId est spécifié. Tentative de création d’un agentUser avec un identityParentId déjà lié à un autre agentUser renvoie une 400 Bad Request erreur.

Exemple

Exemple 1 : Créer un utilisateur

Demande

L’exemple suivant montre une requête, spécifiant uniquement les propriétés requises.

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
  "accountEnabled": true,
  "displayName": "Adele Vance",
  "mailNickname": "AdeleV",
  "userPrincipalName": "AdeleV@contoso.com",
  "passwordProfile" : {
    "forceChangePasswordNextSignIn": true,
    "password": "xWwvJ]6NMw+bWH-d"
  }
}
Réponse

L’exemple suivant illustre la réponse.

Remarque

L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
    "businessPhones": [],
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "jobTitle": "Product Marketing Manager",
    "mail": "AdeleV@contoso.com",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "AdeleV@contoso.com"
}

Exemple 2 : créer un utilisateur agent

Demande

L’exemple suivant montre une requête, spécifiant uniquement les propriétés requises.

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
  "@odata.type": "#microsoft.graph.agentUser",
  "accountEnabled": true,
  "displayName": "Adele Vance",
  "mailNickname": "AdeleV",
  "userPrincipalName": "AdeleV@contoso.com",
  "identityParentId": ""
}
Réponse

L’exemple suivant illustre la réponse.

Remarque

L’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "@odata.type": "#microsoft.graph.agentUser",
    "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
    "businessPhones": [],
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "jobTitle": "Product Marketing Manager",
    "mail": "AdeleV@contoso.com",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "AdeleV@contoso.com"
}

Exemple 3 : créer un utilisateur avec des identités de compte locales et sociales dans Azure AD B2C

Créez un utilisateur, avec une identité de compte local comme nom de connexion, une adresse de messagerie comme connexion et avec une identité sociale. Cet exemple est généralement utilisé pour les scénarios de migration dans les locataires Azure AD B2C.

Remarque

Pour les identités de compte local, l’expiration des mots de passe doit être désactivée. L’option forcer la modification du mot de passe à la prochaine connexion doit également être désactivée.

Demande

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
  "displayName": "John Smith",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordProfile" : {
    "password": "password-value",
    "forceChangePasswordNextSignIn": false
  },
  "passwordPolicies": "DisablePasswordExpiration"
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 201 Created
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
  "displayName": "John Smith",
  "id": "4c7be08b-361f-41a8-b1ef-1712f7a3dfb2",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordPolicies": "DisablePasswordExpiration"
}

Exemple 4 : Créer un compte client dans des locataires externes

Cet exemple montre comment créer un compte client dans l’ID externe Microsoft Entra dans les locataires externes.

Remarque

Pour les identités de compte locales, l’expiration des mots de passe doit être désactivée.

Demande

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
    "displayName": "Test User",
    "identities": [
        {
            "signInType": "emailAddress",
            "issuer": "contoso.onmicrosoft.com",
            "issuerAssignedId": "adelev@adatum.com"
        }
    ],
    "mail": "adelev@adatum.com",
    "passwordProfile": {
        "password": "passwordValue",
        "forceChangePasswordNextSignIn": true
    },
    "passwordPolicies": "DisablePasswordExpiration"
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "daabd280-3978-4d29-acce-d677b9cf2e4d",
    "businessPhones": [],
    "displayName": "Test User",
    "givenName": null,
    "jobTitle": null,
    "mail": "adelev@adatum.com",
    "mobilePhone": null,
    "officeLocation": null,
    "preferredLanguage": null,
    "surname": null,
    "userPrincipalName": "daabd280-3978-4d29-acce-d677b9cf2e4d@contoso.onmicrosoft.com"
}