Bekende problemen en oplossingen met scim 2.0-protocolnaleving van de Microsoft Entra-service voor gebruikersinrichting

Microsoft Entra ID kan gebruikers en groepen automatisch inrichten voor elke toepassing of elk systeem dat wordt fronted door een webservice met de interface die is gedefinieerd in het systeem voor SCIM 2.0-protocolspecificatie (Cross-Domain Identity Management).

Microsoft Entra ID-ondersteuning voor het SCIM 2.0-protocol wordt beschreven in Using System for Cross-Domain Identity Management (SCIM) voor het automatisch inrichten van gebruikers en groepen van Microsoft Entra ID voor toepassingen, waarin de specifieke onderdelen van het protocol worden vermeld die worden geïmplementeerd om gebruikers en groepen van Microsoft Entra ID automatisch in te richten voor toepassingen die SCIM 2.0 ondersteunen.

In dit artikel worden de huidige en eerdere problemen beschreven met de naleving van het SCIM 2.0-protocol van de Microsoft Entra-gebruikersinrichtingsservice en hoe u deze problemen kunt omzeilen.

Inzicht in de inrichtingstaak

De inrichtingsservice maakt gebruik van het concept van een taak om te werken met een toepassing. De jobID vindt u in de voortgangsbalk. Alle nieuwe inrichtingstoepassingen worden gemaakt met een jobID die begint met 'scim'. De scim-taak vertegenwoordigt de huidige status van de service. Oudere taken hebben de id 'customappsso'. Deze taak vertegenwoordigt de status van de service in 2018.

Als u een toepassing in de galerie gebruikt, bevat de taak doorgaans de naam van de app (zoals zoom snowFlake of dataBricks). U kunt deze documentatie overslaan wanneer u een galerietoepassing gebruikt. Dit geldt voornamelijk voor niet-galerietoepassingen met jobID SCIM of customAppSSO.

Nalevingsproblemen en -status van SCIM 2.0

In de onderstaande tabel betekent elk item dat als vast is gemarkeerd, dat het juiste gedrag op de SCIM-taak kan worden gevonden. We hebben gewerkt om compatibiliteit met eerdere versies te garanderen voor de wijzigingen die we hebben aangebracht. We raden u aan het nieuwe gedrag te gebruiken voor nieuwe implementaties en het bijwerken van bestaande implementaties. Houd er rekening mee dat het gedrag van customappSSO dat de standaardwaarde was vóór december 2018, niet meer wordt ondersteund.

Notitie

Voor de wijzigingen die in 2018 zijn aangebracht, is het mogelijk om terug te keren naar het gedrag van customappsso. Voor de wijzigingen die sinds 2018 zijn aangebracht, kunt u de URL's gebruiken om terug te keren naar het oudere gedrag. We hebben gewerkt om compatibiliteit met eerdere versies te garanderen voor de wijzigingen die we hebben aangebracht door u toe te staan terug te keren naar de oude jobID of door een vlag te gebruiken. Zoals eerder vermeld, raden we echter niet aan om oud gedrag te implementeren omdat het niet meer wordt ondersteund. We raden u aan het nieuwe gedrag te gebruiken voor nieuwe implementaties en het bijwerken van bestaande implementaties.

Probleem met SCIM 2.0-naleving Vaste? Oplossingsdatum Compatibiliteit met eerdere versies
Microsoft Entra-id vereist dat '/scim' zich in de hoofdmap van de SCIM-eindpunt-URL van de toepassing bevindt Ja 18 december 2018 downgraden naar customappSSO
Extensiekenmerken maken gebruik van punt "." notatie voor kenmerknamen in plaats van dubbele punt ":" notatie Ja 18 december 2018 downgraden naar customappSSO
Patchaanvragen voor kenmerken met meerdere waarden bevatten ongeldige padfiltersyntaxis Ja 18 december 2018 downgraden naar customappSSO
Aanvragen voor het maken van groepen bevatten een ongeldige schema-URI Ja 18 december 2018 downgraden naar customappSSO
Update PATCH-gedrag om naleving te garanderen (bijvoorbeeld actief als Booleaanse waarde en de juiste verwijderingen van groepslidmaatschappen) Nee N.t.b. functievlag gebruiken

