Обновление пользователя

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

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

  • Не все свойства могут быть обновлены участниками или гостевыми пользователями с разрешениями по умолчанию, без ролей администратора. Сравните разрешения по умолчанию для участника и гостя, чтобы узнать, какими свойствами они могут управлять.
  • Внешняя идентификация Microsoft Entra во внешних клиентах также может использовать эту операцию API для обновления своих данных. Список свойств, которые можно обновлять, см. в разделе "Разрешения пользователей по умолчанию во внешних клиентах ".
  • Для синхронизированных пользователей возможность обновления некоторых свойств дополнительно определяется источником прав доступа и тем, включена ли синхронизация.

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

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

Разрешения

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

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

Разрешения для определенных сценариев

  • User.ReadWrite — это разрешение с наименьшими привилегиями на обновление сведений для вошедшего пользователя.
  • Личная учетная запись Майкрософт должна быть привязана к клиенту Microsoft Entra, чтобы обновить профиль с использованием делегированного разрешения User.ReadWrite в личной учетной записи Майкрософт.
  • Чтобы обновить свойство employeeLeaveDateTime :
    • В сценариях с делегированным доступом администратору требуется роль глобального администратора . Приложению должны быть предоставлены делегированные разрешения User.Read.All и User-LifeCycleInfo.ReadWrite.All .
    • В сценариях, предназначенных только для приложения с разрешениями Microsoft Graph, приложению должны быть предоставлены разрешения User.Read.All и User-LifeCycleInfo.ReadWrite.All .
  • Чтобы обновить свойство customSecurityAttributes , выполните следующие действия.
    • В делегированных сценариях администратору должна быть назначена роль администратора назначения атрибутов , а приложению должно быть предоставлено разрешение CustomSecAttributeAssignment.ReadWrite.All .
    • В сценариях, предназначенных только для приложения с разрешениями Microsoft Graph, приложению должно быть предоставлено разрешение CustomSecAttributeAssignment.ReadWrite.All .
  • User-Mail.ReadWrite.All — это разрешение с наименьшими привилегиями для обновления свойства otherMails .
  • User-PasswordProfile.ReadWrite.All — это разрешение с наименьшими правами доступа на обновление свойства passwordProfile .
  • User-Phone.ReadWrite.All — это разрешение с наименьшими привилегиями для обновления свойств businessPhones и mobilePhone .
  • User.EnableDisableAccount.All + User.Read.All — это сочетание разрешений с наименьшим объемом привилегий для обновления свойства accountEnabled .
  • User.ManageIdentities.Allтребуется для обновления свойства Identities .

HTTP-запрос

Обновите собственные свойства пользователя.

Примечание.

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

PATCH /me

Обновление свойств другого пользователя.

PATCH /users/{id | userPrincipalName}

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

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

Текст запроса

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

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

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

