Partager via


Upsert servicePrincipal

Espace de noms: microsoft.graph

Créez un objet servicePrincipal s’il n’existe pas ou mettez à jour les propriétés d’un objet servicePrincipal existant.

Importante

L’ajout de passwordCredential lors de la création de servicePrincipals n’est pas pris en charge. Utilisez la méthode addPassword pour ajouter des mots de passe ou des clés secrètes pour servicePrincipal.

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

Pour les applications multilocataires, l’utilisateur appelant doit également avoir au moins l’un des rôles Microsoft Entra suivants :

  • Administrateur de l'application
  • Administrateur de l'application cloud

Pour les applications monolocataires où l’utilisateur appelant est un utilisateur non administrateur, mais est le propriétaire de l’application de stockage, l’utilisateur doit avoir le rôle Développeur d’applications .

Requête HTTP

PATCH /servicePrincipals(appId='appId')

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.
Préférence create-if-missing. Requis pour le comportement d’upsert, sinon la requête est traitée comme une opération de mise à jour.

Corps de la demande

Dans le corps de la demande, fournissez une représentation JSON de l’objet servicePrincipal.

Réponse

Si elle réussit, si un servicePrincipal avec appId n’existe pas, cette méthode renvoie un 201 Created code de réponse et un nouvel objet servicePrincipal dans le corps de la réponse.

Si un servicePrincipal avec appId existe déjà, cette méthode met à jour l’objet servicePrincipal et retourne un 204 No Content code de réponse.

Exemples

Exemple 1 : Créer un servicePrincipal s’il n’existe pas

L’exemple suivant crée un servicePrincipal, car il n’existe pas de servicePrincipal avec la valeur appId spécifiée.

Demande

L’exemple suivant illustre une demande.

PATCH https://graph.microsoft.com/v1.0/servicePrincipals(appId='65415bb1-9267-4313-bbf5-ae259732ee12')
Content-type: application/json
Prefer: create-if-missing

{
  "displayName": "My app instance"
}

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#servicePrincipals/$entity",
    "id": "59e617e5-e447-4adc-8b88-00af644d7c92",
    "deletedDateTime": null,
    "accountEnabled": true,
    "appDisplayName": "My App",
    "appId": "65415bb1-9267-4313-bbf5-ae259732ee12",
    "applicationTemplateId": null,
    "appOwnerOrganizationId": "1bc1c026-2f7b-48a5-98da-afa2fd8bc7bc",
    "appRoleAssignmentRequired": false,
    "displayName": "My app instance",
    "errorUrl": null,
    "homepage": null,
    "loginUrl": null,
    "logoutUrl": null,
    "notificationEmailAddresses": [],
    "preferredSingleSignOnMode": null,
    "preferredTokenSigningKeyEndDateTime": null,
    "preferredTokenSigningKeyThumbprint": null,
    "publisherName": "Contoso",
    "replyUrls": [],
    "samlMetadataUrl": null,
    "samlSingleSignOnSettings": null,
    "servicePrincipalNames": [
        "f1bd758f-4a1a-4b71-aa20-a248a22a8928"
    ],
    "signInAudience": "AzureADandPersonalMicrosoftAccount",
    "tags": [],
    "addIns": [],
    "api": {
        "resourceSpecificApplicationPermissions": []
    },
    "appRoles": [],
    "info": {
        "termsOfServiceUrl": null,
        "supportUrl": null,
        "privacyStatementUrl": null,
        "marketingUrl": null,
        "logoUrl": null
    },
    "keyCredentials": [],
    "publishedPermissionScopes": [],
    "passwordCredentials": []
}

Exemple 2 : Mettre à jour un servicePrincipal existant

L’exemple suivant met à jour servicePrincipal, car il existe un servicePrincipal avec la valeur appId spécifiée.

Demande

L’exemple suivant illustre une demande.

PATCH https://graph.microsoft.com/v1.0/servicePrincipals(appId='65415bb1-9267-4313-bbf5-ae259732ee12')
Content-type: application/json
Prefer: create-if-missing

{
  "displayName": "My app instance"
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content