servicePrincipal: addKey
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Добавляет учетные данные ключа в servicePrincipal. Этот метод вместе с removeKey может использоваться servicePrincipal для автоматизации смены ключей с истекающим сроком действия.
Примечание.
Операции создания servicePrincipal и Update servicePrincipal могут по-прежнему использоваться для добавления и обновления учетных данных ключа для любого servicePrincipal с контекстом пользователя или без нее.
В рамках проверки запроса для этого метода перед выполнением действия проверяется подтверждение владения существующим ключом.
ServicePrincipals, у которых нет существующих действительных сертификатов (т. е. сертификатов еще не добавлено или срок действия всех сертификатов истек), не сможет использовать это действие службы. Вместо этого для выполнения обновления можно использовать servicePrincipal.
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Application.ReadWrite.All | Directory.ReadWrite.All |
Делегированные (личная учетная запись Майкрософт) | Не поддерживается. | Не поддерживается. |
Приложение | Application.ReadWrite.OwnedBy | Application.ReadWrite.All, Directory.ReadWrite.All |
HTTP-запрос
Вы можете обратиться к субъекту-службе, используя его идентификатор или appId. Id и appId называются идентификатором объекта и идентификатором приложения (клиента) соответственно в регистрациях приложений в Центр администрирования Microsoft Entra.
POST /servicePrincipals/{id}/addKey
POST /servicePrincipals(appId='{appId}')/addKey
Заголовки запросов
Имя | Описание |
---|---|
Авторизация | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | application/json. Обязательно. |
Текст запроса
В тексте запроса укажите следующие обязательные свойства.
Свойство | Тип | Описание |
---|---|---|
keyCredential | keyCredential | Новые учетные данные ключа servicePrincipal для добавления.
Тип, использование и ключ являются обязательными свойствами для этого использования. Поддерживаемые типы ключей:
|
passwordCredential | passwordCredential | Необходимо задать только secretText , который должен содержать пароль для ключа. Это свойство требуется только для ключей типа X509CertAndPassword . Присвойте ему значение в null противном случае. |
Доказательство | String | Самозаверяющий токен JWT, используемый в качестве доказательства владения существующими ключами. Этот токен JWT должен быть подписан закрытым ключом, соответствующим одному из существующих допустимых сертификатов, связанных с servicePrincipal. Маркер должен содержать следующие утверждения:
Инструкции по созданию этого маркера владения см. в разделе Создание подтверждения маркеров владения для сменных ключей. |
Отклик
В случае успешного выполнения этот метод возвращает код отклика 200 OK
и новый объект keyCredential в теле отклика.
Примеры
Пример 1. Добавление новых учетных данных ключа в servicePrincipal
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/servicePrincipals/{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/beta/$metadata#microsoft.graph.keyCredential"
}
Пример 2. Добавление учетных данных ключа и связанного пароля для ключа
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/servicePrincipals/{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/beta/$metadata#microsoft.graph.keyCredential"
}