Compartir a través de


application: addKey

Espacio de nombres: microsoft.graph

Agregue una credencial de clave a una aplicación. Una aplicación puede usar este método, junto con removeKey , para automatizar la puesta en marcha de las claves que expiran.

Nota:

Las operaciones Crear aplicación y Actualizar aplicación pueden seguir utilizándose para agregar y actualizar credenciales de clave para cualquier aplicación con o sin el contexto de un usuario.

Solo debe proporcionar el valor de clave pública al agregar una credencial de certificado a la aplicación. Agregar un certificado de clave privada a la aplicación pone en peligro la aplicación.

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.

Las aplicaciones que no tienen ningún certificado válido existente (aún no se han agregado certificados o todos los certificados han expirado), no podrán usar esta acción de servicio. En su lugar, puede usar la operación Actualizar aplicación para realizar una actualización.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

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

Nota:

Una aplicación no necesita ningún permiso específico para lanzar sus propias claves.

Solicitud HTTP

Puede dirigirse a la aplicación 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 /applications/{id}/addKey
POST /applications(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 de aplicación que se va a agregar. El tipo, el uso y la clave son propiedades necesarias para este uso. Los tipos de clave admitidos son:
  • AsymmetricX509Cert: el uso debe ser Verify.
  • X509CertAndPassword: el uso debe ser Sign
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 a la aplicación. El token debe contener las siguientes notificaciones:
  • aud: el público debe ser 00000002-0000-0000-c000-000000000000.
  • iss: El emisor debe ser el identificador de la aplicación que inicia la solicitud.
  • nbf: no antes de la hora.
  • exp: el tiempo de expiración debe ser el valor de nbf + 10 minutos.

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. Para obtener más información sobre los tipos de notificación, vea Carga de notificaciones.

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: Agregar una nueva credencial de clave a una aplicación

Solicitud

En el ejemplo siguiente se muestra la solicitud.

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..."
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

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

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

Ejemplo 2: Agregar 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/v1.0/applications/{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/v1.0/$metadata#microsoft.graph.keyCredential"
}