Delen via


API-gestuurde binnenkomende inrichting met Azure Logic Apps

In deze zelfstudie wordt beschreven hoe u de Azure Logic Apps-werkstroom gebruikt om binnenkomende inrichtingen op basis van de Api voor Microsoft Entra ID te implementeren. Met behulp van de stappen in deze zelfstudie kunt u een CSV-bestand met HR-gegevens converteren naar een nettolading voor bulkaanvragen en deze verzenden naar het Microsoft Entra-inrichtings -/bulkUpload-API-eindpunt . Het artikel bevat ook richtlijnen over hoe hetzelfde integratiepatroon kan worden gebruikt met elk recordsysteem.

Integratiescenario

Bedrijfsvereiste

Uw systeem van record genereert periodiek CSV-bestandsexports met werkrolgegevens. U wilt een integratie implementeren die gegevens uit het CSV-bestand leest en automatisch gebruikersaccounts in uw doelmap in richt (on-premises Active Directory voor hybride gebruikers en Microsoft Entra-id voor cloudgebruikers).

Implementatievereiste

Vanuit het perspectief van de implementatie:

  • U wilt een Azure Logic Apps-werkstroom gebruiken om gegevens te lezen uit de CSV-bestandexports die beschikbaar zijn in een Azure-bestandsshare en deze te verzenden naar het eindpunt van de inkomende inrichtings-API.
  • In uw Azure Logic Apps-werkstroom wilt u de complexe logica voor het vergelijken van identiteitsgegevens tussen uw systeem van record en doelmap niet implementeren.
  • U wilt de Microsoft Entra-inrichtingsservice gebruiken om uw door IT beheerde inrichtingsregels toe te passen om automatisch accounts te maken/bij te werken/in te schakelen/in te schakelen in de doelmap (on-premises Active Directory of Microsoft Entra-id).

Graphic of Azure Logic Apps-based integration.

Variaties in integratiescenario's

Hoewel in deze zelfstudie een CSV-bestand wordt gebruikt als een systeem van record, kunt u de Voorbeeldwerkstroom van Azure Logic Apps aanpassen om gegevens uit elk recordsysteem te lezen. Azure Logic Apps biedt een breed scala aan ingebouwde connectors en beheerde connectors met vooraf gebouwde triggers en acties die u in uw integratiewerkstroom kunt gebruiken.

Hier volgt een lijst met variaties in bedrijfsintegratiescenario's, waarbij API-gestuurde binnenkomende inrichting kan worden geïmplementeerd met een Logic Apps-werkstroom.

# Registratiesysteem Integratierichtlijnen voor het gebruik van Logic Apps om brongegevens te lezen
1 Bestanden die zijn opgeslagen op SFTP-server Gebruik de ingebouwde SFTP-connector of beheerde SFTP SSH-connector om gegevens te lezen uit bestanden die zijn opgeslagen op de SFTP-server.
2 Databasetabel Als u een Azure SQL-server of on-premises SQL Server gebruikt, gebruikt u de SQL Server-connector om uw tabelgegevens te lezen.
Als u een Oracle-database gebruikt, gebruikt u de Oracle-databaseconnector om uw tabelgegevens te lezen.
3 On-premises en in de cloud gehoste SAP S/4 HANA of
Klassieke on-premises SAP-systemen, zoals R/3 en ECC
Gebruik de SAP-connector om identiteitsgegevens op te halen uit uw SAP-systeem. Raadpleeg veelvoorkomende SAP-integratiescenario's met behulp van Azure Logic Apps en de SAP-connector voor voorbeelden van het configureren van deze connector.
4 IBM MQ Gebruik de IBM MQ-connector om inrichtingsberichten uit de wachtrij te ontvangen.
5 Dynamics 365 Human Resources Gebruik de Dataverse-connector om gegevens te lezen uit Dataverse-tabellen die worden gebruikt door Microsoft Dynamics 365 Human Resources.
6 Elk systeem dat REST API's beschikbaar maakt Als u geen connector voor uw systeem van record vindt in de Logic Apps-connectorbibliotheek, kunt u uw eigen aangepaste connector maken om gegevens te lezen uit uw systeem van record.

Nadat u de brongegevens hebt gelezen, past u uw voorverwerkingsregels toe en converteert u de uitvoer van uw systeem van record naar een bulkaanvraag die kan worden verzonden naar het Microsoft Entra-inrichtingseindpunt voor bulkUpload-API .

Belangrijk

Als u uw apigestuurde binnenkomende inrichting en integratiewerkstroom van Logic Apps wilt delen met de community, maakt u een sjabloon voor een logische app, documenteert u de stappen voor het gebruik ervan en verzendt u een pull-aanvraag voor opname in de GitHub-opslagplaatsentra-id-inbound-provisioning.

Deze zelfstudie gebruiken

