Sdílet prostřednictvím


Příchozí zřizování řízené rozhraním API s využitím Azure Logic Apps

Tento kurz popisuje, jak pomocí pracovního postupu Azure Logic Apps implementovat příchozí zřizování řízené rozhraním API microsoft Entra ID. Pomocí kroků v tomto kurzu můžete převést soubor CSV obsahující data lidských zdrojů na datovou část hromadného požadavku a odeslat ho do koncového bodu rozhraní API Microsoft Entra provisioning /bulkUpload . Článek obsahuje také pokyny k použití stejného modelu integrace s jakýmkoli systémem záznamů.

Scénář integrace

Obchodní požadavek

Váš systém záznamů pravidelně generuje exporty souborů CSV obsahující data pracovního procesu. Chcete implementovat integraci, která čte data ze souboru CSV a automaticky zřídí uživatelské účty ve vašem cílovém adresáři (místní Active Directory pro hybridní uživatele a Id Microsoft Entra pro uživatele jen v cloudu).

Požadavek na implementaci

Z hlediska implementace:

  • Chcete použít pracovní postup Azure Logic Apps ke čtení dat ze souborů CSV dostupných ve sdílené složce Azure a jejich odeslání do koncového bodu rozhraní API pro příchozí zřizování.
  • V pracovním postupu Azure Logic Apps nechcete implementovat složitou logiku porovnávání dat identit mezi systémem záznamů a cílovým adresářem.
  • Chcete použít službu zřizování Microsoft Entra k použití pravidel zřizování spravovaného IT pro automatické vytváření, aktualizaci, povolení nebo zakázání účtů v cílovém adresáři (místní Active Directory nebo ID Microsoft Entra).

Obrázek integrace založené na Azure Logic Apps

Varianty scénářů integrace

I když tento kurz používá soubor CSV jako systém záznamů, můžete přizpůsobit ukázkový pracovní postup Azure Logic Apps tak, aby četl data z libovolného systému záznamu. Azure Logic Apps poskytuje širokou škálu integrovaných konektorů a spravovaných konektorů s předem připravenými triggery a akcemi, které můžete použít v pracovním postupu integrace.

Tady je seznam variant scénářů podnikové integrace, kde je možné implementovat příchozí zřizování řízené rozhraním API pomocí pracovního postupu Logic Apps.

# Systém evidence Pokyny k integraci při použití Logic Apps ke čtení zdrojových dat
0 Soubory uložené na serveru SFTP Ke čtení dat ze souborů uložených na serveru SFTP použijte integrovaný konektor SFTP nebo spravovaný konektor SFTP SSH.
2 Tabulka databáze Pokud používáte Azure SQL Server nebo místní SQL Server, ke čtení dat tabulky použijte konektor SQL Serveru .
Pokud používáte databázi Oracle, ke čtení dat tabulky použijte konektor databáze Oracle.
3 Místní a cloudově hostovaný SAP S/4 HANA nebo
Klasické místní systémy SAP, jako jsou R/3 a ECC
Pomocí konektoru SAP můžete načíst data identit ze systému SAP. Příklady konfigurace tohoto konektoru najdete v běžných scénářích integrace SAP pomocí Azure Logic Apps a konektoru SAP.
4 IBM MQ V8.0.0.1 Pomocí konektoru IBM MQ můžete přijímat zprávy z fronty.
5 Dynamics 365 Human Resources Pomocí konektoru Dataverse můžete číst data z tabulek Dataverse používaných Microsoftem Dynamics 365 lidských zdrojů.
6 Jakýkoli systém, který zveřejňuje rozhraní REST API Pokud v knihovně konektorů Logic Apps nenajdete konektor pro váš systém záznamů, můžete vytvořit vlastní konektor pro čtení dat ze systému záznamu.

Po přečtení zdrojových dat použijte pravidla předběžného zpracování a převeďte výstup z vašeho systému záznamu na hromadný požadavek, který lze odeslat do koncového bodu rozhraní API BulkUpload microsoft Entra.

Důležité

Pokud chcete sdílet pracovní postup příchozího zřizování založeného na rozhraní API + pracovní postup integrace Logic Apps s komunitou , vytvořte šablonu aplikace logiky, zdokumentujte kroky, jak ji používat, a odešlete žádost o přijetí změn pro zahrnutí do úložiště entra-id-inbound-provisioningGitHub .

Jak používat tento kurz

Šablona nasazení Logic Apps publikovaná v úložišti GitHubu pro příchozí zřizování Microsoft Entra automatizuje několik úloh. Má také logiku pro zpracování velkých souborů CSV a blokování hromadného požadavku tak, aby v každém požadavku odeslalo 50 záznamů. Tady je postup, jak ho můžete otestovat a přizpůsobit podle požadavků na integraci.

Poznámka:

Ukázkový pracovní postup Azure Logic Apps je k dispozici "tak, jak je" pro referenční informace k implementaci. Pokud máte dotazy související s ním nebo pokud ho chcete vylepšit, použijte úložiště projektu GitHub.

