Upsert federatedIdentityCredential

Espace de noms: microsoft.graph

Créez un objet federatedIdentityCredential pour une application s’il existe, ou mettez à jour les propriétés d’un objet federatedIdentityCredential existant. En configurant une relation d’approbation entre votre inscription d’application Microsoft Entra et le fournisseur d’identité pour votre plateforme de calcul, vous pouvez utiliser des jetons émis par cette plateforme pour vous authentifier auprès de Plateforme d'identités Microsoft et appeler des API dans l’écosystème Microsoft. Un maximum de 20 objets peut être ajouté à une application.

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 Non disponible.
Déléguée (compte Microsoft personnel) Application.ReadWrite.All Non disponible.
Application Application.ReadWrite.OwnedBy Application.ReadWrite.All

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.

PATCH /applications/{id}/federatedIdentityCredentials(name='{name}')
PATCH /applications(appId='{appId}')/federatedIdentityCredentials(name='{name}')

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 federatedIdentityCredential . Le tableau suivant répertorie les propriétés requises lorsque vous créez federatedIdentityCredential. Notez que la propriété name est requise dans le cadre de l’URL de la demande.

Propriété Type Description
Public String collection Audience qui peut apparaître dans le jeton externe. Ce champ est obligatoire et doit être défini sur api://AzureADTokenExchange pour Microsoft Entra ID. Il indique ce que Plateforme d'identités Microsoft devez accepter dans la aud revendication dans le jeton entrant. Cette valeur représente Microsoft Entra ID dans votre fournisseur d’identité externe et n’a aucune valeur fixe entre les fournisseurs d’identité. Vous devrez peut-être créer une inscription d’application dans votre fournisseur d’identité pour servir d’audience à ce jeton. Ce champ ne peut accepter qu’une seule valeur et a une limite de 600 caractères. Obligatoire.
Émetteur Chaîne TL’URL du fournisseur d’identité externe et doit correspondre à la revendication de l’émetteur du jeton externe échangé. La combinaison des valeurs de l’émetteur et de l’objet doit être unique sur l’application. Il a une limite de 600 caractères. Obligatoire.
subject Chaîne Obligatoire. Identificateur de la charge de travail logicielle externe au sein du fournisseur d’identité externe. Comme la valeur d’audience, il n’a pas de format fixe, car chaque fournisseur d’identité utilise son propre , parfois un GUID, parfois un identificateur délimité par deux-points, parfois des chaînes arbitraires. La valeur ici doit correspondre à la sous-revendication dans le jeton présenté à Microsoft Entra ID. Il a une limite de 600 caractères. La combinaison de l’émetteur et de l’objet doit être unique sur l’application.

Réponse

Si elle réussit, si un objet d’application portant le nom n’existe pas, cette méthode renvoie un 201 Created code de réponse et un nouvel objet federatedIdentityCredential dans le corps de la réponse.

Si un objet d’application portant un nom existe déjà, cette méthode met à jour l’objet federatedIdentityCredential et retourne un 204 No Content code de réponse.

Exemples

Exemple 1 : Créer un élément federatedIdentityCredential s’il n’existe pas

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

Demande

L’exemple suivant illustre une demande.

PATCH https://graph.microsoft.com/v1.0/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json

{
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

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#applications('bcd7c908-1c4d-4d48-93ee-ff38349a75c8')/federatedIdentityCredentials/$entity",
    "id": "d9b7bf1e-429e-4678-8132-9b00c9846cc4",
    "name": "testing02fic01-app-65278",
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "description": null,
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Exemple 2 : Mettre à jour un federatedIdentityCredential existant

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

Demande

L’exemple suivant illustre une demande.

PATCH https://graph.microsoft.com/v1.0/applications(uniqueName='app-65278')/federatedIdentityCredentials(name='fic01-app-65278')
Content-Type: application/json
Prefer: create-if-missing

{
    "issuer": "https://login.microsoftonline.com/3d1e2be9-a10a-4a0c-8380-7ce190f98ed9/v2.0",
    "subject": "a7d388c3-5e3f-4959-ac7d-786b3383006a",
    "audiences": [
        "api://AzureADTokenExchange"
    ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content