Share via


API-driven inkommande etablering med Azure Logic Apps

I den här självstudien beskrivs hur du använder Azure Logic Apps-arbetsflöde för att implementera API-driven inkommande etablering i Microsoft Entra ID. Med hjälp av stegen i den här självstudien kan du konvertera en CSV-fil som innehåller HR-data till en nyttolast för massbegäran och skicka den till Microsoft Entra-etableringen /bulkUpload API-slutpunkten. Artikeln innehåller också vägledning om hur samma integrationsmönster kan användas med valfritt arkivhandlingssystem.

Integrationsscenario

Affärsbehov

Ditt postsystem genererar regelbundet CSV-filexporter som innehåller arbetsdata. Du vill implementera en integrering som läser data från CSV-filen och automatiskt etablerar användarkonton i målkatalogen (lokal Active Directory för hybridanvändare och Microsoft Entra-ID för enbart molnanvändare).

Implementeringskrav

Ur ett implementeringsperspektiv:

  • Du vill använda ett Azure Logic Apps-arbetsflöde för att läsa data från CSV-filexporter som är tillgängliga i en Azure-filresurs och skicka dem till api-slutpunkten för inkommande etablering.
  • I ditt Azure Logic Apps-arbetsflöde vill du inte implementera den komplexa logiken för att jämföra identitetsdata mellan ditt system med post och målkatalog.
  • Du vill använda Microsoft Entra-etableringstjänsten för att tillämpa dina IT-hanterade etableringsregler för att automatiskt skapa/uppdatera/aktivera/inaktivera konton i målkatalogen (lokal Active Directory eller Microsoft Entra-ID).

Graphic of Azure Logic Apps-based integration.

Integreringsscenariovariationer

I den här självstudien används en CSV-fil som ett arkivhandlingssystem, men du kan anpassa Azure Logic Apps-exempelarbetsflödet för att läsa data från alla postsystem. Azure Logic Apps tillhandahåller ett brett utbud av inbyggda anslutningsappar och hanterade anslutningsappar med fördefinierade utlösare och åtgärder som du kan använda i ditt integreringsarbetsflöde.

Här är en lista över variationer i företagsintegreringsscenariot, där API-driven inkommande etablering kan implementeras med ett Logic Apps-arbetsflöde.

# System för post Integreringsvägledning om hur du använder Logic Apps för att läsa källdata
1 Filer som lagras på SFTP-servern Använd antingen den inbyggda SFTP-anslutningsappen eller den hanterade SFTP SSH-anslutningsappen för att läsa data från filer som lagras på SFTP-servern.
2 Databastabell Om du använder en Azure SQL-server eller lokal SQL Server använder du SQL Server-anslutningsappen för att läsa dina tabelldata.
Om du använder en Oracle-databas använder du Oracle-databasanslutningsappen för att läsa dina tabelldata.
3 Lokal och molnbaserad SAP S/4 HANA eller
Klassiska lokala SAP-system, till exempel R/3 och ECC
Använd SAP-anslutningsappen för att hämta identitetsdata från ditt SAP-system. Exempel på hur du konfigurerar den här anslutningsappen finns i vanliga SAP-integreringsscenarier med hjälp av Azure Logic Apps och SAP-anslutningsappen.
4 IBM MQ Använd IBM MQ-anslutningsappen för att ta emot etableringsmeddelanden från kön.
5 Dynamics 365 personalfrågor Använd Dataverse-anslutningsappen för att läsa data från Dataverse-tabeller som används av Microsoft Dynamics 365 Human Resources.
6 Alla system som exponerar REST-API:er Om du inte hittar någon anslutningsapp för ditt postsystem i Logic Apps-anslutningsbiblioteket kan du skapa en egen anpassad anslutningsapp för att läsa data från postsystemet.

När du har läst källdata tillämpar du dina förbearbetningsregler och konverterar utdata från postsystemet till en massbegäran som kan skickas till Microsoft Entra-etableringsslutpunkten bulkUpload API.

Viktigt!

Om du vill dela ditt API-drivna arbetsflöde för inkommande etablering + Logic Apps-integrering med communityn skapar du en logikappmall, dokumenterar steg om hur du använder den och skickar en pull-begäran om inkludering i GitHub-lagringsplatsen entra-id-inbound-provisioning.

Så här använder du den här självstudien