Vlaggen om het SCIM-gedrag te wijzigen

Gebruik de onderstaande vlaggen in de tenant-URL van uw toepassing om het standaardgedrag van de SCIM-client te wijzigen.

SCIM flags to later behavior.

Gebruik de volgende URL om PATCH-gedrag bij te werken en ervoor te zorgen dat SCIM-naleving wordt nageleefd. De vlag wijzigt het volgende gedrag:

  • Aanvragen voor het uitschakelen van gebruikers
  • Aanvragen voor het toevoegen van een tekenreekskenmerk met één waarde
  • Aanvragen voor het vervangen van meerdere kenmerken
  • Aanvragen om een groepslid te verwijderen

Dit gedrag is momenteel alleen beschikbaar wanneer u de vlag gebruikt, maar wordt de komende maanden het standaardgedrag. Deze functievlag werkt momenteel niet met inrichting op aanvraag.

Hieronder vindt u voorbeeldaanvragen om een overzicht te geven van wat de synchronisatie-engine momenteel verzendt ten opzichte van de aanvragen die worden verzonden zodra de functievlag is ingeschakeld.

Aanvragen voor het uitschakelen van gebruikers:

Zonder functievlag

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "Replace",
          "path": "active",
          "value": "False"
      }
  ]
}

Met functievlag

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "replace",
          "path": "active",
          "value": false
      }
  ]
}

Aanvragen voor het toevoegen van een tekenreekskenmerk met één waarde:

Zonder functievlag

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
    {
      "op": "Add",
      "path": "nickName",
      "value": "Babs"
    }
  ]
}

Met functievlag

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [
    {
      "op": "add",
      "path": "nickName",
      "value": "Babs"
    }
  ]
}

Aanvragen om meerdere kenmerken te vervangen:

Zonder functievlag

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "Replace",
          "path": "displayName",
          "value": "Pvlo"
      },
      {
          "op": "Replace",
          "path": "emails[type eq \"work\"].value",
          "value": "TestBcwqnm@test.microsoft.com"
      },
      {
          "op": "Replace",
          "path": "name.givenName",
          "value": "Gtfd"
      },
      {
          "op": "Replace",
          "path": "name.familyName",
          "value": "Pkqf"
      },
      {
          "op": "Replace",
          "path": "externalId",
          "value": "Eqpj"
      },
      {
          "op": "Replace",
          "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber",
          "value": "Eqpj"
      }
  ]
}

Met functievlag

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "replace",
          "path": "emails[type eq \"work\"].value",
          "value": "TestMhvaes@test.microsoft.com"
      },
      {
          "op": "replace",
          "value": {
              "displayName": "Bjfe",
              "name.givenName": "Kkom",
              "name.familyName": "Unua",
              "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber": "Aklq"
          }
      }
  ]
}

Aanvragen voor het verwijderen van een groepslid:

Zonder functievlag

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "Remove",
          "path": "members",
          "value": [
              {
                  "value": "u1091"
              }
          ]
      }
  ]
}

Met functievlag

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "remove",
          "path": "members[value eq \"7f4bc1a3-285e-48ae-8202-5accb43efb0e\"]"
      }
  ]
}
  • Downgrade-URL: Zodra het nieuwe SCIM-compatibel gedrag de standaardwaarde wordt voor de toepassing die niet in de galerie wordt gebruikt, kunt u de volgende URL gebruiken om terug te keren naar het oude, niet-SCIM-compatibele gedrag: AzureAdScimPatch2017

Een upgrade uitvoeren van de oudere customappsso-taak naar de SCIM-taak