# Úloha Automatizace Průvodce implementací Rozšířené vlastní nastavení
0 Čtení dat pracovního procesu ze souboru CSV Pracovní postup Logic Apps používá funkci Azure Functions ke čtení souboru CSV uloženého ve sdílené složce Azure. Funkce Azure Functions převede data CSV do formátu JSON. Pokud se formát souboru CSV liší, aktualizujte krok pracovního postupu Parsovat JSON a Konstrukt SCIMUser. Pokud se váš systém záznamů liší, projděte si pokyny uvedené v části Scénáře integrace s variantami postupu přizpůsobení pracovního postupu Logic Apps pomocí příslušného konektoru.
2 Předběžné zpracování a převod dat do formátu SCIM Pracovní postup Logic Apps ve výchozím nastavení převede každý záznam v souboru CSV na reprezentaci uživatele SCIM Core + Enterprise. Pokud plánujete použít vlastní rozšíření schématU SCIM, aktualizujte krok Konstruktor SCIMUser tak, aby zahrnoval vaše vlastní rozšíření schématU SCIM. Pokud chcete spustit kód jazyka C# pro pokročilé formátování a ověření dat, použijte vlastní službu Azure Functions.
3 Použití správné metody ověřování K přístupu k rozhraní API pro příchozí zřizování můžete použít instanční objekt nebo spravovanou identitu . Aktualizujte krok Send SCIMBulkPayload do koncového bodu rozhraní API pomocí správné metody ověřování. -
4 Zřiďte účty v místní Active Directory nebo Microsoft Entra ID. Konfigurace příchozí aplikace příchozího zřizování řízeného rozhraním API Tím se vygeneruje jedinečný koncový bod rozhraní API /bulkUpload . Aktualizujte krok Odeslat SCIMBulkPayload do koncového bodu rozhraní API tak, aby používal správný koncový bod rozhraní API bulkUpload. Pokud plánujete použít hromadný požadavek s vlastním schématem SCIM, rozšiřte schéma zřizovací aplikace tak, aby zahrnovalo vlastní atributy schématu SCIM.
5 Zkontrolujte protokoly zřizování a zopakujte zřizování neúspěšných záznamů. Tato automatizace ještě není implementována v ukázkovém pracovním postupu Logic Apps. Pokud ho chcete implementovat, projděte si protokoly zřizování rozhraní Graph API. -
6 Nasaďte automatizaci založenou na Logic Apps do produkčního prostředí. Jakmile ověříte tok zřizování řízený rozhraním API a přizpůsobíte si pracovní postup Logic Apps tak, aby splňoval vaše požadavky, nasaďte automatizaci ve svém prostředí. -

Krok 1: Vytvoření účtu služby Azure Storage pro hostování souboru CSV

Kroky popsané v této části jsou volitelné. Pokud už máte existující účet úložiště nebo chcete číst soubor CSV z jiného zdroje, jako je sharepointový web nebo úložiště objektů blob, aktualizujte aplikaci logiky tak, aby používala váš konektor.

  1. Přihlaste se k webu Azure Portal jako alespoň správce aplikace.
  2. Vyhledejte "Účty úložiště" a vytvořte nový účet úložiště. Snímek obrazovky s vytvořením nového účtu úložiště
  3. Přiřaďte skupinu prostředků a pojmenujte ji. Snímek obrazovky s přiřazením skupiny prostředků
  4. Po vytvoření účtu úložiště přejděte k prostředku.
  5. Klikněte na možnost nabídky Sdílená složka a vytvořte novou sdílenou složku. Snímek obrazovky s vytvářením nové sdílené složky
  6. Ověřte, že vytvoření sdílené složky proběhlo úspěšně. Snímek obrazovky s vytvořenou sdílenou složkou
  7. Nahrajte ukázkový soubor CSV do sdílené složky pomocí možnosti nahrání.
  8. Tady je snímek obrazovky se sloupci v souboru CSV. Snímek obrazovky se sloupci v Excelu

Krok 2: Konfigurace převaděče služby Azure Functions CSV2JSON

  1. V prohlížeči přidruženém k webu Azure Portal otevřete adresu URL úložiště GitHub – https://github.com/joelbyford/CSVtoJSONcore.

  2. Kliknutím na odkaz Nasadit do Azure tuto funkci Azure nasadíte do svého tenanta Azure. Snímek obrazovky s nasazením funkce Azure Functions

  3. Zadejte skupinu prostředků, do které se má tato funkce Azure nasadit. Snímek obrazovky s konfigurací skupiny prostředků Funkce Azure

    Pokud se zobrazí chyba "Tato oblast má kvótu 0 instancí", zkuste vybrat jinou oblast.

  4. Ujistěte se, že nasazení funkce Azure Functions jako služby App Service proběhlo úspěšně.

  5. Přejděte do skupiny prostředků a otevřete konfiguraci webové aplikace. Ujistěte se, že je ve stavu Spuštěno. Zkopírujte výchozí název domény přidružený k webové aplikaci. Snímek obrazovky s názvem domény webové aplikace Azure Functions

  6. Spuštěním následujícího skriptu PowerShellu otestujte, jestli koncový bod CSVtoJSON funguje podle očekávání. Nastavte správné hodnoty proměnných $csvFilePath a $uri ve skriptu.

    # Step 1: Read the CSV file 
    $csvFilePath = "C:\Path-to-CSV-file\hr-user-data.csv" 
    $csvContent = Get-Content -Path $csvFilePath 
    
    # Step 2: Set up the request 
    $uri = "https://az-function-webapp-your-domain/csvtojson" 
    $headers = @{ 
         "Content-Type" = "text/csv" 
    } 
    $body = $csvContent -join "`n"  # Join the CSV lines into a single string 
    
    # Step 3: Send the POST request 
    $response = Invoke-WebRequest -Uri $uri -Method POST -Headers $headers -Body $body 
    
    # Output and format the JSON response 
    $response.Content | ConvertFrom-JSON | ConvertTo-JSON 
    
  7. Pokud je nasazení funkce Azure Functions úspěšné, poslední řádek skriptu vypíše verzi JSON souboru CSV.

    Snímek obrazovky s odpovědí funkce Azure Functions .

  8. Pokud chcete službě Logic Apps povolit vyvolání této funkce Azure Functions, zadejte v nastavení CORS pro webovou aplikaci hvězdičku (*) a uložte konfiguraci. Snímek obrazovky s nastavením CORS funkce Azure Functions

