Ajouter des membres

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 .

Ajoutez un membre à un groupe de sécurité ou Microsoft 365. Lorsque vous utilisez l’API pour ajouter plusieurs membres en une seule requête, vous pouvez ajouter jusqu’à 20 membres uniquement.

Remarque

Cette demande peut entraîner des retards de réplication pour les groupes récemment créés. Lorsqu’un groupe est créé, la réplication complète de l’objet sur les réplicas de répertoire Microsoft Entra ID peut prendre un court laps de temps. Pendant cette fenêtre, les demandes d’ajout de membres au groupe peuvent retourner une 400 Bad Request erreur avec le message : « L’objet de ressource source ou l’un des objets référencés n’existe pas ».

Pour atténuer ce comportement :

  • Réessayez après un bref délai . Attendez quelques secondes et relancez la demande. Le délai est généralement bref.

Pour plus d’informations, consultez Conception pour la cohérence éventuelle de Microsoft Entra.

Le tableau suivant présente les types de membres qui peuvent être ajoutés à des groupes de sécurité ou à des groupes Microsoft 365.

Type d’objet Membre du groupe de sécurité Membre du groupe Microsoft 365
Utilisateur Peut être membre du groupe Peut être membre du groupe
Groupe de sécurité Peut être membre du groupe Ne peut pas être membre du groupe
Groupe Microsoft 365 Ne peut pas être membre du groupe Ne peut pas être membre du groupe
Appareil Peut être membre du groupe Ne peut pas être membre du groupe
Principal de service Peut être membre du groupe Ne peut pas être membre du groupe
Contact de l’organisation Peut être membre du groupe Ne peut pas être membre du groupe

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

Service global Gouvernement américain L4 Gouvernement américain L5 (DOD) Chine exploitée par 21Vianet
✅ ✅ ✅ ✅

Autorisations

Le tableau suivant indique l’autorisation de moindre privilège requise pour chaque type de ressource lors de l’appel de cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.

Ressource prise en charge Déléguée (compte professionnel ou scolaire) Déléguée (compte Microsoft personnel) Application
appareil GroupMember.ReadWrite.All et Device.Read.All Non prise en charge. GroupMember.ReadWrite.All et Device.ReadWrite.All
groupe GroupMember.ReadWrite.All Non prise en charge. GroupMember.ReadWrite.All
orgContact GroupMember.ReadWrite.All et OrgContact.Read.All Non prise en charge. GroupMember.ReadWrite.All et OrgContact.Read.All
servicePrincipal GroupMember.ReadWrite.All et Application.ReadWrite.All Non prise en charge. GroupMember.ReadWrite.All et Application.ReadWrite.All
utilisateur GroupMember.ReadWrite.All Non prise en charge. GroupMember.ReadWrite.All

Importante

Dans les scénarios délégués, un rôle Microsoft Entra pris en charge ou un rôle personnalisé doit également être affecté à l’utilisateur connecté avec l’autorisation de microsoft.directory/groups/members/update rôle. Les rôles suivants sont les rôles les moins privilégiés pris en charge pour cette opération, à l’exception des groupes assignables à des rôles :

  • Propriétaires du groupe
  • Rédacteurs d'annuaires
  • Administrateur de groupes
  • Administrateur de gouvernance des identités
  • Administrateur d’utilisateurs
  • Administrateur Exchange - uniquement pour les groupes Microsoft 365
  • Administrateur SharePoint - uniquement pour les groupes Microsoft 365
  • Administrateur Teams - uniquement pour les groupes Microsoft 365
  • Administrateur Yammer - uniquement pour les groupes Microsoft 365
  • Administrateur Intune - uniquement pour les groupes de sécurité

Pour ajouter des membres à un groupe assignable à un rôle, l’application doit également disposer de l’autorisation RoleManagement.ReadWrite.Directory et l’utilisateur appelant doit disposer d’un rôle Microsoft Entra pris en charge. L’administrateur de rôle privilégié est le rôle le moins privilégié pris en charge pour cette opération.

Requête HTTP

POST /groups/{group-id}/members/$ref
PATCH /groups/{group-id}

