Automatisieren von Onboardingaufgaben für Mitarbeiter vor dem ersten Arbeitstag mithilfe von Lebenszyklus-Workflows-APIs

Dieses Tutorial enthält schritt-für-Schritt-Anleitungen zum Automatisieren von Vorabaufgaben mit Lebenszyklus-Workflows-APIs.

Screenshot des Szenarios für Lebenszyklusworkflows.

In diesem Tutorial wird Folgendes vermittelt:

  • Konfigurieren Sie einen Lebenszyklusworkflow, um zwei Tage vor dem Einstellungsdatum nach neuen Mitarbeitern in einer bestimmten Abteilung zu suchen.
  • Konfigurieren Sie eine Aufgabe, um einen temporären Zugriffspass (TAP) für den neuen Mitarbeiter zu generieren und an den Vorgesetzten des neuen Mitarbeiters zu senden.
  • Überwachen Sie die status des Workflows und der zugehörigen Aufgaben.

Voraussetzungen

Für dieses Tutorial benötigen Sie die folgenden Ressourcen und Berechtigungen:

  • Dieses Feature erfordert Microsoft Entra ID Governance Lizenzen. Um die richtige Lizenz für Ihre Anforderungen zu finden, lesen Sie Microsoft Entra ID Governance Lizenzierungsgrundlagen.

  • Melden Sie sich bei einem API-Client wie Graph Explorer an, um Microsoft Graph mit einem Konto aufzurufen, das mindestens über die Rolle Lebenszyklusadministrator Microsoft Entra verfügt.

  • Erteilen Sie sich die delegierte Microsoft Graph-Berechtigung LifecycleWorkflows.ReadWrite.All .

  • Erstellen Sie zwei Benutzerkonten, die in diesem Tutorial verwendet werden sollen: eines für den neuen Mitarbeiter und ein weiteres für den Vorgesetzten, und lassen Sie die folgenden Einstellungen entsprechend konfigurieren.

    User-Eigenschaft Beschreibung Festlegen auf
    mail Wird verwendet, um den Manager über den temporären Zugriffspass (TAP) des neuen Mitarbeiters zu benachrichtigen. Sowohl der Vorgesetzte als auch der Mitarbeiter sollten über aktive Postfächer verfügen, um E-Mails zu empfangen. Mitarbeiter, Manager
    manager Dieses Attribut, das vom Lebenszyklusworkflow verwendet wird. Mitarbeiter
    employeeHireDate Wird verwendet, um den Workflow auszulösen. Auf das heutige Datum festgelegt. Mitarbeiter
    department Wird verwendet, um den Bereich für den Workflow bereitzustellen. Auf Sales festlegen. Mitarbeiter, Manager
  • Aktivieren Sie die Richtlinie für den temporären Zugriffspass (Temporary Access Pass, TAP) in Ihrem Mandanten, und der neue Benutzer kann die Authentifizierungsmethode verwenden.

Erstellen eines Joinerworkflows

Anforderung

Die folgende Anforderung erstellt einen Prehire-Workflow mit den folgenden Einstellungen:

  • Es kann bei Bedarf ausgeführt werden, aber nicht nach Zeitplan.
  • Der Workflow wird zwei Tage vor dem Einstellungsdatum des Mitarbeiters ausgeführt, und wenn er sich in der Abteilung "Vertrieb" befindet.
  • In diesem Workflow wird nur eine integrierte Aufgabe ausgeführt: um den TAP zu generieren und an den Vorgesetzten des neuen Mitarbeiters zu senden. Diese Aufgabe wird in Lebenszyklusworkflows durch die taskDefinitionId1b555e50-7f65-41d5-b514-5894a026d10d identifiziert.
POST https://graph.microsoft.com/v1.0/identityGovernance/lifecycleWorkflows/workflows
Content-type: application/json

