Partager via


Utiliser les équipes de groupe Microsoft Entra ID

Une équipe de groupe Microsoft Entra ID, à l’instar d’une équipe de propriété, peut posséder des enregistrements et avoir des rôles de sécurité attribués à l’équipe. Pour en savoir plus sur les équipes de groupe Microsoft Entra ID, reportez-vous à la rubrique Gérer les équipes de groupe.

Mises à jour juste-à-temps

Les mises à jour juste-à-temps signifient que les actions sont prises au moment de l’exécution pour éliminer le besoin de synchroniser les données à partir de Microsoft Entra ID et de Microsoft Dataverse. Ces actions incluent la création d’équipes de groupe Microsoft Entra ID, l’ajout/la suppression de membres de groupe Microsoft Entra ID depuis les équipes de groupe Microsoft Entra ID et l’ajout d’utilisateurs dans Dataverse.

  1. Si l’équipe du groupe Microsoft Entra ID n’existe pas et qu’un rôle de sécurité est attribué ou qu’un enregistrement est attribué au groupe Microsoft Entra ID, l’équipe du groupe Microsoft Entra ID est créée juste-à-temps.

  2. Lorsqu’un membre du groupe Microsoft Entra ID accède interactivement à Dataverse ou passe un appel via un processus non interactif au nom de l’utilisateur, le membre du groupe est ajouté à l’équipe du groupe Microsoft Entra ID au moment de l’exécution. De même, lorsqu’un membre qui a été supprimé du groupe Microsoft Entra ID accède Dataverse interactivement ou par un appel de processus non interactif, le membre du groupe est supprimé de l’équipe du groupe Microsoft Entra ID.

  3. Lorsqu’un membre du groupe Microsoft Entra ID accède interactivement à Dataverse ou passe un appel via un processus non interactif au nom de l’utilisateur, et l’utilisateur n’existe pas dans Dataverse, l’utilisateur est ajouté dans Dataverse juste-à-temps.

Les sections suivantes décrivent comment utiliser les équipes de groupe Microsoft Entra ID à l’aide de l’API web.

Emprunter l’identité d’un autre utilisateur

Votre service peut effectuer des appels au nom d’un autre utilisateur du système en empruntant l’identité de l’utilisateur. Si l’utilisateur du système appartient à un groupe de sécurité Microsoft Entra ID et que le groupe de sécurité Microsoft Entra ID est une équipe de groupe Dataverse, cet utilisateur est ajouté à Dataverse automatiquement (si l’utilisateur n’existe pas déjà dans Dataverse). L’utilisateur est également automatiquement ajouté à l’équipe du groupe Dataverse après avoir été ajouté à Dataverse ou si l’utilisateur existe déjà dans Dataverse.

Créer une équipe de groupe Microsoft Entra ID

Une équipe de groupe Microsoft Entra ID peut être créée dans Dataverse en effectuant un appel API (par programmation) ou en juste-à-temps lorsqu’un rôle de sécurité est affecté au groupe Microsoft Entra ID, ou lorsqu’un enregistrement est affecté au groupe Microsoft Entra ID.

Les développeurs citoyens, qui souhaitent créer par programme une équipe de groupe Microsoft Dataverse Microsoft Entra ID, peuvent y parvenir en fournissant l’ID d’objet d’un groupe Microsoft Entra ID existant, comme indiqué dans la commande suivante.

Demande :

POST [Organization URI]/api/data/v9.0/teams
Accept: application/json

{
  "azureactivedirectoryobjectid":"<group object ID>",
  "membershiptype":0
}

Où :

  • Le type d’appartenance est défini dans la colonne MembershipType de la table d’équipe
  • Le nom de l’équipe est le nom du groupe Microsoft Entra ID
  • Le type d’équipe est basé sur le type de groupe Microsoft Entra ID – par exemple « Sécurité » ou « Microsoft 365 »

Attribuer un rôle de sécurité à une équipe de groupe Microsoft Entra ID

Un administrateur peut affecter un rôle de sécurité à une équipe de groupe Microsoft Entra ID après la création du groupe Microsoft Entra ID dans Microsoft Entra ID. L’équipe du groupe Microsoft Entra ID est constituée automatiquement dans Dataverse si elle n’existe pas dans Dataverse.

Demande :

POST [Organization URI]/api/data/v9.0/teams(azureactivedirectoryobjectid=<group team ID>,membershiptype=0)/teamroles_association/$ref
Accept: application/json

{ 
  "@odata.id":"[Organization URI]/api/data/v9.0/roles(<role ID>)"
}

Attribuer un rôle de sécurité à un utilisateur

Un administrateur peut attribuer un rôle de sécurité à un utilisateur du groupe Microsoft Entra ID. L’utilisateur est ajouté automatiquement à Dataverse si l’utilisateur n’existe pas dans Dataverse et le rôle est attribué directement à l’utilisateur.

Demande :

POST [Organization URI]/api/data/v9.0/systemusers(azureactivedirectoryobjectid=<user object ID>)/systemuserroles_association/$ref
Accept: application/json