De Logic Apps-implementatiesjabloon die is gepubliceerd in de Inkomende GitHub-opslagplaats van Microsoft Entra, automatiseert verschillende taken. Het bevat ook logica voor het verwerken van grote CSV-bestanden en het segmenteren van de bulkaanvraag voor het verzenden van 50 records in elke aanvraag. U kunt het als volgt testen en aanpassen aan uw integratievereisten.

Notitie

De Voorbeeldwerkstroom van Azure Logic Apps wordt 'as-is' geleverd voor implementatieverwijzing. Als u hier vragen over hebt of als u deze wilt verbeteren, gebruikt u de GitHub-projectopslagplaats.

# Automatiseringstaak Implementatierichtlijnen Geavanceerde aanpassing
1 Werkrolgegevens lezen uit het CSV-bestand. De Logic Apps-werkstroom maakt gebruik van een Azure-functie om het CSV-bestand te lezen dat is opgeslagen in een Azure-bestandsshare. De Azure-functie converteert CSV-gegevens naar JSON-indeling. Als uw CSV-bestandsindeling anders is, werkt u de werkstroomstap JSON parseren en SCIMUser maken bij. Als uw systeem van record anders is, raadpleegt u de richtlijnen in de sectie Integratiescenariovariaties voor het aanpassen van de Logic Apps-werkstroom met behulp van een geschikte connector.
2 Gegevens vooraf verwerken en converteren naar SCIM-indeling. De Logic Apps-werkstroom converteert standaard elke record in het CSV-bestand naar een SCIM Core User + Enterprise-gebruikersweergave. Als u van plan bent om aangepaste SCIM-schema-extensies te gebruiken, werkt u de stap SCIMUser samenstellen bij om uw aangepaste SCIM-schema-extensies op te nemen. Als u C#-code wilt uitvoeren voor geavanceerde opmaak en gegevensvalidatie, gebruikt u aangepaste Azure Functions.
3 De juiste verificatiemethode gebruiken U kunt een service-principal gebruiken of beheerde identiteit gebruiken voor toegang tot de inkomende inrichtings-API. Werk de stap SCIMBulkPayload naar API-eindpunt verzenden bij met de juiste verificatiemethode. -
4 Accounts inrichten in on-premises Active Directory of Microsoft Entra-id. Configureer de API-gestuurde inkomende inrichtings-app. Hiermee wordt een uniek /bulkUpload-API-eindpunt gegenereerd. Werk de stap SCIMBulkPayload verzenden naar API-eindpunt bij om het juiste bulkUpload-API-eindpunt te gebruiken. Als u van plan bent om bulkaanvragen te gebruiken met een aangepast SCIM-schema, kunt u het schema van de inrichtings-app uitbreiden om uw aangepaste SCIM-schemakenmerken op te nemen.
5 Scan de inrichtingslogboeken en probeer het opnieuw in te richten op mislukte records. Deze automatisering is nog niet geïmplementeerd in de Logic Apps-voorbeeldwerkstroom. Raadpleeg de Graph API van de inrichtingslogboeken om deze te implementeren. -
6 Implementeer uw op Logic Apps gebaseerde automatisering in productie. Nadat u uw API-gestuurde inrichtingsstroom hebt geverifieerd en de Logic Apps-werkstroom hebt aangepast om aan uw vereisten te voldoen, implementeert u de automatisering in uw omgeving. -

Stap 1: Een Azure Storage-account maken om het CSV-bestand te hosten

De stappen die in deze sectie worden beschreven, zijn optioneel. Als u al een bestaand opslagaccount hebt of het CSV-bestand wilt lezen uit een andere bron, zoals SharePoint-site of Blob-opslag, werkt u de logische app bij om de gewenste connector te gebruiken.

  1. Meld u aan bij Azure Portal als ten minste een toepassings-Beheer istrator.
  2. Zoek naar 'Opslagaccounts' en maak een nieuw opslagaccount. Screenshot of creating new storage account.
  3. Wijs een resourcegroep toe en geef deze een naam. Screenshot of resource group assignment.
  4. Nadat het opslagaccount is gemaakt, gaat u naar de resource.
  5. Klik op de menuoptie Bestandsshare en maak een nieuwe bestandsshare. Screenshot of creating new file share.
  6. Controleer of het maken van de bestandsshare is geslaagd. Screenshot of file share created.
  7. Upload een CSV-voorbeeldbestand naar de bestandsshare met behulp van de uploadoptie.
  8. Hier volgt een schermopname van de kolommen in het CSV-bestand. Screenshot of columns in Excel.