{
   "displayName":"Onboard pre-hire employee", 
   "description":"Configure pre-hire tasks for onboarding employees before their first day", 
   "isEnabled":true, 
   "isSchedulingEnabled": false,
   "executionConditions": {
       "@odata.type": "microsoft.graph.identityGovernance.triggerAndScopeBasedConditions",
        "scope": {
            "@odata.type": "microsoft.graph.identityGovernance.ruleBasedSubjectSet",
            "rule": "(department eq 'Sales')"
        },
        "trigger": {
            "@odata.type": "microsoft.graph.identityGovernance.timeBasedAttributeTrigger",
            "timeBasedAttribute": "employeeHireDate",
            "offsetInDays": -2
        }
    }, 
   "tasks":[ 
      {
         "isEnabled":true, 
         "category": "Joiner",
         "taskDefinitionId":"1b555e50-7f65-41d5-b514-5894a026d10d", 
         "displayName":"Generate TAP And Send Email", 
         "description":"Generate Temporary Access Pass and send via email to user's manager", 
         "arguments":[ 
            { 
                "name": "tapLifetimeMinutes", 
                "value": "480" 
            }, 
            { 
                "name": "tapIsUsableOnce", 
                "value": "true" 
            }
          ]
       }  
    ]     
} 

Antwort

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/lifecycleWorkflows/workflows/$entity",
    "category": "joiner",
    "description": "Configure pre-hire tasks for onboarding employees before their first day",
    "displayName": "Onboard pre-hire employee",
    "lastModifiedDateTime": "2024-03-04T07:45:14.3410141Z",
    "createdDateTime": "2024-03-04T07:45:14.3410017Z",
    "deletedDateTime": null,
    "id": "ea71190c-075a-4ae7-9bca-34abf3b7b056",
    "isEnabled": true,
    "isSchedulingEnabled": false,
    "nextScheduleRunDateTime": null,
    "version": 1,
    "executionConditions": {
        "@odata.type": "#microsoft.graph.identityGovernance.triggerAndScopeBasedConditions",
        "scope": {
            "@odata.type": "#microsoft.graph.identityGovernance.ruleBasedSubjectSet",
            "rule": "(department eq 'Sales')"
        },
        "trigger": {
            "@odata.type": "#microsoft.graph.identityGovernance.timeBasedAttributeTrigger",
            "timeBasedAttribute": "employeeHireDate",
            "offsetInDays": -2
        }
    }
}

Ausführen des Workflows

Da die Ausführung des Workflows nicht geplant ist, muss er manuell ausgeführt werden. In der folgenden Anforderung wird der Benutzer, der das Ziel des Workflows ist, durch die ID 8930f0c7-cdd7-4885-9260-3b4a8111de5cidentifiziert. Die Anforderung gibt eine 204 No Content Antwort zurück.

POST https://graph.microsoft.com/v1.0/identityGovernance/lifecycleWorkflows/workflows/ea71190c-075a-4ae7-9bca-34abf3b7b056/activate

{
    "subjects": [
        {
            "id": "8930f0c7-cdd7-4885-9260-3b4a8111de5c"
        }
    ]
}

Überprüfen von Aufgaben und Workflow-status

Sie können jederzeit die status der Workflows und der zugehörigen Aufgaben auf drei Ebenen überwachen.

  • Überwachen sie Aufgaben auf Benutzerebene.
  • Überwachen Sie die aggregierte allgemeine Zusammenfassung der Ergebnisse auf Benutzerebene für einen Workflow innerhalb eines angegebenen Zeitraums.
  • Rufen Sie das detaillierte Protokoll aller Aufgaben ab, die für einen bestimmten Benutzer im Workflow ausgeführt wurden.

Option 1: Überwachen von Aufgaben für einen Workflow auf Benutzerebene

Anforderung

GET https://graph.microsoft.com/v1.0/identityGovernance/lifecycleWorkflows/workflows/ea71190c-075a-4ae7-9bca-34abf3b7b056/userProcessingResults

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/lifecycleWorkflows/workflows('ea71190c-075a-4ae7-9bca-34abf3b7b056')/userProcessingResults",
    "value": [
        {
            "id": "5772d894-3bcf-4d1c-9cfc-8c182331215b",
            "completedDateTime": "2024-03-04T08:07:23.2591226Z",
            "failedTasksCount": 0,
            "processingStatus": "completed",
            "scheduledDateTime": "2024-03-04T08:07:03.8706523Z",
            "startedDateTime": "2024-03-04T08:07:09.4670969Z",
            "totalTasksCount": 1,
            "totalUnprocessedTasksCount": 0,
            "workflowExecutionType": "onDemand",
            "workflowVersion": 1,
            "subject": {
                "id": "8930f0c7-cdd7-4885-9260-3b4a8111de5c"
            }
        }
    ]
}

