servicePrincipal: addKey
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Agrega una credencial de clave a un servicePrincipal. Un servicePrincipal puede usar este método junto con removeKey para automatizar la puesta en marcha de sus claves de expiración.
Nota:
Las operaciones servicePrincipal y Update servicePrincipal se pueden seguir usando para agregar y actualizar credenciales de clave para cualquier servicePrincipal con o sin el contexto de un usuario.
Como parte de la validación de la solicitud para este método, se comprueba una prueba de posesión de una clave existente antes de que se pueda realizar la acción.
ServicePrincipals que no tienen ningún certificado válido existente (es decir, no se ha agregado ningún certificado todavía o todos los certificados han expirado), no podrán usar esta acción de servicio. Update servicePrincipal se puede usar para realizar una actualización en su lugar.
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Tipo de permiso | Permisos con privilegios mínimos | Permisos con privilegios más altos |
---|---|---|
Delegado (cuenta profesional o educativa) | Application.ReadWrite.All | Directory.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | Application.ReadWrite.OwnedBy | Application.ReadWrite.All, Directory.ReadWrite.All |
Solicitud HTTP
Puede dirigirse a la entidad de servicio mediante su id . o appId. id y appId se conocen como id. de objeto y id. de aplicación (cliente), respectivamente, en los registros de aplicaciones en el Centro de administración Microsoft Entra.
POST /servicePrincipals/{id}/addKey
POST /servicePrincipals(appId='{appId}')/addKey
Encabezados de solicitud
Nombre | Descripción |
---|---|
Authorization | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Content-Type | application/json. Obligatorio. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione las siguientes propiedades necesarias.
Propiedad | Tipo | Descripción |
---|---|---|
keyCredential | keyCredential | Nueva credencial de clave servicePrincipal que se va a agregar. El tipo, el uso y la clave son propiedades necesarias para este uso. Los tipos de clave admitidos son:
|
passwordCredential | passwordCredential | Solo es necesario establecer secretText , que debe contener la contraseña de la clave. Esta propiedad solo es necesaria para las claves de tipo X509CertAndPassword . Establézcalo en null en caso contrario. |
Prueba | Cadena | Token JWT autofirmado que se usa como prueba de posesión de las claves existentes. Este token JWT debe estar firmado con una clave privada que corresponda a uno de los certificados válidos existentes asociados con servicePrincipal. El token debe contener las siguientes notificaciones:
Para ver los pasos para generar este token de prueba de posesión, consulte Generación de tokens de prueba de posesión para claves graduales. |
Respuesta
Si se ejecuta correctamente, este método devuelve un 200 OK
código de respuesta y un nuevo objeto keyCredential en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Adición de una nueva credencial de clave a un servicePrincipal
Solicitud
En el ejemplo siguiente se muestra la solicitud.
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/addKey
Content-type: application/json
{
"keyCredential": {
"type": "AsymmetricX509Cert",
"usage": "Verify",
"key": "MIIDYDCCAki..."
},
"passwordCredential": null,
"proof":"eyJ0eXAiOiJ..."
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.keyCredential"
}
Ejemplo 2: Adición de una credencial de clave y una contraseña asociada para la clave
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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..."
}
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.keyCredential"
}