Logic Apps-distributionsmallen som publicerats i GitHub-lagringsplatsen för inkommande etablering av Microsoft Entra automatiserar flera uppgifter. Den har också logik för hantering av stora CSV-filer och segmentering av massbegäran för att skicka 50 poster i varje begäran. Så här kan du testa det och anpassa det enligt dina integreringskrav.

Kommentar

Azure Logic Apps-exempelarbetsflödet tillhandahålls som det är för implementeringsreferens. Om du har frågor som rör den eller om du vill förbättra den använder du GitHub-projektlagringsplatsen.

# Automation-uppgift Riktlinjer för implementering Avancerad anpassning
1 Läsa arbetsdata från CSV-filen. Logic Apps-arbetsflödet använder en Azure-funktion för att läsa CSV-filen som lagras i en Azure-filresurs. Azure-funktionen konverterar CSV-data till JSON-format. Om csv-filformatet är annorlunda uppdaterar du arbetsflödessteget "Parsa JSON" och "Skapa SCIMUser". Om ditt postsystem är annorlunda kontrollerar du vägledningen i avsnittet Integreringsscenariovariationer om hur du anpassar Logic Apps-arbetsflödet med hjälp av en lämplig anslutningsapp.
2 Förbearbeta och konvertera data till SCIM-format. Som standard konverterar Logic Apps-arbetsflödet varje post i CSV-filen till en SCIM Core User + Enterprise User-representation. Om du planerar att använda anpassade SCIM-schematillägg uppdaterar du steget "Skapa SCIMUser" för att inkludera dina anpassade SCIM-schematillägg. Om du vill köra C#-kod för avancerad formatering och dataverifiering använder du anpassade Azure Functions.
3 Använd rätt autentiseringsmetod Du kan antingen använda tjänstens huvudnamn eller använda hanterad identitet för att komma åt API:et för inkommande etablering. Uppdatera steget "Skicka SCIMBulkPayload till API-slutpunkten" med rätt autentiseringsmetod. -
4 Etablera konton i lokal Active Directory- eller Microsoft Entra-ID. Konfigurera EN API-driven etableringsapp för inkommande trafik. Detta genererar en unik /bulkUpload API-slutpunkt. Uppdatera steget "Skicka SCIMBulkPayload till API-slutpunkten" för att använda rätt bulkUpload API-slutpunkt. Om du planerar att använda massbegäran med anpassat SCIM-schema utökar du schemat för etableringsappen så att det inkluderar dina anpassade SCIM-schemaattribut.
5 Genomsök etableringsloggarna och försök etablera igen efter misslyckade poster. Den här automatiseringen har ännu inte implementerats i logic apps-exempelarbetsflödet. Om du vill implementera det läser du Graph API för etableringsloggar. -
6 Distribuera din Logic Apps-baserade automatisering till produktion. När du har verifierat ditt API-drivna etableringsflöde och anpassat Logic Apps-arbetsflödet för att uppfylla dina krav distribuerar du automatiseringen i din miljö. -

Steg 1: Skapa ett Azure Storage-konto som värd för CSV-filen

De steg som beskrivs i det här avsnittet är valfria. Om du redan har ett befintligt lagringskonto eller vill läsa CSV-filen från en annan källa, till exempel SharePoint-webbplats eller Blob Storage, uppdaterar du logikappen så att den använder valfri anslutningsapp.

  1. Logga in på Azure-portalen som minst programadministratör.
  2. Sök efter "Lagringskonton" och skapa ett nytt lagringskonto. Screenshot of creating new storage account.
  3. Tilldela en resursgrupp och ge den ett namn. Screenshot of resource group assignment.
  4. När lagringskontot har skapats går du till resursen.
  5. Klicka på menyalternativet "Filresurs" och skapa en ny filresurs. Screenshot of creating new file share.
  6. Kontrollera att filresursen har skapats. Screenshot of file share created.
  7. Ladda upp en CSV-exempelfil till filresursen med uppladdningsalternativet.
  8. Här är en skärmbild av kolumnerna i CSV-filen. Screenshot of columns in Excel.

