Freigeben über


Arbeiten mit Microsoft Entra ID-Gruppenteams

Ein Microsoft Entra ID-Gruppenteam (AAD) kann, ähnlich wie ein Besitzerteam, Datensätze besitzen und Sicherheitsrollen haben, die dem Team zugewiesen sind. Um mehr über Microsoft Entra ID-Gruppenteams zu erfahren, lesen Sie Gruppenteams verwalten.

Just-In-Time-Aktualisierungen

Just-In-Time-Aktualisierungen bedeuten, dass die Aktionen zur Laufzeit ausgeführt werden, um die Notwendigkeit zur Synchronisierung von Daten von Microsoft Entra ID und Microsoft Dataverse zu eliminieren. Zu diesen Aktionen gehören das Erstellen von Microsoft Entra ID-Gruppenteams, das Hinzufügen/Entfernen von Microsoft Entra ID-Gruppenmitgliedern zu Microsoft Entra ID-Gruppenteams und das Hinzufügen von Benutzern zu Dataverse.

  1. Wenn das Microsoft Entra ID-Gruppenteam nicht existiert und eine Sicherheitsrolle zugewiesen ist oder der Microsoft Entra ID-Gruppe ein Datensatz zugewiesen ist, wird das Microsoft Entra ID-Gruppenteam just-in-time erstellt.

  2. Wenn ein Microsoft Entra ID-Gruppenmitglied auf Dataverse interaktiv zugreift oder über einen nicht interaktiven Prozess im Namen des Benutzers einen Aufruf durchführt, wird das Gruppenmitglied zur Laufzeit dem Microsoft Entra ID-Gruppenteam hinzugefügt. Wenn ein Mitglied, das aus der Microsoft Entra ID-Gruppe entfernt wurde, interaktiv oder durch einen nicht interaktiven Prozessaufruf auf Dataverse zugreift, wird das Gruppenmitglied aus dem Microsoft Entra ID-Gruppenteam entfernt.

  3. Wenn ein Microsoft Entra ID-Gruppenmitglied interaktiv auf Dataverse zugreift oder über einen nicht interaktiven Prozess im Namen des Benutzers einen Aufruf durchführt und der Benutzer liegt in Dataverse nicht vor, wird der Benutzer just-in-time zu Dataverse hinzugefügt.

In den folgenden Abschnitten wird beschrieben, wie Sie mit Microsoft Entra ID-Gruppenteams unter Verwendung der Web-API arbeiten.

Annehmen der Identität eines anderen Benutzers

Ihr Dienst kann Anrufe im Namen eines anderen Systembenutzers tätigen, indem er sich für den Benutzer ausgibt. Wenn der Systembenutzer zu einer Microsoft Entra ID-Sicherheitsgruppe gehört und die Microsoft Entra ID-Sicherheitsgruppe ein Dataverse-Gruppenteam ist, wird dieser Benutzer zu Dataverse automatisch hinzugefügt (wenn der Benutzer nicht bereits in Dataverse existiert). Der Benutzer wird auch automatisch zum Dataverse-Gruppenteam hinzugefügt, nachdem er zu Dataverse hinzugefügt wurde oder wenn der Benutzer bereits in Dataverse vorhanden ist.

Erzeugen eines Microsoft Entra ID-Gruppenteams

Ein Microsoft Entra ID-Gruppenteam kann durch einen API-Aufruf (programmgesteuert) oder just-in-time in Dataverse erstellt werden, wenn eine Sicherheitsrolle der Microsoft Entra ID-Gruppe oder ein Datensatz der Microsoft Entra ID-Gruppe zugewiesen wird.

Citizen Developer, die programmatisch ein Microsoft Dataverse Microsoft Entra ID-Gruppenteam erstellen möchten, können dies tun, indem sie die Objekt-ID einer bestehenden Microsoft Entra ID-Gruppe angeben, wie im folgenden Befehl gezeigt.

Anforderung:

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

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

Dabei gilt Folgendes:

  • Die Art der Mitgliedschaft wird in der MembershipType-Spalte der Team-Tabelle definiert
  • Name des Teams ist der Name der Microsoft Entra ID-Gruppe
  • Der Teamtyp basiert auf dem Microsoft Entra ID-Gruppentyp – zum Beispiel „Sicherheit“ oder „Microsoft 365“

