Создание federatedIdentityCredential

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

Важно!

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

Создайте новый объект federatedIdentityCredential для приложения или agentIdentityBlueprint.

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

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

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

Разрешения

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

Разрешения для приложения

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

Важно!

Для делегированного доступа с использованием рабочих или учебных учетных записей пользователю, выполнившего вход, необходимо назначить поддерживаемую роль Microsoft Entra или пользовательскую роль, которая предоставляет разрешения, необходимые для этой операции. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:

  • Пользователь, не являющийся членом-администратором, с разрешениями пользователя по умолчанию — для приложений, которыми он владеет
  • Разработчик приложений — для приложений, владеемых им
  • Администратор облачных приложений
  • Администратор приложений

Разрешения для agentIdentityBlueprint

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

Важно!

  • Субъект, создающий схему или субъект схемы, назначается в качестве владельца. Владельцы могут создавать удостоверения агентов и изменять только те ресурсы, которыми они владеют, даже если им не назначена роль идентификатора агента.
  • Чтобы пользователи, не являющиеся владельцем, вызывали этот API в делегированных сценариях с использованием рабочих или учебных учетных записей, администратору должна быть назначена поддерживаемая роль Microsoft Entra. Эта операция поддерживает следующие встроенные роли, которые предоставляют только минимальные необходимые привилегии:
    • Администратор идентификатора агента.
    • Разработчик идентификатора агента. Создание схем удостоверений агента и субъектов схемы.

HTTP-запрос

Для приложения:

  • Вы можете обратиться к приложению, используя его идентификатор или appId. Id и appId называются идентификатором объекта и идентификатором приложения (клиента) соответственно в регистрациях приложений в Центр администрирования Microsoft Entra.
POST /applications/{id}/federatedIdentityCredentials
POST /applications(appId='{appId}')/federatedIdentityCredentials

Для agentIdentityBlueprint:

POST /applications/{id}/microsoft.graph.agentIdentityBlueprint/federatedIdentityCredentials

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

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

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

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

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

Свойство Тип Описание
Аудитории Коллекция строк Обязательно. Аудитория, которая может отображаться во внешнем маркере. Это поле является обязательным и должно иметь значение api://AzureADTokenExchange для Microsoft Entra ID. В нем говорится, что платформа удостоверений Майкрософт должны принимать в утверждении aud во входящем маркере. Это значение представляет Microsoft Entra ID во внешнем поставщике удостоверений и не имеет фиксированного значения для всех поставщиков удостоверений. Возможно, вам потребуется создать новую регистрацию приложения в поставщике удостоверений, чтобы служить аудиторией этого маркера. Это поле может принимать только одно значение и имеет ограничение в 600 символов.
claimsMatchingExpression FederatedIdentityExpression Допускается значение null. null Значение по умолчанию , если не задано. Включает использование выражений, соответствующих утверждениям, в отношении указанных утверждений. Если определен параметр claimsMatchingExpression , субъект должен иметь значение null. Список поддерживаемых синтаксиса выражений и утверждений см. в справочнике по гибкому FIC.
Эмитента String Обязательный. URL-адрес внешнего поставщика удостоверений и должен соответствовать утверждению издателя для внешнего токена, который обменивается. Сочетание значений издателя и субъекта должно быть уникальным в приложении. Он имеет ограничение в 600 символов.
name String Обязательный. Уникальный идентификатор для учетных данных федеративного удостоверения, который имеет ограничение в 120 символов и должен быть понятным для URL-адреса. Он неизменяем после создания.
subject String Допускается значение null. null Значение по умолчанию , если не задано. Идентификатор внешней рабочей нагрузки программного обеспечения в пределах внешнего поставщика удостоверений. Как и значение аудитории, оно не имеет фиксированного формата, так как каждый поставщик удостоверений использует свой собственный — иногда GUID, иногда идентификатор с разделителями двоеточием, иногда произвольные строки. Здесь значение должно совпадать с вложенным утверждением в токене, представленном Microsoft Entra ID. Он имеет ограничение в 600 символов. Сочетание издателя и субъекта должно быть уникальным в приложении. Если задан субъект , claimsMatchingExpression должен иметь значение null.

Отклик

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

Примеры

Пример 1. Создание учетных данных федеративного удостоверения для приложения

Запрос

POST https://graph.microsoft.com/beta/applications/bcd7c908-1c4d-4d48-93ee-ff38349a75c8/federatedIdentityCredentials/
Content-Type: application/json

{
    "name": "testing02",
    "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",
    "@odata.id": "https://graph.microsoft.com/v2/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/directoryObjects/$/Microsoft.DirectoryServices.Application('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "name": "testing02",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "description": null,
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Пример 2. Создание учетных данных федеративного удостоверения для agentIdentityBlueprint

Запрос

POST https://graph.microsoft.com/beta/applications/bcd7c908-1c4d-4d48-93ee-ff38349a75c8/microsoft.graph.agentIdentityBlueprint/federatedIdentityCredentials/
Content-Type: application/json

{
    "name": "testing02",
    "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",
    "@odata.id": "https://graph.microsoft.com/v2/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/directoryObjects/$/Microsoft.DirectoryServices.Application('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "name": "testing02",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "description": null,
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}