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


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

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

Важно!

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

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

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

Примечание.

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

Этот 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.

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

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

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

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

Примечание.

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

Отклик

При успешном выполнении этот метод возвращает код отклика 201 Created и объект user в теле отклика.

Пример

Пример 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"
  }
}

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

Отклик

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

Примечание.

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

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. Создание пользователя с удостоверениями социальных и локальных учетных записей в 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"
}

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

В этом примере показано, как создать учетную запись клиента в Внешняя идентификация 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": false
    },
    "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"
}