Partager via


application : addKey

Espace de noms: microsoft.graph

Ajouter des informations d’identification de clé à une application. Cette méthode, ainsi que removeKey , peut être utilisée par une application pour automatiser le déploiement de ses clés arrivant à expiration.

Remarque

Les opérations Créer une application et Mettre à jour une application peuvent continuer à être utilisées pour ajouter et mettre à jour des informations d’identification de clé pour n’importe quelle application avec ou sans contexte d’utilisateur.

Vous devez uniquement fournir la valeur de clé publique lors de l’ajout d’informations d’identification de certificat à votre application. L’ajout d’un certificat de clé privée à votre application risque de compromettre l’application.

Dans le cadre de la validation de la demande pour cette méthode, une preuve de possession d’une clé existante est vérifiée avant que l’action puisse être effectuée.

Les applications qui n’ont aucun certificat valide existant (aucun certificat n’a encore été ajouté ou tous les certificats ont expiré) ne pourront pas utiliser cette action de service. Vous pouvez utiliser l’opération de Mise à jour de l’application pour effectuer une mise à jour à la place.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) Application.ReadWrite.All Directory.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application Application.ReadWrite.OwnedBy Application.ReadWrite.OwnedBy, Application.ReadWrite.All, Directory.ReadWrite.All

Remarque

Une application n’a pas besoin d’autorisation spécifique pour déployer ses propres clés.

Requête HTTP

Vous pouvez traiter l’application à l’aide de son id ou de son id d’application. id et appId sont respectivement appelés ID d’objet et ID d’application (client) dans les inscriptions d’applications dans le centre d'administration Microsoft Entra.

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

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
Content-Type application/json. Obligatoire.

Corps de la demande

Dans le corps de la demande, fournissez les propriétés requises suivantes.

Propriété Type Description
keyCredential keyCredential Informations d’identification de la nouvelle clé d’application à ajouter. Le type, l’utilisation et la clé sont des propriétés requises pour cette utilisation. Les types de clés pris en charge sont les suivants :
  • AsymmetricX509Cert: l’utilisation doit être Verify.
  • X509CertAndPassword: l’utilisation doit être Sign
passwordCredential passwordCredential Seul secretText doit être défini, qui doit contenir le mot de passe de la clé. Cette propriété est requise uniquement pour les clés de type X509CertAndPassword. Définissez-le sur null dans le cas contraire.
Preuve Chaîne Jeton JWT auto-signé utilisé comme preuve de possession des clés existantes. Ce jeton JWT doit être signé avec une clé privée qui correspond à l’un des certificats valides existants associés à l’application. Le jeton doit contenir les revendications suivantes :
  • aud : l’audience doit être 00000002-0000-0000-c000-000000000000.
  • iss : l’émetteur doit être l’ID de l’application qui lance la demande.
  • nbf : Pas avant l’heure.
  • exp : l’heure d’expiration doit être la valeur nbf + 10 minutes.

Pour connaître les étapes de génération de ce jeton de preuve de possession, consultez Génération de jetons de preuve de possession pour les clés propagées. Pour plus d’informations sur les types de revendications, consultez Charge utile des revendications.

Réponse

Si elle réussit, cette méthode renvoie un 200 OK code de réponse et un nouvel objet keyCredential dans le corps de la réponse.

Exemples

Exemple 1 : Ajouter de nouvelles informations d’identification de clé à une application

Demande

L’exemple suivant illustre une demande.

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

Réponse

L’exemple suivant illustre la réponse.

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

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

Exemple 2 : Ajouter des informations d’identification de clé et un mot de passe associé pour la clé

Demande

L’exemple suivant illustre une demande.

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

Réponse

L’exemple suivant illustre la réponse.

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

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