Zuweisen einer Sicherheitsrolle zu einem Microsoft Entra ID-Gruppenteam

Ein Administrator kann einem Microsoft Entra ID-Gruppenteam eine Sicherheitsrolle zuweisen, nachdem die Microsoft Entra ID-Gruppe in Microsoft Entra ID erstellt wurde. Das Microsoft Entra ID-Gruppenteam wird in Dataverse automatisch angelegt, wenn es in Dataverse nicht existiert.

Anforderung:

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>)"
}

Zuweisen einer Sicherheitsrolle zu einem Benutzer

Ein Administrator kann einem Microsoft Entra ID-Gruppenbenutzer eine Sicherheitsrolle zuweisen. Der Benutzer wird automatisch in Dataverse hinzugefügt, wenn der Benutzer nicht in Dataverse existiert, und die Rolle wird dem Benutzer direkt zugewiesen.

Anforderung:

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>)"
}

Zuweisen eines Datensatzes an eine Microsoft Entra ID-Gruppe

Ein Administrator kann einer Microsoft Entra ID-Gruppe einen Datensatz zuweisen. Das Microsoft Entra ID-Gruppenteam wird in Dataverse automatisch angelegt, wenn es in Dataverse nicht existiert.

Das nachstehende Beispiel zeigt die Syntax für die Zuweisung eines Datensatzes für ein Konto.

Anforderung:

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)"
}

Zuweisen eines Datensatzes an ein Microsoft Entra ID-Gruppenmitglied

Ein Administrator kann einen Datensatz einem Microsoft Entra ID-Gruppenmitglied zuweisen. Das Microsoft Entra ID-Gruppenmitglied wird automatisch zu Dataverse hinzugefügt, wenn der Benutzer nicht in Dataverse vorhanden ist.

Das nachstehende Beispiel zeigt die Syntax für die Zuweisung eines Datensatzes für ein Konto.

Anforderung:

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>)"
}

Einen Benutzer abrufen

Sie können eine Systembenutzertabelle mithilfe eines Azure-Benutzerobjektbezeichner (ID) abrufen. Wenn der Systembenutzer in Dataverse nicht vorhanden ist, wird der Benutzer Dataverse automatisch hinzugefügt und dem Dataverse-Gruppenteam hinzugefügt, wenn der Benutzer einer Microsoft Entra ID-Gruppe angehört, die in Dataverse existiert. Wenn der Benutzer in Dataverse vorhanden ist, wird der Benutzer nicht zum Dataverse-Gruppenteam hinzugefügt.

Das folgende Beispiel zeigt die Syntax zum Abrufen einer Benutzerzeile.

Anforderung:

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

Sicherheitsrollen und Berechtigungen

Mitglieder einer Microsoft Entra ID-Gruppe können mit dem folgenden Befehl alle Sicherheitsrollen abfragen, die ihnen direkt und indirekt zugewiesen sind.

Anforderung:

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

Antwort:

{
  "@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"
    }
  ]
}

Mitglieder einer Microsoft Entra ID-Gruppe können mit dem folgenden Befehl ihre Sicherheitsberechtigungen abfragen, ohne dass sie ein Benutzer von Dataverse sind.

Anforderung:

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

Antwort:

{
  "@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"
    },
    …
   ]
}

Zugriffsrechte eines Benutzers oder Teams auf einen Datensatz prüfen

Wenn Sie einen nicht interaktiven Prozess haben, bei dem Ihr Dienst überprüfen muss, ob der Benutzer Zugriffsrechte auf einen Datensatz hat, können Sie eine RetrievePrincipalAccess-Funktion im Namen des Benutzers durch Angabe der CallerID aufrufen.

Weitere Informationen: Annehmen der Identität eines anderen Benutzers

Auslösen eines Ereignisses, wenn ein Teammitglied dem Gruppenteam hinzugefügt oder daraus entfernt wird

Gruppenmitglieder werden Just-In-Time dem Dataverse-Gruppenteam über die APIs für das Verknüpfen und Aufheben der Verknüpfung hinzugefügt oder aus dem Team entfernt. Sie können ein Plug-In für das Ereignis registrieren, das durch das Hinzufügen oder Entfernen dieser Teammitglieder zum bzw. aus dem Gruppenteam ausgelöst wird.

Siehe auch

Verwalten Sie den Zugriff auf Apps und Ressourcen mit Azure Active Directory-Gruppen

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).