Option 2: Abrufen der aggregierten allgemeinen Zusammenfassung der Ergebnisse auf Benutzerebene für einen Workflow innerhalb eines angegebenen Zeitraums

Anforderung

GET https://graph.microsoft.com/v1.0/identityGovernance/lifecycleWorkflows/workflows/ea71190c-075a-4ae7-9bca-34abf3b7b056/userProcessingResults/summary(startDateTime=2024-03-01T00:00:00Z,endDateTime=2024-03-30T00:00:00Z)

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.identityGovernance.userSummary",
    "failedTasks": 0,
    "failedUsers": 0,
    "successfulUsers": 1,
    "totalTasks": 1,
    "totalUsers": 1
}

Option 3: Abrufen des detaillierten Protokolls aller Aufgaben, die für einen bestimmten Benutzer im Workflow ausgeführt wurden

Anforderung

GET https://graph.microsoft.com/v1.0/identityGovernance/lifecycleWorkflows/workflows/ea71190c-075a-4ae7-9bca-34abf3b7b056/userProcessingResults/5772d894-3bcf-4d1c-9cfc-8c182331215b/taskProcessingResults

Antwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/lifecycleWorkflows/workflows('ea71190c-075a-4ae7-9bca-34abf3b7b056')/userProcessingResults('5772d894-3bcf-4d1c-9cfc-8c182331215b')/taskProcessingResults",
    "value": [
        {
            "completedDateTime": "2024-03-04T08:07:15.9906441Z",
            "createdDateTime": "2024-03-04T08:07:09.8072395Z",
            "id": "227c85e4-7b84-461f-8df5-c347c2435eb2",
            "processingStatus": "completed",
            "startedDateTime": "2024-03-04T08:07:11.1595421Z",
            "failureReason": null,
            "subject": {
                "id": "8930f0c7-cdd7-4885-9260-3b4a8111de5c"
            },
            "task": {
                "category": "joiner",
                "continueOnError": false,
                "description": "Generate Temporary Access Pass and send via email to user's manager",
                "displayName": "Generate TAP And Send Email",
                "executionSequence": 1,
                "id": "8b9b47c0-957b-4a52-8f2d-816e59c40fd2",
                "isEnabled": true,
                "taskDefinitionId": "1b555e50-7f65-41d5-b514-5894a026d10d",
                "arguments": [
                    {
                        "name": "tapLifetimeMinutes",
                        "value": "480"
                    },
                    {
                        "name": "tapIsUsableOnce",
                        "value": "true"
                    }
                ]
            }
        }
    ]
}

[Optional] Planen der automatischen Ausführung des Workflows

Nachdem Sie Ihren Workflow bei Bedarf ausgeführt und überprüft haben, ob alles einwandfrei funktioniert, sollten Sie den Workflow aktivieren, damit er automatisch nach einem vom Mandanten definierten Zeitplan ausgeführt werden kann. Führen Sie die folgende Anforderung aus.

Die Anforderung gibt eine 204 No Content Antwort zurück. Wenn ein Workflow geplant wird, überprüft die Lebenszyklus-Workflows-Engine alle drei Stunden, ob Benutzerobjekte mit der zugehörigen Ausführungsbedingung übereinstimmen, und führt die konfigurierten Aufgaben für diese Benutzer aus. Sie können diese Wiederholung zwischen einer Stunde und 24 Stunden anpassen.

PATCH https://graph.microsoft.com/v1.0/identityGovernance/lifecycleWorkflows/workflows/ea71190c-075a-4ae7-9bca-34abf3b7b056
Content-type: application/json

{
    "isEnabled": true,
    "isSchedulingEnabled": true
}