Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пространство имен: microsoft.graph
Важно!
API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создайте новый объект federatedIdentityCredential для приложения или agentIdentityBlueprint , если он не существует, или обновите свойства существующего объекта federatedIdentityCredential .
Настроив отношение доверия между регистрацией приложения Microsoft Entra или agentIdentityBlueprint и поставщиком удостоверений для вычислительной платформы, вы можете использовать маркеры, выданные этой платформой, для проверки подлинности с помощью платформа удостоверений Майкрософт и вызова API в экосистеме Майкрософт. В приложение или agentIdentityBlueprint можно добавить не более 20 объектов.
Этот API доступен в следующих национальных облачных развертываниях.
| Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Разрешения для приложения
| Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | Application.ReadWrite.All | Недоступно. |
| Делегированные (личная учетная запись Майкрософт) | Application.ReadWrite.All | Недоступно. |
| Приложение | Application.ReadWrite.OwnedBy | Application.ReadWrite.All |
Важно!
Для делегированного доступа с использованием рабочих или учебных учетных записей пользователю, выполнившего вход, необходимо назначить поддерживаемую роль Microsoft Entra или пользовательскую роль, которая предоставляет разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:
- Пользователь, не являющийся членом-администратором, с разрешениями пользователя по умолчанию — для приложений, которыми он владеет
- Разработчик приложений — для приложений, владеемых им
- Администратор облачных приложений
- Администратор приложений
Разрешения для agentIdentityBlueprint
| Тип разрешения | Разрешение с наименьшими привилегиями | Более высокие привилегированные разрешения |
|---|---|---|
| Делегированные (рабочая или учебная учетная запись) | AgentIdentityBlueprint.ReadWrite.All | Directory.ReadWrite.All |
| Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
| Приложение | AgentIdentityBlueprint.ReadWrite.All | Directory.ReadWrite.All |
Важно!
- Субъект, создающий схему или субъект схемы, назначается в качестве владельца. Владельцы могут создавать удостоверения агентов и изменять только те ресурсы, которыми они владеют, даже если им не назначена роль идентификатора агента.
- Чтобы пользователи, не являющиеся владельцем, вызывали этот API в делегированных сценариях с использованием рабочих или учебных учетных записей, администратору должна быть назначена поддерживаемая роль Microsoft Entra. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:
- Администратор идентификатора агента.
- Разработчик идентификатора агента. Создание схем удостоверений агента и субъектов схемы.
HTTP-запрос
Для приложения:
- Вы можете обратиться к приложению, используя его идентификатор или appId. Id и appId называются идентификатором объекта и идентификатором приложения (клиента) соответственно в регистрациях приложений в Центр администрирования Microsoft Entra.
PATCH /applications/{id}/federatedIdentityCredentials(name='{name}')
PATCH /applications(appId='{appId}')/federatedIdentityCredentials(name='{name}')
Для agentIdentityBlueprint:
PATCH /applications/{id}/microsoft.graph.agentIdentityBlueprint/federatedIdentityCredentials(name='{name}')
Заголовки запросов
| Имя | Описание |
|---|---|
| Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
| Content-Type | application/json. Обязательный параметр. |
| Prefer |
create-if-missing. Требуется для поведения upsert, в противном случае запрос обрабатывается как операция обновления. |
Текст запроса
В тексте запроса укажите представление объекта federatedIdentityCredential в формате JSON.
В следующей таблице перечислены свойства, необходимые при создании federatedIdentityCredential. Обратите внимание, что свойство name является обязательным в составе URL-адреса запроса.
| Свойство | Тип | Описание |
|---|---|---|
| Аудитории | Коллекция строк | Аудитория, которая может отображаться во внешнем маркере. Это поле является обязательным и должно иметь значение api://AzureADTokenExchange для Microsoft Entra ID. В нем говорится, что платформа удостоверений Майкрософт должны принимать в утверждении aud во входящем маркере. Это значение представляет Microsoft Entra ID во внешнем поставщике удостоверений и не имеет фиксированного значения для всех поставщиков удостоверений. Возможно, вам потребуется создать новую регистрацию приложения в поставщике удостоверений, чтобы служить аудиторией этого маркера. Это поле может принимать только одно значение и имеет ограничение в 600 символов. Обязательно. |
| claimsMatchingExpression | FederatedIdentityExpression | Допускается значение null.
null Значение по умолчанию , если не задано. Включает использование выражений, соответствующих утверждениям, в отношении указанных утверждений. Если определен параметр claimsMatchingExpression , субъект должен иметь значение null. Список поддерживаемых синтаксиса выражений и утверждений см. в справочнике по гибкому FIC. |
| Эмитента | String | T— URL-адрес внешнего поставщика удостоверений и должен соответствовать утверждению издателя для внешнего токена, который обменивается. Сочетание значений издателя и субъекта должно быть уникальным в приложении. Он имеет ограничение в 600 символов. Обязательно. |
| subject | String | Допускается значение null.
null Значение по умолчанию , если не задано. Идентификатор внешней рабочей нагрузки программного обеспечения в пределах внешнего поставщика удостоверений. Как и значение аудитории, оно не имеет фиксированного формата, так как каждый поставщик удостоверений использует свой собственный — иногда GUID, иногда идентификатор с разделителями двоеточием, иногда произвольные строки. Здесь значение должно совпадать с вложенным утверждением в токене, представленном Microsoft Entra ID. Он имеет ограничение в 600 символов. Сочетание издателя и субъекта должно быть уникальным в приложении. Если задан субъект , claimsMatchingExpression должен иметь значение null. |
Отклик
Если объект приложения с именем не существует, в случае успешного выполнения этот метод возвращает 201 Created код ответа и новый объект federatedIdentityCredential в теле отклика.
Если объект приложения с именем уже существует, этот метод обновляет объект federatedIdentityCredential и возвращает 204 No Content код ответа.
Примеры
Пример 1. Создание нового приложения federatedIdentityCredential для приложения, если оно не существует
В следующем примере создается объект federatedIdentityCredential, так как не существует federatedIdentityCredential с указанным значением имени .
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json
{
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"audiences": [
"api://AzureADTokenExchange"
]
}
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/$entity",
"id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
"name": "testing02fic01-app-65278",
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"description": null,
"audiences": [
"api://AzureADTokenExchange"
]
}
Пример 2. Обновление существующего federatedIdentityCredential для приложения
В следующем примере обновляется federatedIdentityCredential, так как существует federatedIdentityCredential с указанным значением имени .
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json
Prefer: create-if-missing
{
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"audiences": [
"api://AzureADTokenExchange"
]
}
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Пример 3. Создание нового объекта federatedIdentityCredential для agentIdentityBlueprint, если он не существует
В следующем примере создается объект federatedIdentityCredential для agentIdentityBlueprint, так как значение federatedIdentityCredential с указанным значением имени не существует.
Запрос
Ниже показан пример запроса.
PATCH https://graph.microsoft.com/beta/applications(uniqueName='app-65278')/microsoft.graph.agentIdentityBlueprint/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json
{
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"audiences": [
"api://AzureADTokenExchange"
]
}
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#applications('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/$entity",
"id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
"name": "testing02fic01-app-65278",
"issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
"subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
"description": null,
"audiences": [
"api://AzureADTokenExchange"
]
}