Krok 3: Konfigurace zřizování příchozích uživatelů řízených rozhraním API

  • Konfigurace zřizování příchozích uživatelů řízených rozhraním API

Krok 4: Konfigurace pracovního postupu Azure Logic Apps

  1. Kliknutím na následující tlačítko nasadíte šablonu Azure Resource Manageru pro pracovní postup CSV2SCIMBulkUpload Logic Apps.

    Nasazení do Azure

  2. V části Podrobnosti o instanci aktualizujte zvýrazněné položky a zkopírujte hodnoty z předchozích kroků. Snímek obrazovky s podrobnostmi instance Azure Logic Apps

  3. Pro tento Azurefile_access Key parametr otevřete účet úložiště souborů Azure a zkopírujte přístupový klíč uvedený v části Zabezpečení a sítě.
    Snímek obrazovky s přístupovými klíči Azure File

  4. Kliknutím na možnost Zkontrolovat a vytvořit spusťte nasazení.

  5. Po dokončení nasazení se zobrazí následující zpráva. Snímek obrazovky s dokončenou nasazením Azure Logic Apps

Krok 5: Konfigurace spravované identity přiřazené systémem

  1. Navštivte okno Nastavení –> Identita pracovního postupu Logic Apps.
  2. Povolte spravovanou identitu přiřazenou systémem. Snímek obrazovky s povolením spravované identity
  3. Zobrazí se výzva k potvrzení použití spravované identity. Klikněte na Ano.
  4. Udělte spravované identitě oprávnění k hromadnému nahrání.

Krok 6: Kontrola a úprava kroků pracovního postupu

  1. Otevřete aplikaci logiky v zobrazení návrháře. Snímek obrazovky se zobrazením návrháře Azure Logic Apps

  2. Zkontrolujte konfiguraci jednotlivých kroků v pracovním postupu a ujistěte se, že je správná.

  3. Otevřete krok Získat obsah souboru pomocí cesty a opravte ho a přejděte do služby Azure File Storage ve vašem tenantovi. Snímek obrazovky s obsahem získat soubor

  4. V případě potřeby aktualizujte připojení.

  5. Ujistěte se, že váš krok "Převést CSV na JSON" ukazuje na správnou instanci webové aplikace Azure Functions. Snímek obrazovky s voláním funkce Azure Functions, která se má převést ze souboru CSV na JSON

  6. Pokud se obsah souboru CSV nebo hlavičky liší, aktualizujte krok Parsovat JSON výstupem JSON, který můžete načíst z volání rozhraní API do funkce Azure Functions. Použijte výstup PowerShellu z kroku 2. Snímek obrazovky s krokem Parsovat JSON

  7. V kroku Konstruktor SCIMUser se ujistěte, že se pole CSV správně mapují na atributy SCIM, které se použijí ke zpracování.

    Snímek obrazovky s krokem uživatele konstruktoru SCIM

  8. V kroku Odeslat SCIMBulkPayload do koncového bodu rozhraní API se ujistěte, že používáte správný koncový bod rozhraní API a ověřovací mechanismus.

    Snímek obrazovky s voláním rozhraní API pro hromadné nahrávání se spravovanou identitou

Krok 7: Spuštění triggeru a otestování pracovního postupu Logic Apps

  1. Ve verzi Návrháře Pro Logic Apps obecně k dispozici klikněte na Spustit trigger a spusťte pracovní postup ručně. Snímek obrazovky se spuštěním aplikace logiky
  2. Po dokončení provádění zkontrolujte, jakou akci Služba Logic Apps prováděla v každé iteraci.
  3. V závěrečné iteraci byste měli vidět, že Služba Logic Apps nahrává data do koncového bodu rozhraní API pro příchozí zřizování. 202 Accept Vyhledejte stavový kód. Žádost o hromadné nahrání můžete zkopírovat a ověřit. Snímek obrazovky s výsledkem spuštění Logic Apps

Další kroky