En-têtes de demande

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

Corps de la demande

Lors de l’utilisation de la POST /groups/{group-id}/members/$ref syntaxe, fournissez un objet JSON contenant une propriété @odata.id avec une référence par ID à un type d’objet membre du groupe pris en charge.

Lors de l’utilisation de la PATCH /groups/{group-id} syntaxe, fournissez un objet JSON qui contient une members@odata.bind propriété avec une ou plusieurs références par ID à un type d’objet membre du groupe pris en charge. C’est-à-dire :

  • Pour les groupes Microsoft 365, seul https://graph.microsoft.com/v1.0/directoryObjects/{id} et https://graph.microsoft.com/v1.0/groups/{id} est autorisé où {id} doit être un utilisateur, car seuls les utilisateurs peuvent être membres de groupes Microsoft 365.
  • Pour les groupes de sécurité, les références d’ID suivantes sont autorisées :
    • https://graph.microsoft.com/v1.0/directoryObjects/{id} où {id} doit appartenir à un utilisateur, un groupe de sécurité, un appareil, un principal de service ou un contact organisationnel.
    • https://graph.microsoft.com/v1.0/groups/{id} où {id} doit appartenir à un autre groupe de sécurité. Les groupes Microsoft 365 ne peuvent pas être membres des groupes de sécurité.
    • https://graph.microsoft.com/v1.0/devices/{id} où {id} appartient à un appareil.
    • https://graph.microsoft.com/v1.0/servicePrincipal/{id} où {id} appartient à un principal du service.
    • https://graph.microsoft.com/v1.0/orgContact/{id} où {id} appartient à un contact d’organisation.

Réponse

Si elle réussit, cette méthode renvoie un code de réponse 204 No Content. Il renvoie un 400 Bad Request code de réponse lorsque l’objet est déjà membre du groupe, n’est pas pris en charge en tant que membre du groupe, ou lorsque le groupe a été récemment créé et n’a pas entièrement répliqué (message d’erreur : « L’objet de ressource source ou l’un des objets référencés n’existe pas. » — réessayez après un bref délai). Il renvoie un 404 Not Found code de réponse lorsque l’objet ajouté n’existe pas. Elle retourne 403 Forbidden dans l’un des scénarios suivants :

  • Vous essayez d’ajouter un membre à un groupe qui ne peut pas être géré via Microsoft Graph. Cette API prend uniquement en charge la sécurité et les groupes Microsoft 365.
  • Vous essayez d’ajouter un membre que vous n’êtes pas autorisé à ajouter. Reportez-vous à la section précédente Autorisations pour connaître les autorisations requises pour ajouter différents types de membres.
  • Vous essayez d’ajouter un membre à un groupe assignable à un rôle et vous ne disposez pas des autorisations requises.

Exemple

Exemple 1: Ajouter un membre à un groupe

Demande

L’exemple suivant illustre une requête qui utilise la référence directoryObjects pour ajouter un membre à un groupe.

POST https://graph.microsoft.com/beta/groups/{group-id}/members/$ref
Content-type: application/json

{
  "@odata.id": "https://graph.microsoft.com/beta/directoryObjects/{id}"
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content

Exemple 2 : Ajouter plusieurs membres à un groupe dans une seule demande

Cet exemple montre comment ajouter plusieurs membres à un groupe avec le support de la liaison OData dans une opération de correctif. Il est possible d’ajouter jusqu’à 20 membres en une seule requête. Si une condition d’erreur existe dans le corps de la demande, nous n’ajouterons aucun membre et renverrons le code de réponse approprié.

Demande

L’exemple suivant illustre une demande.

PATCH https://graph.microsoft.com/beta/groups/{group-id}
Content-type: application/json

{
  "members@odata.bind": [
    "https://graph.microsoft.com/beta/directoryObjects/{id}",
    "https://graph.microsoft.com/beta/directoryObjects/{id}",
    "https://graph.microsoft.com/beta/directoryObjects/{id}"
    ]
}

Réponse

L’exemple suivant illustre la réponse.

HTTP/1.1 204 No Content