Поделиться через


Создание пользователя

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Создайте пользователя. Если указать свойство @odata.type со значением с обязательными #microsoft.graph.agentUser свойствами, этот API создает объект agentUser .

Как минимум необходимо указать необходимые свойства. При необходимости вы можете указать другие записываемые свойства.

Эта операция по умолчанию возвращает только подмножество свойств для каждого пользователя и agentUser. Эти свойства по умолчанию указаны в разделе Свойства. Чтобы получить свойства, которые не возвращаются по умолчанию, выполните операцию GET и укажите их в параметре запроса OData $select.

Примечание.

Чтобы создать внешних пользователей в рамках совместной работы B2B с вашей организацией, используйте API приглашений. Сведения о создании клиента, гражданина или бизнес-партнера в Внешняя идентификация Microsoft Entra во внешних клиентах см. в разделе Пример 4. Создание учетной записи клиента.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешение с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) User.ReadWrite.All Directory.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Не поддерживается.
Для приложений User.ReadWrite.All Directory.ReadWrite.All

HTTP-запрос

POST /users

Заголовки запросов

Заголовок Значение
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json

Тело запроса

В теле запроса предоставьте описание объекта user в формате JSON.

В следующей таблице перечислены свойства, необходимые при создании пользователя или агентаUser.

  • Чтобы создать agentUser, необходимо указать свойство @odata.type со значением #microsoft.graph.agentUser , в противном случае будет создан пользователь и идентификатор
  • Если вы включаете свойство identities для создаваемого пользователя, не все перечисленные свойства являются обязательными. Для удостоверения социальных сетей ни одно свойство не является обязательным.
Параметр Тип Описание
accountEnabled Логический Значение true, если учетная запись включена; в противном случае — значение false.
displayName String Имя, которое следует отобразить в адресной книге для пользователя.
onPremisesImmutableId String Требуется только при создании новой учетной записи пользователя, если используется федеративный домен для свойства userPrincipalName (UPN) пользователя.
mailNickname String Почтовый псевдоним для пользователя.
passwordProfile passwordProfile Пароль для профиля пользователя. Применяется только к пользователю и не разрешено для agentUser.
userPrincipalName String Имя субъекта-пользователя (someuser@contoso.com). Это имя пользователя для входа через Интернет в соответствии с интернет-стандартом RFC 822. В соответствии с соглашением оно должно указывать на имя пользователя для электронной почты. Общий формат: псевдоним@домен. При этом домен должен входить в коллекцию проверенных доменов клиента. Доступ к проверенным доменам клиента можно получить с помощью свойства verifiedDomains объекта organization.
ПРИМЕЧАНИЕ. Это свойство не может содержать диакритические знаки. Разрешены только следующие символы: A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Полный список разрешенных символов см. в политиках имен пользователей.
identityParentId String Идентификатор объекта связанного удостоверения агента. Требуется для agentUser, где @odata.type#microsoft.graph.agentUser должен быть задан и игнорироваться для обычных пользователей. Если этот параметр не задан, создается обычный пользователь.

Так как этот ресурс поддерживает расширения, можно использовать POST операцию и добавлять пользовательские свойства с собственными данными в экземпляр пользователя при его создании.

Федеративные пользователи, созданные с помощью этого API, должны выполнять вход каждые 12 часов по умолчанию. Сведения о том, как это изменить, см. в разделе Исключения для времени существования маркера.

Примечание.

Добавление локальной учетной записи B2C к существующему объекту пользователя запрещено, если объект пользователя уже не содержит удостоверение локальной учетной записи.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и объект пользователя или агентаUser в теле отклика.

При пропуске @odata.type свойства #microsoft.graph.agentUser объекта создается объект пользователя, даже если указан идентификатор identityParentId . Попытка создать agentUser с идентификатором identityParentId , уже связанным с другим агентомUser, возвращает ошибку 400 Bad Request .

Пример

Пример 1. Создание пользователя

Запрос

В следующем примере показан запрос, указывающий только необходимые свойства.

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"
  }
}
Отклик

Ниже показан пример отклика.

Примечание.

Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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"
}

Пример 2. Создание пользователя агента

Запрос

В следующем примере показан запрос, указывающий только необходимые свойства.

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": ""
}
Отклик

Ниже показан пример отклика.

Примечание.

Объект ответа, показанный здесь, может быть сокращен для удобочитаемости.

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"
}

Пример 3. Создание пользователя с удостоверениями социальных и локальных учетных записей в Azure AD B2C

Создайте нового пользователя с удостоверением локальной учетной записи с именем для входа, адресом электронной почты для входа и удостоверением социальной сети. Этот пример обычно используется для сценариев миграции в клиентах Azure AD B2C.

Примечание.

Для удостоверений локальных учетных записей срок действия паролей должен быть отключен. Также должна быть отключена принудительная смена пароля при следующем входе.

Запрос

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"
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

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"
}

Пример 4. Создание учетной записи клиента во внешних клиентах

В этом примере показано, как создать учетную запись клиента в Внешняя идентификация Microsoft Entra во внешних клиентах.

Примечание.

Для удостоверений локальных учетных записей срок действия пароля должен быть отключен.

Запрос

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"
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

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"
}