Teilen über


Erweitern der API-gesteuerten Bereitstellung zur Synchronisierung benutzerdefinierter Attribute

Standardmäßig unterstützen Apps für die API-gesteuerte Bereitstellung die Verarbeitung von Attributen, die Teil des Schemas für SCIM Core-Benutzer*innen und Enterprise-Benutzer*innen sind. Ihr Datensatzsystem enthält möglicherweise benutzerdefinierte Attribute, die Sie u. U. im Rahmen der API-gesteuerten Bereitstellung aufnehmen möchten. In diesem erweiterten Tutorial wird beschrieben, wie Sie Ihre App für die API-gesteuerte Bereitstellung erweitern, um zusätzliche benutzerdefinierte Attribute zu verarbeiten.

Hinweis

Bevor Sie dieses erweiterte Szenario ausprobieren, sollten Sie überprüfen, ob Ihre vordefinierte Konfiguration der Bereitstellungs-App wie erwartet funktioniert, indem Sie einen der folgenden API-Clients verwenden: Graph Explorer, cURL oder Postman.

Beispielszenario

Sie haben die App für die API-gesteuerte Bereitstellung konfiguriert. Ihre Bereitstellungs-App nutzt erfolgreich die Attribute, die Teil des Standardschemas für SCIM Core-Benutzer*innen und Enterprise-Benutzer*innen sind, und stellt Benutzer*innen in Microsoft Entra ID bereit. Sie möchten nun die zwei benutzerdefinierten Attribute HireDate und JobCode von Ihrem Personalsystem an den API-Endpunkt für die eingehende Bereitstellung senden. Sie möchten diese beiden benutzerdefinierten Attribute den Microsoft Entra-Attributen employeeHireDate und jobTitle zuordnen.

Schritt 1: Erweitern des Bereitstellungs-App-Schemas

In diesem Schritt fügen Sie die beiden Attribute „HireDate“ und „JobCode“, die nicht Teil des SCIM-Standardschemas sind, zur Bereitstellungs-App hinzu und verwenden sie im Bereitstellungsdatenfluss.

  1. Melden Sie sich beim Microsoft Entra Admin Center mindestens mit der Rolle Anwendungsadministrator an.
  2. Browsen Sie zu Identität>Anwendungen>Unternehmensanwendungen.
  3. Öffnen Sie Ihre API-gesteuerte Bereitstellungs-App.
  4. Öffnen Sie das Blatt Bereitstellung.
  5. Klicken Sie auf die Schaltfläche Bereitstellung bearbeiten.
  6. Erweitern Sie den Abschnitt Zuordnungen, und klicken Sie auf den Link „Attributzuordnung“.
    Screenshot of edit attribute mapping.
  7. Scrollen Sie auf der Seite Attributzuordnungen nach unten. Wählen Sie Erweiterte Optionen anzeigen aus, und klicken Sie auf den Link Attributliste für API bearbeiten. Screenshot of edit API attribute list.
  8. Scrollen Sie nach unten bis zum Ende der Seite Attributliste bearbeiten.
  9. Fügen Sie der Liste die folgenden beiden Attribute als SCIM-Schemaerweiterungen hinzu. Sie können Ihren eigenen SCIM-Schemanamespace verwenden.
    urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate
    urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode
    Screenshot of adding custom attributes.
  10. Speichern Sie Ihre Änderungen.

Hinweis

Wenn Sie der Bereitstellungs-App nur einige zusätzliche Attribute hinzufügen möchten, verwenden Sie das Microsoft Entra Admin Center, um das Schema zu erweitern. Wenn Sie weitere benutzerdefinierte Attribute hinzufügen möchten (etwa mehr als 20 Attribute), empfiehlt es sich, den UpdateSchema-Modus des CSV2SCIM PowerShell-Skripts zu verwenden, der den oben genannten manuellen Prozess automatisiert.

Schritt 2: Zuordnen der benutzerdefinierten Attribute

Nun fügen Sie diese Erweiterungen der Attributzuordnung der Bereitstellungs-App hinzu.

  1. Klicken Sie auf der Seite Attributzuordnung auf den Link Neue Zuordnung hinzufügen. Screenshot of add new mapping.

  2. Ordnen Sie employeeHireDate das Attribut urn:ietf:params:scim:schemas:extension:contoso:1.0:User:HireDate zu. Klicken Sie auf OK.
    Screenshot of hire date mapping.

  3. Wählen Sie als Nächstes die vorhandene Zuordnung für title aus, und klicken Sie darauf, um die Zuordnung zu bearbeiten.

  4. Ändern Sie die Attributzuordnung in einen Ausdruck, der urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode als Teil des Microsoft Entra-Attributs jobTitle enthält.

      Join("", [title], "(", [urn:ietf:params:scim:schemas:extension:contoso:1.0:User:JobCode], ")")
    

    Screenshot of job title mapping.

    Wenn title bei dieser Ausdruckszuordnung „Tour Lead“ und JobCode „TL-1001“ lautet, wird das Microsoft Entra-Attribut jobTitle auf „Tour Lead (TL-1001)“ festgelegt.

  5. Speichern Sie die Attributzuordnungen.