Met de onderstaande stappen verwijdert u uw bestaande customappsso-taak en maakt u een nieuwe SCIM-taak.

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een toepassings-Beheer istrator.

  2. Blader naar Bedrijfstoepassingen voor identiteitstoepassingen>>.

  3. Zoek en selecteer uw bestaande SCIM-toepassing.

  4. Kopieer de object-id in de sectie Eigenschappen van uw bestaande SCIM-app.

  5. Ga in een nieuw browservenster naar en meld u aan https://developer.microsoft.com/graph/graph-explorer als beheerder voor de Microsoft Entra-tenant waar uw app wordt toegevoegd.

  6. Voer in Graph Explorer de onderstaande opdracht uit om de id van uw inrichtingstaak te vinden. Vervang [object-id] door de service-principal-id (object-id) die u uit de derde stap hebt gekopieerd.

    GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs

    Get Jobs

  7. Kopieer in de resultaten de volledige tekenreeks 'ID' die begint met 'customappsso' of 'scim'.

  8. Voer de onderstaande opdracht uit om de configuratie voor kenmerktoewijzing op te halen, zodat u een back-up kunt maken. Gebruik dezelfde [object-id] als voorheen en vervang [job-id] door de inrichtingstaak-id die u uit de vorige stap hebt gekopieerd.

    GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]/schema

    Get Schema

  9. Kopieer de JSON-uitvoer uit de laatste stap en sla deze op in een tekstbestand. De JSON bevat aangepaste kenmerktoewijzingen die u aan uw oude app hebt toegevoegd en moet ongeveer een paar duizend regels JSON zijn.

  10. Voer de onderstaande opdracht uit om de inrichtingstaak te verwijderen:

    DELETE https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]

  11. Voer de onderstaande opdracht uit om een nieuwe inrichtingstaak te maken met de meest recente serviceoplossingen.

POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs { "templateId": "scim" }

  1. Kopieer in de resultaten van de laatste stap de volledige 'ID'-tekenreeks die begint met 'scim'. U kunt eventueel uw oude kenmerktoewijzingen opnieuw toewijzen door de onderstaande opdracht uit te voeren, [new-job-id] te vervangen door de nieuwe taak-id die u hebt gekopieerd en de JSON-uitvoer uit stap 7 in te voeren als hoofdtekst van de aanvraag.

PUT https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[new-job-id]/schema { <your-schema-json-here> }

  1. Ga terug naar het eerste browservenster en selecteer het tabblad Inrichten voor uw toepassing.
  2. Controleer uw configuratie en start de inrichtingstaak.

We stellen u in staat om terug te downgraden naar het oude gedrag, maar raden dit niet aan, omdat customappsso niet profiteert van enkele van de updates die we maken en mogelijk niet voor altijd worden ondersteund.

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een toepassings-Beheer istrator.

  2. Blader naar Bedrijfstoepassingen voor identiteitstoepassingen>>.

  3. Maak in de sectie Toepassing maken een nieuwe toepassing die niet in de galerie is opgenomen.

  4. Kopieer de object-id in de sectie Eigenschappen van uw nieuwe aangepaste app.

  5. Ga in een nieuw browservenster naar en meld u aan https://developer.microsoft.com/graph/graph-explorer als beheerder voor de Microsoft Entra-tenant waar uw app wordt toegevoegd.

  6. Voer in Graph Explorer de onderstaande opdracht uit om de inrichtingsconfiguratie voor uw app te initialiseren. Vervang [object-id] door de service-principal-id (object-id) die u uit de derde stap hebt gekopieerd.

    POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs { templateId: "customappsso" }

  7. Ga terug naar het eerste browservenster en selecteer het tabblad Inrichten voor uw toepassing.

  8. Voltooi de configuratie van de gebruikersinrichting zoals u dat normaal zou doen.

Volgende stappen

Meer informatie over het inrichten en ongedaan maken van inrichting voor SaaS-toepassingen