Steg 2: Konfigurera Azure Function CSV2JSON konverterare

  1. I webbläsaren som är associerad med Azure-portalen öppnar du GitHub-lagringsplatsens URL – https://github.com/joelbyford/CSVtoJSONcore.

  2. Klicka på länken "Distribuera till Azure" för att distribuera den här Azure-funktionen till din Azure-klientorganisation. Screenshot of deploying Azure Function.

  3. Ange den resursgrupp under vilken den här Azure-funktionen ska distribueras. Screenshot of configuring Azure Function resource group.

    Om du får felet "Den här regionen har en kvot på 0 instanser" kan du prova att välja en annan region.

  4. Se till att distributionen av Azure-funktionen som en App Service lyckas.

  5. Gå till resursgruppen och öppna WebApp-konfigurationen. Kontrollera att den är i tillståndet "Körs". Kopiera standarddomännamnet som är associerat med webbappen. Screenshot of Azure Function Web App domain name.

  6. Öppna Postman-klienten för att testa om CSVtoJSON-slutpunkten fungerar som förväntat. Klistra in domännamnet som kopierats från föregående steg. Använd Innehållstyp för "text/csv" och publicera en EXEMPEL-CSV-fil i begärandetexten till slutpunkten: https://[your-domain-name]/csvtojsonScreenshot of Postman client calling the Azure Function.

  7. Om Azure-funktionsdistributionen lyckas får du i svaret en JSON-version av CSV-filen med statusen 200 OK.

    Screenshot of Azure Function response.

  8. Om du vill tillåta att Logic Apps anropar den här Azure-funktionen går du till CORS-inställningen för WebApp och anger asterisk (*) och "Spara" konfigurationen. Screenshot of Azure Function CORS setting.

Steg 3: Konfigurera API-driven etablering av inkommande användare

Steg 4: Konfigurera ditt Azure Logic Apps-arbetsflöde

  1. Klicka på knappen nedan för att distribuera Azure Resource Manager-mallen för arbetsflödet CSV2SCIMBulkUpload Logic Apps.

    Deploy to Azure

  2. Under instansinformation uppdaterar du de markerade objekten och kopierar klistrar in värden från föregående steg. Screenshot of Azure Logic Apps instance details.

  3. För parametern Azurefile_access Key öppnar du ditt Azure-fillagringskonto och kopierar åtkomstnyckeln som finns under "Säkerhet och nätverk".
    Screenshot of Azure File access keys.

  4. Klicka på alternativet Granska och skapa för att starta distributionen.

  5. När distributionen är klar visas följande meddelande. Screenshot of Azure Logic Apps deployment complete.

Steg 5: Konfigurera systemtilldelad hanterad identitet

  1. Besök bladet Inställningar –> identitet i ditt Logic Apps-arbetsflöde.
  2. Aktivera Systemtilldelad hanterad identitet. Screenshot of enabling managed identity.
  3. Du får en uppmaning om att bekräfta användningen av den hanterade identiteten. Klicka på Ja.
  4. Ge den hanterade identiteten behörighet att utföra massuppladdning.

Steg 6: Granska och justera arbetsflödesstegen

  1. Öppna logikappen i designervyn. Screenshot of Azure Logic Apps designer view.

  2. Granska konfigurationen av varje steg i arbetsflödet för att kontrollera att det är korrekt.

  3. Öppna steget "Hämta filinnehåll med sökväg" och korrigera det för att bläddra till Azure File Storage i din klientorganisation. Screenshot of get file content.

  4. Uppdatera anslutningen om det behövs.

  5. Kontrollera att steget "Konvertera CSV till JSON" pekar på rätt Azure Function Web App-instans. Screenshot of Azure Function call invocation to convert from CSV to JSON.

  6. Om csv-filinnehållet/huvudena är annorlunda uppdaterar du steget Parsa JSON med JSON-utdata som du kan hämta från API-anropet till Azure-funktionen. Använd Postman-utdata från steg 2. Screenshot of Parse JSON step.

  7. I steget "Skapa SCIMUser" ser du till att CSV-fälten mappas korrekt till DE SCIM-attribut som ska användas för bearbetning.

    Screenshot of Construct SCIM user step.

  8. I steget "Skicka SCIMBulkPayload till API-slutpunkten" kontrollerar du att du använder rätt API-slutpunkt och autentiseringsmekanism.

    Screenshot of invoking bulk upload API with managed identity.

Steg 7: Kör utlösaren och testa ditt Logic Apps-arbetsflöde

  1. I den allmänt tillgängliga versionen av Logic Apps-designern klickar du på Kör utlösare för att köra arbetsflödet manuellt. Screenshot of running the Logic App.
  2. När körningen är klar granskar du vilken åtgärd Logic Apps utförde i varje iteration.
  3. I den slutliga iterationen bör du se Logic Apps ladda upp data till API-slutpunkten för inkommande etablering. Leta 202 Accept efter statuskod. Du kan kopiera och klistra in och verifiera massuppladdningsbegäran. Screenshot of the Logic Apps execution result.

Nästa steg