Создание 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. Обязательно.

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

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

В следующей таблице перечислены свойства, необходимые при создании 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, иногда идентификатор с разделителем двоеточием, иногда произвольные строки. Это значение должно соответствовать утверждению sub в токене, представленном для 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"
    ]
}