приложение: addKey

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

Добавьте учетные данные ключа в приложение. Этот метод, наряду с removeKey , может использоваться приложением для автоматизации смены ключей с истекающим сроком действия.

Примечание.

Операции создания приложения и обновления приложения могут по-прежнему использоваться для добавления и обновления учетных данных ключа для любого приложения с контекстом пользователя или без нее.

Значение открытого ключа следует указать только при добавлении учетных данных сертификата в приложение. Добавление сертификата закрытого ключа в приложение может поставить его под угрозу.

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

Приложения, у которых нет существующих действительных сертификатов (сертификаты еще не добавлены или срок действия всех сертификатов истек), не смогут использовать это действие службы. Чтобы вместо этого выполнить обновление, вы можете использовать операцию обновления приложения.

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

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

Разрешения

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

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

Примечание.

Приложению не требуется определенное разрешение на свертывку собственных ключей.

HTTP-запрос

Вы можете обратиться к приложению, используя его идентификатор или appId. Id и appId называются идентификатором объекта и идентификатором приложения (клиента) соответственно в регистрациях приложений в Центр администрирования Microsoft Entra.

POST /applications/{id}/addKey
POST /applications(appId='{appId}')/addKey

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

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

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

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

Свойство Тип Описание
keyCredential keyCredential Новые учетные данные ключа приложения для добавления. Тип, использование и ключ являются обязательными свойствами для этого использования. Поддерживаемые типы ключей:
  • AsymmetricX509Cert: использование должно иметь значение Verify.
  • X509CertAndPassword: использование должно быть Sign
passwordCredential passwordCredential Необходимо задать только secretText , который должен содержать пароль для ключа. Это свойство требуется только для ключей типа X509CertAndPassword. Присвойте ему значение в null противном случае.
Доказательство String Самозаверяющий токен JWT, используемый в качестве доказательства владения существующими ключами. Этот токен JWT должен быть подписан закрытым ключом, соответствующим одному из существующих действительных сертификатов, связанных с приложением. Маркер должен содержать следующие утверждения:
  • aud: аудитория должна быть 00000002-0000-0000-c000-000000000000.
  • iss: издатель должен быть идентификатором приложения , которое инициирует запрос.
  • nbf: Не раньше времени.
  • exp: время окончания срока действия должно иметь значение nbf + 10 минут.

Инструкции по созданию этого маркера владения см. в разделе Создание подтверждения маркеров владения для сменных ключей. Дополнительные сведения о типах утверждений см. в разделе Полезные данные утверждений.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 200 OK и новый объект keyCredential в теле отклика.

Примеры

Пример 1. Добавление новых учетных данных ключа в приложение

Запрос

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

POST https://graph.microsoft.com/v1.0/applications/{id}/addKey
Content-type: application/json

{
    "keyCredential": {
        "type": "AsymmetricX509Cert",
        "usage": "Verify",
        "key": "MIIDYDCCAki..."
    },
    "passwordCredential": null,
    "proof":"eyJ0eXAiOiJ..."
}

Отклик

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

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.keyCredential"
}

Пример 2. Добавление учетных данных ключа и связанного пароля для ключа

Запрос

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

POST https://graph.microsoft.com/v1.0/applications/{id}/addKey
Content-type: application/json

{
    "keyCredential": {
        "type": "X509CertAndPassword",
        "usage": "Sign",
        "key": "MIIDYDCCAki..."
    },
    "passwordCredential": {
        "secretText": "MKTr0w1..."
    },
    "proof":"eyJ0eXAiOiJ..."
}

Отклик

Ниже приводится пример отклика.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.keyCredential"
}