Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Обновление свойств объекта servicePrincipal. Этот API также может обновлять объект agentIdentityBlueprintPrincipal , если свойству @odata.type присвоено значение #microsoft.graph.agentIdentityBlueprintPrincipal, или объект agentIdentity , если свойству @odata.type присвоено значение #microsoft.graph.agentIdentity.
Важно!
Использование метода PATCH для настройки passwordCredential не поддерживается. Используйте методы addPassword и removePassword, чтобы обновить пароль или секрет для servicePrincipal.
Субъекты-службы наследуют определенные свойства от связанных регистраций приложений. Эти свойства синхронизируются с момента регистрации приложения, но синхронизация не является немедленной или непрерывной. Иногда обновление субъекта-службы может вызвать в каталоге обновление свойств из регистрации приложения, что приводит к обновлениям, которые не были частью исходного запроса.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальное обслуживание | Правительство США L4 | Правительство США L5 (DOD) | Китай, обслуживаемый 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более высокий уровень привилегий или разрешений, только если это требуется вашему приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в статье Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
| Тип разрешения | Разрешения с наименьшим объемом привилегий | Разрешения с более высоким уровнем привилегий |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | Application.ReadWrite.All | AgentIdentity.ReadWrite.All, Directory.ReadWrite.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
| Приложение | Application.ReadWrite.OwnedBy | AgentIdentity.ReadWrite.All, Application.ReadWrite.All, Directory.ReadWrite.All |
Важно!
Для делегированного доступа с использованием рабочих или учебных учетных записей администратору должна быть назначена поддерживаемая роль Microsoft Entra или пользовательская роль, предоставляющая разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют лишь наименьшее количество необходимых прав:
- Для многотенантных приложений:
- Администратор приложения
- Администратор облачного приложения
- Для однотенантных приложений, где вызывающий пользователь не является администратором, но является владельцем резервного приложения, у пользователя должна быть роль разработчика приложений .
В делегированных сценариях с использованием рабочих или учебных учетных записей поддерживаются следующие привилегии для управления удостоверениями агентов и субъектами-схемами удостоверений агентов:
- Пользователь, вошедший в систему, является владельцем или
- Вошедшему пользователю назначается роль администратора идентификатора агента .
Разрешения для определенных сценариев
- Чтобы обновить свойство customSecurityAttributes , выполните следующие действия.
- В делегированных сценариях администратору должна быть назначена роль администратора назначения атрибутов , а приложению должно быть предоставлено делегированное разрешение CustomSecAttributeAssignment.ReadWrite.All .
- В сценариях, предназначенных только для приложений с использованием разрешений Microsoft Graph, приложению необходимо предоставить разрешение приложения CustomSecAttributeAssignment.ReadWrite.All .
HTTP-запрос
К субъекту-службе можно обратиться с помощью его идентификатора или идентификатора AppId. id и appId называются идентификатором объекта и идентификатором приложения (клиента) соответственно при регистрации приложений в Центре администрирования Microsoft Entra.
PATCH /servicePrincipals/{id}
PATCH /servicePrincipals(appId='{appId}')
Заголовки запросов
| Имя | Описание |
|---|---|
| Авторизация | Bearer {token}. Обязательно. Дополнительные сведения об аутентификации и авторизации. |
| Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса укажите значения для соответствующих полей, которые необходимо обновить. Существующие свойства, не включенные в текст запроса, сохраняют свои прежние значения или пересчитываются на основе изменений других значений свойств. Для достижения оптимальной производительности не следует включать существующие значения, которые не изменились.
| Свойство | Тип | Описание |
|---|---|---|
| accountEnabled | Boolean | Значение true, если учетная запись субъекта-службы включена. В противном случае используется значение false. |
| addIns | addIn | Определяет пользовательское поведение, которое служба может использовать для вызова приложения в определенных контекстах. Например, приложения, которые способны визуализировать файловые потоки, могут установить свойство addIns для его функции "FileHandler". Это позволяет службам, таким как Microsoft 365, вызывать приложение в контексте документа, над которым работает пользователь. |
| alternativeNames | Коллекция строк | Используется для получения субъектов-служб по подписке, идентификации группы ресурсов и полных идентификаторов ресурсов для управляемых удостоверений. |
| appRoleAssignmentRequired | Boolean | Указывает, требуется ли appRoleAssignment пользователю или группе, прежде чем Microsoft Entra ID выдаст пользователю или маркер доступа приложению. Значение null не допускается. |
| appRoles | Коллекция appRole | Роли приложения, предоставляемые связанным приложением. Дополнительные сведения см. в разделе определения свойства appRoles ресурса приложения . Значение null не допускается. |
| customSecurityAttributes | customSecurityAttributeValue | Открытый сложный тип, который содержит значение настраиваемого атрибута безопасности, назначенного объекту каталога. |
| displayName | String | Отображаемое имя для субъекта-службы. |
| homepage | String | Главная или начальная страница приложения. |
| keyCredentials | Коллекция keyCredential | Коллекция ключевых учетных данных, связанных с субъектом-службой. Значение null не допускается. |
| logoutUrl | String | Указывает URL-адрес, который будет использоваться службой авторизации Майкрософт для выхода пользователя с помощью протоколов выхода front-channel, back-channel или SAML. |
| oauth2PermissionScopes | Коллекция permissionScope | Области разрешений OAuth 2.0, предоставляемые связанным приложением. Дополнительные сведения см. в разделе определения свойства oauth2PermissionScopes ресурса приложения . Значение null не допускается. |
| preferredSingleSignOnMode | Строка | Указывает режим единого входа, настроенный для этого приложения. Microsoft Entra ID использует предпочтительный режим единого входа для запуска приложения из Microsoft 365 или портала «Мои приложения». Поддерживаемые значения: password, saml, external и oidc. |
| replyUrls | Коллекция String | URL-адреса, которым отправляются маркеры пользователей для входа с помощью связанного приложения, или URI перенаправления, которым отправляются коды авторизации OAuth 2.0 и маркеры доступа для связанного приложения. Значение null не допускается. |
| ServicePrincipalNames | Коллекция объектов string | Содержит список объектов identifiersUris, скопированных из связанного объекта application. К гибридным приложениям можно добавить дополнительные значения. Эти значения можно использовать для определения разрешений, предоставляемых этим приложением в Microsoft Entra ID. Пример.
Оператор "any" требуется для выражений фильтров, применяемых к многозначным свойствам. Значение null не допускается. |
| tags | Коллекция String | Настраиваемые строки, которые можно использовать для классификации и определения приложения. Значение null не допускается. |
| tokenEncryptionKeyId | String | Задает значение открытого ключа keyId из коллекции keyCredentials. Если конфигурация настроена, Microsoft Entra ID выдает маркеры для этого приложения, зашифрованные с использованием ключа, указанного этим свойством. Код приложения, получающий зашифрованный маркер, должен использовать соответствующий закрытый ключ для расшифровки маркера, прежде чем его можно будет применить для пользователя, выполнившего вход. |
Отклик
В случае успеха этот метод возвращает код отклика 204 No Content и обновленный объект servicePrincipal в тексте отклика.
Пример
Пример 1. Обновление свойств указанного субъекта-службы
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Content-type: application/json
{
"appRoleAssignmentRequired": true
}
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 204 No Content
Пример 2. Назначение настраиваемого атрибута безопасности со строковым значением субъекту-службе
В следующем примере показано, как назначить субъекту-службе настраиваемый атрибут безопасности со строковым значением.
- Набор атрибутов:
Engineering - Атрибут:
ProjectDate - Тип данных атрибута: строка
- Значение атрибута:
"2022-10-01"
Чтобы назначить настраиваемые атрибуты безопасности, вызывающему субъекту должна быть присвоена роль администратора назначения атрибутов и должно быть предоставлено разрешение CustomSecAttributeAssignment.ReadWrite.All.
Другие подобные примеры для пользователей см. в примерах: Назначение, обновление, перечисление или удаление назначений пользовательских атрибутов безопасности с помощью Microsoft API Graph.
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"ProjectDate":"2022-10-01"
}
}
}
Отклик
Ниже приводится пример отклика.
HTTP/1.1 204 No Content