Stap 2: Azure Function CSV2JSON-conversieprogramma configureren

  1. Open de URL https://github.com/joelbyford/CSVtoJSONcorevan de GitHub-opslagplaats in de browser die is gekoppeld aan uw Azure-portal.

  2. Klik op de koppeling Implementeren in Azure om deze Azure-functie te implementeren in uw Azure-tenant. Screenshot of deploying Azure Function.

  3. Geef de resourcegroep op waaronder u deze Azure-functie wilt implementeren. Screenshot of configuring Azure Function resource group.

    Als de fout 'Deze regio heeft quotum van 0 exemplaren' wordt weergegeven, selecteert u een andere regio.

  4. Zorg ervoor dat de implementatie van de Azure-functie als Een App Service is geslaagd.

  5. Ga naar de resourcegroep en open de WebApp-configuratie. Zorg ervoor dat deze de status Actief heeft. Kopieer de standaarddomeinnaam die is gekoppeld aan de web-app. Screenshot of Azure Function Web App domain name.

  6. Open de Postman-client om te testen of het CSVtoJSON-eindpunt werkt zoals verwacht. Plak de domeinnaam die u uit de vorige stap hebt gekopieerd. Gebruik het inhoudstype 'tekst/csv' en plaats een csv-voorbeeldbestand in de hoofdtekst van de aanvraag naar het eindpunt: https://[your-domain-name]/csvtojsonScreenshot of Postman client calling the Azure Function.

  7. Als de implementatie van de Azure-functie is geslaagd, krijgt u in het antwoord een JSON-versie van het CSV-bestand met de status 200 OK.

    Screenshot of Azure Function response.

  8. Als u wilt toestaan dat Logic Apps deze Azure-functie aanroept, voert u in de CORS-instelling voor de WebApp sterretje (*) in en slaat u de configuratie op. Screenshot of Azure Function CORS setting.

Stap 3: API-gestuurde inrichting van binnenkomende gebruikers configureren

Stap 4: Uw Azure Logic Apps-werkstroom configureren

  1. Klik op de onderstaande knop om de Azure Resource Manager-sjabloon te implementeren voor de werkstroom CSV2SCIMBulkUpload Logic Apps.

    Deploy to Azure

  2. Werk onder instantiedetails de gemarkeerde items bij en kopieer-plakken waarden uit de vorige stappen. Screenshot of Azure Logic Apps instance details.

  3. Voor de Azurefile_access Key parameter opent u uw Azure File Storage-account en kopieert u de toegangssleutel die aanwezig is onder Beveiliging en netwerken.
    Screenshot of Azure File access keys.

  4. Klik op de optie Controleren en maken om de implementatie te starten.

  5. Zodra de implementatie is voltooid, ziet u het volgende bericht. Screenshot of Azure Logic Apps deployment complete.

Stap 5: Door het systeem toegewezen beheerde identiteit configureren

  1. Ga naar de blade Instellingen -> Identiteit van uw Logic Apps-werkstroom.
  2. Schakel door het systeem toegewezen beheerde identiteit in. Screenshot of enabling managed identity.
  3. U krijgt een prompt om het gebruik van de beheerde identiteit te bevestigen. Klik op Ja.
  4. Verwijs de beheerde identiteit machtigingen om bulksgewijs uploaden uit te voeren.

Stap 6: De werkstroomstappen controleren en aanpassen

  1. Open de logische app in de ontwerpweergave. Screenshot of Azure Logic Apps designer view.

  2. Controleer de configuratie van elke stap in de werkstroom om te controleren of deze juist is.

  3. Open de stap Bestandsinhoud ophalen met behulp van het pad en corrigeer deze om naar de Azure File Storage in uw tenant te bladeren. Screenshot of get file content.

  4. Werk indien nodig de verbinding bij.

  5. Zorg ervoor dat de stap CSV converteren naar JSON verwijst naar het juiste Exemplaar van de Azure Function-web-app. Screenshot of Azure Function call invocation to convert from CSV to JSON.

  6. Als de inhoud/headers van uw CSV-bestand verschillen, werkt u de stap JSON parseren bij met de JSON-uitvoer die u kunt ophalen uit uw API-aanroep naar de Azure-functie. Postman-uitvoer uit stap 2 gebruiken. Screenshot of Parse JSON step.

  7. Zorg er in de stap SCIMUser voor dat de CSV-velden correct worden toegewezen aan de SCIM-kenmerken die worden gebruikt voor verwerking.

    Screenshot of Construct SCIM user step.

  8. Zorg ervoor dat u in de stap SCIMBulkPayload naar API-eindpunt verzenden het juiste API-eindpunt en verificatiemechanisme gebruikt.

    Screenshot of invoking bulk upload API with managed identity.

Stap 7: Trigger uitvoeren en uw Logic Apps-werkstroom testen

  1. Klik in de versie Algemeen beschikbaar van de ontwerper van Logic Apps op Trigger uitvoeren om de werkstroom handmatig uit te voeren. Screenshot of running the Logic App.
  2. Nadat de uitvoering is voltooid, controleert u welke actie Logic Apps in elke iteratie heeft uitgevoerd.
  3. In de laatste iteratie ziet u dat de Logic Apps gegevens uploadt naar het eindpunt van de inkomende inrichtings-API. 202 Accept Zoek naar statuscode. U kunt de aanvraag voor bulksgewijs uploaden kopiëren en verifiëren. Screenshot of the Logic Apps execution result.

Volgende stappen