{ 
  "@odata.id":"[Organization URI]/api/data/v9.0/roles(<role ID>)"
}

Attribuer un enregistrement à un groupe Microsoft Entra ID

Un administrateur peut attribuer un enregistrement à un utilisateur du groupe Microsoft Entra ID. L’équipe du groupe Microsoft Entra ID est constituée automatiquement dans Dataverse si elle n’existe pas dans Dataverse.

L’exemple ci-dessous présente la syntaxe d’attribution d’un enregistrement de compte.

Demande :

PATCH [Organization URI]/api/data/v9.0/accounts(<account ID>)
Accept: application/json

{ 
  "ownerid@odata.bind": "[Organization URI]/api/data/v9.0/teams(azureactivedirectoryobjectid=<group object ID>,membershiptype:0)"
}

Attribuer un enregistrement à un membre du groupe Microsoft Entra ID

Un administrateur peut attribuer un enregistrement à un membre du groupe Microsoft Entra ID. Le membre du groupe Microsoft Entra ID est ajouté automatiquement à Dataverse si l’utilisateur n’existe pas dans Dataverse.

L’exemple ci-dessous présente la syntaxe d’attribution d’un enregistrement de compte.

Demande :

PATCH [Organization URI]/api/data/v9.0/accounts(<account ID>)
Accept: application/json

{ 
  "ownerid@odata.bind": "[Organization URI]/api/data/v9.0/systemusers(azureactivedirectoryobjectid=<user object ID>)"
}

Récupérer un utilisateur

Vous pouvez récupérer une ligne de la table des utilisateurs du système à l’aide d’un identificateur d’objet (ID) d’utilisateur Azure. Si l’utilisateur du système n’existe pas dans Dataverse, l’utilisateur est ajouté à Dataverse automatiquement et ajouté à l’équipe du groupe Dataverse si l’utilisateur appartient à un groupe Microsoft Entra ID qui existe dans Dataverse. Si l’utilisateur existe dans Dataverse, l’utilisateur n’est pas ajouté à l’équipe du groupe Dataverse.

L’exemple ci-dessous montre la syntaxe de récupération d’une ligne utilisateur.

Demande :

GET [Organization URI]/api/data/v9.0/SystemUser(azureactivedirectoryobjectid=<user object ID>)

Rôles de sécurité et privilèges

Les membres d’un groupe Microsoft Entra ID peuvent interroger tous les rôles de sécurité qui leur sont directement et indirectement attribués à l’aide de la commande suivante.

Demande :

GET [Organization URI]/api/data/v9.0/RetrieveAadUserRoles(DirectoryObjectId=<user object ID)?$select=_parentrootroleid_value,name

Réponse :

{
  "@odata.context": "https://contoso.crm2.dynamics.com/api/data/v9.0/$metadata#roles",
  "value": [
    {
      "@odata.etag": "W/\"1649865\"",
      "name": "System Administrator",
      "roleid": "ae0daa93-e566-eb11-bb2b-000d3ac4c3f6",
      "_parentrootroleid_value": "ae0daa93-e566-eb11-bb2b-000d3ac4c3f6",
      "t_x002e_azureactivedirectoryobjectid": "e1341054-98ed-489b-a522-15e9e277b737",
      "t_x002e_membershiptype": 0,
      "t_x002e_teamid": "26e477f8-3f6a-eb11-bb2b-000d3af6caae",
      "t_x002e_name": "testgroup"
    }
  ]
}

Les membres d’un groupe Microsoft Entra ID peuvent vérifier leurs privilèges de sécurité sans être un utilisateur de Dataverse à l’aide de la commande suivante.

Demande :

GET [Organization URI]/api/data/v9.0/RetrieveAadUserPrivileges(DirectoryObjectId=<user object ID>)

Réponse :

{
  "@odata.context": "https://contoso.crm2.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.RetrieveAadUserPrivilegesResponse",
  "RolePrivileges": [
    {
      "Depth": "Global",
      "PrivilegeId": "0a620778-3e9f-46ec-9766-000624db57ba",
      "BusinessUnitId": "aa0daa93-e566-eb11-bb2b-000d3ac4c3f6",
      "PrivilegeName": "prvDeleteHierarchyRule"
    },
    …
   ]
}

Vérifier les droits d’accès d’un utilisateur ou d’une équipe sur un enregistrement

Si vous avez un processus non interactif où votre service doit vérifier si l’utilisateur a les droits d’accès à un enregistrement, vous pouvez passer un appel fonction RetrievePrincipalAccess au nom de l’utilisateur en précisant le CallerID.

Informations complémentaires : Emprunter l’identité d’un autre utilisateur

Déclenchement d’un événement quand un membre de l’équipe est ajouté ou supprimé de l’équipe du groupe

Les membres du groupe sont ajoutés ou supprimés juste à temps dans l’équipe Dataverse du groupe à l’aide des API d’association et de dissociation. Vous pouvez enregistrer un plug-in sur l’événement déclenché par ces ajouts ou suppressions de membres de l’équipe du groupe.

Voir aussi

Gérer l’accès aux applications et aux ressources à l’aide des groupes Azure Active Directory

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).