Свойство Тип Описание
aboutMe String Свободное текстовое поле, где пользователь может рассказать о себе.
accountEnabled Логический Если учетная запись обеспечена — true, в противном случае — false. Это свойство обязательно указывать при создании пользователя.
  • User.EnableDisableAccount.All + User.Read.All — это наименее привилегированное сочетание разрешений, необходимых для обновления этого свойства.
  • В сценариях с делегированными правами администратор привилегированной проверки подлинности — это роль с наименьшими правами доступа, которой разрешено обновлять это свойство для всех администраторов в клиенте. Как правило, пользователь, выполнивший вход, должен иметь более высокую роль администратора, как указано в разделе Кто может выполнять конфиденциальные действия.
  • В сценариях, где работает только приложение, в дополнение к разрешениям Microsoft Graph приложению должна быть назначена роль администратора с более высокими привилегиями, как указано в разделе Кто может выполнять конфиденциальные действия.
  • ageGroup ageGroup Устанавливает возрастную группу пользователя. Допустимые значения: null, Minor, NotAdultи Adult. Дополнительные сведения см. в разделе Определения свойств юридических возрастных групп.
    birthday DateTimeOffset День рождения пользователя. Тип Timestamp представляет сведения о времени и дате с использованием формата ISO 8601 (всегда применяется формат UTC). Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z.
    businessPhones Коллекция строк Номера телефонов пользователя. ПРИМЕЧАНИЕ. Хотя это строковая коллекция, для нее можно задать только одно число. User-Phone.ReadWrite.All — это разрешение с наименьшими правами доступа для обновления этого свойства.
    city String Город, в котором находится пользователь.
    CompanyName String Название компании, с которой связан пользователь. Это свойство может быть полезно для описания компании внешнего пользователя. Максимальная длина: 64 символа.
    consentProvidedForMinor consentProvidedForMinor Устанавливает, получено ли согласие для несовершеннолетних. Допустимые значения: null, Granted, Denied и NotRequired. Дополнительные сведения см. в разделе Определения свойств юридических возрастных групп.
    country String Страна или регион, в котором находится пользователь, например US или UK.
    customSecurityAttributes customSecurityAttributeValue Открытый сложный тип, который содержит значение настраиваемого атрибута безопасности, назначенного объекту каталога.
  • Чтобы обновить это свойство в делегированных сценариях, вызывающему субъекту должна быть назначена роль администратора назначения атрибутов, а приложению должно быть предоставлено делегированное разрешение CustomSecAttributeAssignment.ReadWrite.All .
  • Чтобы обновить это свойство в сценариях, предназначенных только для приложений с разрешениями Microsoft Graph, приложению должно быть предоставлено разрешение приложения CustomSecAttributeAssignment.ReadWrite.All .
  • department String Название отдела, в котором работает пользователь.
    displayName String Имя пользователя, отображаемое в адресной книге. Обычно это сочетание имени, отчества и фамилии пользователя. Это свойство требуется при создании пользователя и не может быть очищено во время обновления.
    employeeId String Идентификатор сотрудника, назначенный пользователю организацией. Максимальная длина составляет 16 символов.
    employeeType String Фиксирует тип корпоративного работника. Например, Employee, Contractor, Consultant или Vendor. Возвращается только с помощью оператора $select.
    givenName; String Простое имя пользователя.
    employeeHireDate DateTimeOffset Дата найма пользователя. Тип Timestamp представляет сведения о времени и дате с использованием формата ISO 8601 (всегда применяется формат UTC). Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z.
    employeeLeaveDateTime DateTimeOffset Дата и время, когда пользователь покинул или покинет организацию. Тип метки времени представляет сведения о дате и времени в формате ISO 8601 и всегда имеет формат UTC. Например, значение полуночи 1 января 2014 г. в формате UTC: 2014-01-01T00:00:00Z.
  • Чтобы обновить это свойство, вызывающему приложению должны быть назначены разрешения User-LifeCycleInfo.Read.All и User.Read.All .
  • Чтобы обновить это свойство в делегированных сценариях, администратору необходима роль глобального администратора.
  • employeeOrgData employeeOrgData Представляет данные организации (например, подразделение и центр затрат), связанные с пользователем. Включение обоих значений свойств при обновлении employeeOrgData; Если они отсутствуют, система устанавливает для них значение null.
    identities Коллекция objectIdentity Представляет удостоверения, которые можно использовать для входа в учетную запись пользователя. Удостоверение может предоставляться корпорацией Майкрософт, организациями или поставщиками удостоверений социальных сетей, такими как Facebook, Google и Майкрософт, и привязывается к учетной записи пользователя. Любое обновление удостоверений заменяет всю коллекцию, и необходимо предоставить удостоверение userPrincipalName signInType в коллекции.

    ПРИМЕЧАНИЕ. Добавление локальной учетной записи B2C в существующий объект пользователя не допускается, если только объект пользователя уже не содержит удостоверение локальной учетной записи.
    interests; Коллекция строк Список интересов пользователя.
    jobTitle String Должность пользователя.
    mail String SMTP-адрес пользователя, например jeff@contoso.com. Изменения в этом свойстве также обновляют коллекцию proxyAddresses пользователя, чтобы включить значение в качестве SMTP-адреса. Для учетных записей Azure AD B2C это свойство может обновляться только 10 раз с уникальными SMTP-адресами. Не удается обновить до null.
    mailNickname String Почтовый псевдоним для пользователя. Это свойство должно быть указано при создании пользователя.
    mobilePhone String Основной сотовый телефон пользователя.
  • User-Phone.ReadWrite.All — это разрешение с наименьшими правами доступа для обновления этого свойства.
  • В сценариях с делегированными правами администратор привилегированной проверки подлинности — это роль с наименьшими правами доступа, которой разрешено обновлять это свойство для всех администраторов в клиенте. Как правило, пользователь, выполнивший вход, должен иметь более высокую роль администратора, как указано в разделе Кто может выполнять конфиденциальные действия.
  • В сценариях, где работает только приложение, в дополнение к разрешениям Microsoft Graph приложению должна быть назначена роль администратора с более высокими привилегиями, как указано в разделе Кто может выполнять конфиденциальные действия.
  • mySite String URL-адрес личного сайта пользователя.
    officeLocation String Расположение офиса на месте работы пользователя.
    onPremisesExtensionAttributes onPremisesExtensionAttributes Содержит свойства extensionAttribute 1–15 для пользователя. Отдельные атрибуты расширения нельзя выбрать или отфильтровать. Для пользователей onPremisesSyncEnabled исходным центром управления для этого набора свойств является локальная среда, и он предназначен только для чтения. Эти атрибуты расширения также называются настраиваемыми атрибутами 1–15 Exchange.
    onPremisesImmutableId String Это свойство используется для связывания учетной записи пользователя локальной службы Active Directory с объектом пользователя Microsoft Entra. Это свойство необходимо указывать при создании новой учетной записи пользователя в Graph, если используется федеративный домен для свойства userPrincipalName (UPN) пользователя. Важно! При $ указании этого свойства нельзя использовать символы " и _ ".
    otherMails Коллекция строк Список дополнительных адресов электронной почты для пользователя. Например: ["bob@contoso.com", "Robert@fabrikam.com"]. Чтобы обновить это свойство, передайте все адреса электронной почты, которые должны быть у пользователя. В противном случае существующие значения перезаписываются указанными. Может хранить до 250 значений, каждое с ограничением в 250 символов.

  • User-Mail.ReadWrite.All является наименее привилегированным разрешением для обновления этого свойства.
  • В сценариях с делегированными правами администратор привилегированной проверки подлинности — это роль с наименьшими правами доступа, которой разрешено обновлять это свойство для всех администраторов в клиенте. Как правило, пользователь, выполнивший вход, должен иметь более высокую роль администратора, как указано в разделе Кто может выполнять конфиденциальные действия.
  • В сценариях, где работает только приложение, в дополнение к разрешениям Microsoft Graph приложению должна быть назначена роль администратора с более высокими привилегиями, как указано в разделе Кто может выполнять конфиденциальные действия.
  • passwordPolicies String Задает политики паролей для пользователя. Это свойство представляет собой перечисление с возможным значением DisableStrongPassword. Оно позволяет использовать менее надежные пароли, чем предусмотрено политикой по умолчанию. Вы также можете указать значение DisablePasswordExpiration. Они могут быть указаны вместе; например: DisablePasswordExpiration, DisableStrongPassword.
    passwordProfile passwordProfile Задает профиль пароля для пользователя. Профиль содержит пароль пользователя. Пароль в профиле должен соответствовать минимальным требованиям, указанным в свойстве passwordPolicies. По умолчанию требуется надежный пароль. Рекомендуется всегда устанавливать для forceChangePasswordNextSignIn значение true. Это не может быть использовано для федеративных пользователей.
  • User-PasswordProfile.ReadWrite.All — это разрешение на обновление этого свойства с наименьшими привилегиями.
  • В делегированных сценариях роль администратора пользователя(phrasefix)Microsoft Entra является ролью администратора с наименьшими привилегиями, поддерживаемой для обновления этого свойства для пользователей, не являющихся администраторами. Привилегированная проверка подлинности Администратор — это роль с наименьшими привилегиями, которой разрешено обновлять это свойство для всех администраторов в клиенте. Как правило, пользователь, выполнивший вход, должен иметь более высокую роль администратора, как указано в разделе Кто может сбрасывать пароли.
  • В сценариях, где работает только приложение, вызывающему приложению должно быть назначено поддерживаемое разрешение и, по крайней мере, роль администратора пользователя(phrasefix)Microsoft Entra.
  • pastProjects Коллекция строк Список предыдущих проектов пользователя.
    postalCode String Почтовый индекс адреса пользователя. Формат почтового индекса зависит от страны или региона пользователя. В США для этого атрибута используется ZIP-код.
    preferredLanguage String Предпочитаемый язык для пользователя. Он должен быть представлен в формате ISO 639-1, например en-US.
    responsibilities; Коллекция строк Список обязанностей пользователя.
    schools Коллекция строк Список для пользователя с перечислением учебных заведений, которые он посещал.
    skills Коллекция строк Список навыков пользователя.
    state String Область, республика, край или округ в адресе пользователя.
    streetAddress String Почтовый адрес места работы пользователя.
    surname String Фамилия пользователя.
    usageLocation String Двухбуквенный код страны (по стандарту ISO 3166). Требуется для пользователей, которым будут назначены лицензии в соответствии с юридическим требованием о проверке доступности служб в странах / регионах. Примеры: US, JP и GB. Значение null не допускается.
    userPrincipalName String Имя участника-пользователя. UPN — это имя для входа пользователя в интернет-стиле на основе интернет-стандарта RFC 822. В соответствии с соглашением оно должно указывать на имя пользователя для электронной почты. Общий формат: псевдоним@домен. При этом домен должен входить в коллекцию проверенных доменов клиента. Доступ к проверенным доменам клиента можно получить с помощью свойства verifiedDomains объекта organization.
    ПРИМЕЧАНИЕ. Это свойство не может содержать символы диакритических знаков. Разрешены только следующие символы: A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Полный список разрешенных символов см. в политиках имен пользователей.
    userType String Строковое значение, с помощью которого можно классифицировать типы пользователей в каталоге, например Member и Guest.

    Примечание.

    • Следующие свойства не могут быть обновлены приложением только с разрешениями приложения: aboutMe, birthday, employeeHireDate, interests, mySite, pastProjects, responsibilities, schools, и skills.
    • Чтобы обновить следующие свойства, вы должны указать их в своем собственном запросе PATCH, не включая другие свойства: aboutMe, день рождения, интересы, mySite, pastProjects, обязанности, школы и навыки.

    Управление расширениями и связанными данными

    Используйте этот API для управления каталогом, схемой и открытыми расширениями и их данными для пользователей следующим образом:

    • Добавление, обновление и хранение данных в расширениях для существующего пользователя
    • Для расширений каталогов и схем удалите все сохраненные данные, задав для свойства пользовательского расширения значение null. Для открытых расширений используйте API удаления открытых расширений.

    Отклик

    В случае успешного выполнения этот метод возвращает код отклика 204 No Content.

    Пример

    Пример 1. Обновление свойств вошедшего пользователя

    Запрос

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

    PATCH https://graph.microsoft.com/v1.0/me
    Content-type: application/json
    
    {
      "businessPhones": [
        "+1 425 555 0109"
      ],
      "officeLocation": "18/2111"
    }
    

    Отклик

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

    HTTP/1.1 204 No Content
    

    Пример 2. Обновление свойств указанного пользователя

    Запрос

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

    PATCH https://graph.microsoft.com/v1.0/users/{id}
    Content-type: application/json
    
    {
      "businessPhones": [
        "+1 425 555 0109"
      ],
      "officeLocation": "18/2111"
    }
    

    Отклик

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

    HTTP/1.1 204 No Content
    

    Пример 3. Обновление профиля пароля пользователя и сброс его пароля

    В приведенном ниже примере показан запрос на сброс пароля другого пользователя. Рекомендуется всегда устанавливать для forceChangePasswordNextSignIn значение true.

    • User-PasswordProfile.ReadWrite.All — это разрешение с наименьшими правами доступа на обновление свойства passwordProfile .
    • В делегированных сценариях вызывающему приложению должно быть назначено поддерживаемое разрешение, а вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra.
      • Привилегированная проверка подлинности Администратор — это роль с наименьшими привилегиями, которой разрешено обновлять это свойство для всех администраторов в клиенте.
      • Как правило, пользователь, выполнивший вход, должен иметь более высокую роль администратора, как указано в разделе Кто может сбрасывать пароли.
    • В сценариях, предназначенных только для приложений с использованием разрешений приложения Microsoft Graph, User-PasswordProfile.ReadWrite.All является разрешением с наименьшим объемом привилегий.

    Запрос

    PATCH https://graph.microsoft.com/v1.0/users/{id}
    Content-type: application/json
    
    {
      "passwordProfile": {
        "forceChangePasswordNextSignIn": false,
        "password": "xWwvJ]6NMw+bWH-d"
      }
    }
    

    Отклик

    HTTP/1.1 204 No Content
    

    Пример 4. Добавление или обновление значений расширения схемы для пользователя

    Можно обновить или назначить значение одному свойству или всем свойствам в расширении.

    Запрос

    PATCH https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e
    Content-type: application/json
    
    {
        "ext55gb1l09_msLearnCourses": {
            "courseType": "Admin"
        }
    }
    

    Чтобы удалить значение расширения схемы из объекта пользователя, задайте для свойства ext55gb1l09_msLearnCourses значение null.

    Отклик

    HTTP/1.1 204 No Content
    

    Пример 5. Назначение пользователю пользовательского атрибута безопасности со строковым значением

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

    • Набор атрибутов: Engineering
    • Атрибут: ProjectDate
    • Тип данных атрибута: строка
    • Значение атрибута: "2022-10-01"

    Чтобы назначить настраиваемые атрибуты безопасности, вызывающему субъекту должна быть присвоена роль администратора назначения атрибутов и должно быть предоставлено разрешение CustomSecAttributeAssignment.ReadWrite.All.

    Примеры назначений пользовательских атрибутов безопасности см. в разделе Примеры: Назначение, обновление, перечисление или удаление назначений пользовательских атрибутов безопасности с помощью Microsoft API Graph.

    Запрос

    PATCH https://graph.microsoft.com/v1.0/users/{id}
    Content-type: application/json
    
    {
        "customSecurityAttributes":
        {
            "Engineering":
            {
                "@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
                "ProjectDate":"2022-10-01"
            }
        }
    }
    

    Отклик

    HTTP/1.1 204 No Content