servicePrincipal : addKey
Espace de noms: microsoft.graph
Importante
Les API sous la version /beta
dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Ajoute des informations d’identification de clé à un servicePrincipal. Cette méthode, ainsi que removeKey , peut être utilisée par un servicePrincipal pour automatiser le déploiement de ses clés arrivant à expiration.
Remarque
Les opérations Create servicePrincipal et Update servicePrincipal peuvent continuer à être utilisées pour ajouter et mettre à jour les informations d’identification de clé pour n’importe quel servicePrincipal avec ou sans contexte d’utilisateur.
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 ServicePrincipals qui n’ont aucun certificat valide existant (c’est-à-dire qu’aucun certificat n’a encore été ajouté ou que tous les certificats ont expiré), ne pourront pas utiliser cette action de service. Update servicePrincipal peut être utilisé pour effectuer une mise à jour à la place.
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 |
Requête HTTP
Vous pouvez adresser le principal de service à l’aide de son id ou de son appId. 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 /servicePrincipals/{id}/addKey
POST /servicePrincipals(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 | Nouvelles informations d’identification de clé servicePrincipal à 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 :
|
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 au servicePrincipal. Le jeton doit contenir les revendications suivantes :
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. |
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 : Ajout d’une nouvelle clé d’informations d’identification à un servicePrincipal
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/beta/servicePrincipals/{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/beta/$metadata#microsoft.graph.keyCredential"
}
Exemple 2 : Ajout d’informations d’identification de clé et d’un mot de passe associé pour la clé
Demande
L’exemple suivant illustre une demande.
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..."
}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.keyCredential"
}