Schritt 3: Hochladen einer Massenanforderung mit benutzerdefinierten Attributen

  1. Öffnen Sie Ihren API-Client (Graph Explorer/Postman/cURL).
  2. Kopieren Sie die Massenanforderung mit benutzerdefinierten Attributen, und fügen Sie sie ein.
  3. Senden Sie die Massenanforderung an die URL des Bereitstellungs-API-Endpunkts.
    Screenshot of bulk upload request.
  4. Nach einiger Zeit können Sie die Bereitstellungsprotokolle überprüfen, um die Attributänderung zu überprüfen.
    Screenshot of provisioning logs.
  5. Sie können die Änderung auch im Microsoft Entra-Benutzerprofil überprüfen. Der Wert für Employee hire date spiegelt Ihre Mandantenzeitzone wider.
    Screenshot of user profile.

Anhang

Massenanforderung mit benutzerdefinierten Attributen

Die Massenanforderung enthält die benutzerdefinierten Attribute, die in den obigen Schritten konfiguriert wurden.

Anforderungstext

{
    "schemas": ["urn:ietf:params:scim:api:messages:2.0:BulkRequest"],
    "Operations": [
    {
        "method": "POST",
        "bulkId": "701984",
        "path": "/Users",
        "data": {
            "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
            "urn:ietf:params:scim:schemas:extension:contoso:1.0:User"],
            "externalId": "701984",
            "userName": "bjensen@example.com",
            "name": {
                "formatted": "Ms. Barbara J Jensen, III",
                "familyName": "Jensen",
                "givenName": "Barbara",
                "middleName": "Jane",
                "honorificPrefix": "Ms.",
                "honorificSuffix": "III"
            },
            "displayName": "Babs Jensen",
            "nickName": "Babs",
            "emails": [
            {
              "value": "bjensen@example.com",
              "type": "work",
              "primary": true
            }
            ],
            "addresses": [
            {
              "type": "work",
              "streetAddress": "234300 Universal City Plaza",
              "locality": "Hollywood",
              "region": "CA",
              "postalCode": "91608",
              "country": "USA",
              "formatted": "100 Universal City Plaza\nHollywood, CA 91608 USA",
              "primary": true
            }
            ],
            "phoneNumbers": [
            {
              "value": "555-555-5555",
              "type": "work"
            }
            ],
            "userType": "Employee",
            "title": "Tour Guide",
            "preferredLanguage": "en-US",
            "locale": "en-US",
            "timezone": "America/Los_Angeles",
            "active":true,
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
                "employeeNumber": "701984",
                "costCenter": "4130",
                "organization": "Universal Studios",
                "division": "Theme Park",
                "department": "Tour Operations",
                "manager": {
                  "value": "89607",
                  "displayName": "John Smith"
                 }
            },
            "urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
                "HireDate": "2021-05-01T00:00:00-05:00",
                "JobCode": "TG-1001"
            }            
        }
    },
    {
        "method": "POST",
        "bulkId": "701985",
        "path": "/Users",
        "data": {
            "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User",
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
            "urn:ietf:params:scim:schemas:extension:contoso:1.0:User"],
            "externalId": "701985",
            "userName": "Kjensen@example.com",
            "name": {
                "formatted": "Ms. Kathy J Jensen, III",
                "familyName": "Jensen",
                "givenName": "Kathy",
                "middleName": "Jane",
                "honorificPrefix": "Ms.",
                "honorificSuffix": "III"
            },
            "displayName": "Kathy Jensen",
            "nickName": "Kathy",
            "emails": [
            {
              "value": "kjensen@example.com",
              "type": "work",
              "primary": true
            }
            ],
            "addresses": [
            {
              "type": "work",
              "streetAddress": "100 Oracle City Plaza",
              "locality": "Hollywood",
              "region": "CA",
              "postalCode": "91618",
              "country": "USA",
              "formatted": "100 Oracle City Plaza\nHollywood, CA 91618 USA",
              "primary": true
            }
            ],
            "phoneNumbers": [
            {
              "value": "555-555-5545",
              "type": "work"
            }
            ],
            "userType": "Employee",
            "title": "Tour Lead",
            "preferredLanguage": "en-US",
            "locale": "en-US",
            "timezone": "America/Los_Angeles",
            "active":true,
            "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
              "employeeNumber": "701984",
              "costCenter": "4130",
              "organization": "Universal Studios",
              "division": "Theme Park",
              "department": "Tour Operations",
              "manager": {
                "value": "701984",
                "displayName": "Barbara Jensen"
             }
            },
            "urn:ietf:params:scim:schemas:extension:contoso:1.0:User": {
                "HireDate": "2022-07-15T00:00:00-05:00",
                "JobCode": "TL-1003"
            }            
        }
    }
],
    "failOnErrors": null
}

Nächste Schritte