Aprowizowanie przychodzące oparte na interfejsie API za pomocą usługi Azure Logic Apps
W tym samouczku opisano sposób użycia przepływu pracy usługi Azure Logic Apps w celu zaimplementowania aprowizacji przychodzącej opartej na interfejsie API entra firmy Microsoft. Wykonując kroki opisane w tym samouczku, możesz przekonwertować plik CSV zawierający dane HR na ładunek żądania zbiorczego i wysłać go do punktu końcowego interfejsu API aprowizacji /bulkUpload firmy Microsoft. Artykuł zawiera również wskazówki dotyczące sposobu użycia tego samego wzorca integracji z dowolnym systemem rekordów.
Scenariusz integracji
Wymagania biznesowe
System rekordów okresowo generuje eksporty plików CSV zawierające dane procesu roboczego. Chcesz zaimplementować integrację, która odczytuje dane z pliku CSV i automatycznie aprowizuje konta użytkowników w katalogu docelowym (lokalna usługa Active Directory dla użytkowników hybrydowych i identyfikatora Entra firmy Microsoft dla użytkowników korzystających tylko z chmury).
Wymaganie implementacji
Z perspektywy implementacji:
- Chcesz użyć przepływu pracy usługi Azure Logic Apps, aby odczytywać dane z eksportów plików CSV dostępnych w udziale plików platformy Azure i wysyłać je do punktu końcowego interfejsu API aprowizacji dla ruchu przychodzącego.
- W przepływie pracy usługi Azure Logic Apps nie chcesz implementować złożonej logiki porównywania danych tożsamości między systemem rekordu i katalogu docelowego.
- Chcesz użyć usługi aprowizacji firmy Microsoft, aby zastosować reguły aprowizacji zarządzanej przez it do automatycznego tworzenia/aktualizowania/włączania/wyłączania kont w katalogu docelowym (lokalna usługa Active Directory lub Microsoft Entra ID).
Odmiany scenariusza integracji
Chociaż w tym samouczku używany jest plik CSV jako system rekordów, możesz dostosować przykładowy przepływ pracy usługi Azure Logic Apps do odczytywania danych z dowolnego systemu rekordów. Usługa Azure Logic Apps udostępnia szeroką gamę wbudowanych łączników i łączników zarządzanych ze wstępnie utworzonymi wyzwalaczami i akcjami, których można używać w przepływie pracy integracji.
Oto lista odmian scenariusza integracji dla przedsiębiorstw, w którym można zaimplementować aprowizację przychodzącą oparte na interfejsie API za pomocą przepływu pracy usługi Logic Apps.
# | System rekordu | Wskazówki dotyczące integracji dotyczące odczytywania danych źródłowych przy użyciu usługi Logic Apps |
---|---|---|
1 | Pliki przechowywane na serwerze SFTP | Użyj wbudowanego łącznika SFTP lub zarządzanego łącznika SSH SFTP, aby odczytywać dane z plików przechowywanych na serwerze SFTP. |
2 | Tabela bazy danych | Jeśli używasz programu Azure SQL Server lub lokalnego programu SQL Server, użyj łącznika programu SQL Server , aby odczytać dane tabeli. Jeśli używasz bazy danych Oracle, użyj łącznika bazy danych Oracle, aby odczytać dane tabeli. |
3 | Lokalna i hostowana w chmurze platforma SAP S/4 lub Klasyczne lokalne systemy SAP, takie jak R/3 i ECC |
Użyj łącznika SAP, aby pobrać dane tożsamości z systemu SAP. Aby zapoznać się z przykładami dotyczącymi konfigurowania tego łącznika, zapoznaj się z typowymi scenariuszami integracji sap przy użyciu usługi Azure Logic Apps i łącznika SAP. |
100 | IBM MQ | Użyj łącznika IBM MQ, aby odbierać komunikaty aprowizacji z kolejki. |
5 | Kadry Dynamics 365 | Łącznik Dataverse służy do odczytywania danych z tabel Usługi Dataverse używanych przez usługę Microsoft Dynamics 365 Human Resources. |
6 | Każdy system, który uwidacznia interfejsy API REST | Jeśli nie znajdziesz łącznika dla systemu rekordów w bibliotece łącznika usługi Logic Apps, możesz utworzyć własny łącznik niestandardowy, aby odczytywać dane z systemu rekordów. |
Po odczytaniu danych źródłowych zastosuj reguły przetwarzania wstępnego i przekonwertuj dane wyjściowe z systemu rekordu na żądanie zbiorcze, które można wysłać do punktu końcowego interfejsu API zbiorczego aprowizacji firmy Microsoft.
Ważne
Jeśli chcesz udostępnić przepływ pracy integracji ruchu przychodzącego opartego na interfejsie API i integracji usługi Logic Apps ze społecznością, utwórz szablon aplikacji logiki, zapoznaj się z instrukcjami dotyczącymi korzystania z niego i prześlij żądanie ściągnięcia w celu dołączenia do repozytorium entra-id-inbound-provisioning
GitHub .
Jak używać tego samouczka
Szablon wdrażania usługi Logic Apps opublikowany w repozytorium GitHub inbound provisioning firmy Microsoft automatyzuje kilka zadań. Ma również logikę obsługi dużych plików CSV i fragmentowania żądania zbiorczego w celu wysyłania 50 rekordów w każdym żądaniu. Poniżej przedstawiono sposób testowania i dostosowywania go zgodnie z wymaganiami dotyczącymi integracji.
Uwaga
Przykładowy przepływ pracy usługi Azure Logic Apps jest dostarczany jako "zgodnie z" na potrzeby dokumentacji implementacji. Jeśli masz związane z nim pytania lub jeśli chcesz go ulepszyć, skorzystaj z repozytorium projektu GitHub.
# | Zadanie automatyzacji | Wskazówki dotyczące implementacji | Dostosowanie zaawansowane |
---|---|---|---|
1 | Odczytywanie danych procesu roboczego z pliku CSV. | Przepływ pracy usługi Logic Apps używa funkcji platformy Azure do odczytywania pliku CSV przechowywanego w udziale plików platformy Azure. Funkcja platformy Azure konwertuje dane CSV na format JSON. Jeśli format pliku CSV jest inny, zaktualizuj krok przepływu pracy "Przeanalizuj dane JSON" i "Construct SCIMUser". | Jeśli system rekordów jest inny, zapoznaj się ze wskazówkami podanymi w sekcji Scenariusz integracji odmiany dotyczące dostosowywania przepływu pracy usługi Logic Apps przy użyciu odpowiedniego łącznika. |
2 | Wstępne przetwarzanie i konwertowanie danych na format SCIM. | Domyślnie przepływ pracy usługi Logic Apps konwertuje każdy rekord w pliku CSV na reprezentację użytkownika podstawowego SCIM + użytkownika enterprise. Jeśli planujesz używać niestandardowych rozszerzeń schematu SCIM, zaktualizuj krok "Construct SCIMUser", aby uwzględnić niestandardowe rozszerzenia schematu SCIM. | Jeśli chcesz uruchomić kod języka C# na potrzeby zaawansowanego formatowania i walidacji danych, użyj niestandardowej usługi Azure Functions. |
3 | Użyj właściwej metody uwierzytelniania | Możesz użyć jednostki usługi lub użyć tożsamości zarządzanej, aby uzyskać dostęp do interfejsu API aprowizacji ruchu przychodzącego. Zaktualizuj krok "Wyślij element SCIMBulkPayload do punktu końcowego interfejsu API" przy użyciu odpowiedniej metody uwierzytelniania. | - |
100 | Aprowizuj konta w identyfikatorze lokalna usługa Active Directory lub Microsoft Entra ID. | Konfigurowanie aplikacji aprowizacji przychodzącej opartej na interfejsie API. Spowoduje to wygenerowanie unikatowego punktu końcowego interfejsu API /bulkUpload . Zaktualizuj krok "Wyślij element SCIMBulkPayload do punktu końcowego interfejsu API", aby użyć odpowiedniego punktu końcowego interfejsu API bulkUpload. | Jeśli planujesz używać żądania zbiorczego z niestandardowym schematem SCIM, rozszerz schemat aplikacji aprowizacji, aby uwzględnić niestandardowe atrybuty schematu SCIM. |
5 | Przeskanuj dzienniki aprowizacji i ponów próbę aprowizacji dla rekordów, które zakończyły się niepowodzeniem. | Ta automatyzacja nie została jeszcze zaimplementowana w przykładowym przepływie pracy usługi Logic Apps. Aby go zaimplementować, zapoznaj się z interfejsem API programu Graph dzienników aprowizacji. | - |
6 | Wdróż automatyzację opartą na usłudze Logic Apps w środowisku produkcyjnym. | Po zweryfikowaniu przepływu aprowizacji opartego na interfejsie API i dostosowaniu przepływu pracy usługi Logic Apps w celu spełnienia wymagań wdróż automatyzację w środowisku. | - |
Krok 1. Tworzenie konta usługi Azure Storage do hostowania pliku CSV
Kroki opisane w tej sekcji są opcjonalne. Jeśli masz już istniejące konto magazynu lub chcesz odczytać plik CSV z innego źródła, takiego jak witryna programu SharePoint lub magazyn obiektów blob, zaktualizuj aplikację logiki, aby korzystała z wybranego łącznika.
- Zaloguj się do witryny Azure Portal jako co najmniej administrator aplikacji.
- Wyszukaj ciąg "Konta magazynu" i utwórz nowe konto magazynu.
- Przypisz grupę zasobów i nadaj jej nazwę.
- Po utworzeniu konta magazynu przejdź do zasobu.
- Kliknij opcję menu "Udział plików" i utwórz nowy udział plików.
- Sprawdź, czy tworzenie udziału plików zakończyło się pomyślnie.
- Przekaż przykładowy plik CSV do udziału plików przy użyciu opcji przekazywania.
- Oto zrzut ekranu przedstawiający kolumny w pliku CSV.
Krok 2. Konfigurowanie konwertera CSV2JSON funkcji platformy Azure
W przeglądarce skojarzonej z witryną Azure Portal otwórz adres URL repozytorium GitHub — https://github.com/joelbyford/CSVtoJSONcore.
Kliknij link "Wdróż na platformie Azure", aby wdrożyć tę funkcję platformy Azure w dzierżawie platformy Azure.
Określ grupę zasobów, w ramach której ma zostać wdrożona ta funkcja platformy Azure.
Jeśli zostanie wyświetlony błąd "Ten region ma limit przydziału 0 wystąpień", spróbuj wybrać inny region.
Upewnij się, że wdrożenie funkcji platformy Azure jako usługi App Service zakończyło się pomyślnie.
Przejdź do grupy zasobów i otwórz konfigurację aplikacji internetowej. Upewnij się, że jest w stanie "Uruchomiono". Skopiuj domyślną nazwę domeny skojarzona z aplikacją internetową.
Uruchom następujący skrypt programu PowerShell, aby sprawdzić, czy punkt końcowy CSVtoJSON działa zgodnie z oczekiwaniami. Ustaw poprawne wartości zmiennych
$csvFilePath
i$uri
w skry skrycie.# 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
Jeśli wdrożenie funkcji platformy Azure zakończy się pomyślnie, ostatni wiersz skryptu wyświetli wersję JSON pliku CSV.
Aby zezwolić usłudze Logic Apps na wywołanie tej funkcji platformy Azure, w ustawieniu CORS dla aplikacji internetowej wprowadź gwiazdkę (*) i "Zapisz" konfigurację.
Krok 3. Konfigurowanie aprowizacji użytkowników przychodzących opartych na interfejsie API
- Konfigurowanie aprowizacji użytkowników przychodzących opartych na interfejsie API.
Krok 4. Konfigurowanie przepływu pracy usługi Azure Logic Apps
Kliknij poniższy przycisk, aby wdrożyć szablon usługi Azure Resource Manager dla przepływu pracy CSV2SCIMBulkUpload Logic Apps.
W obszarze szczegóły wystąpienia zaktualizuj wyróżnione elementy, skopiuj wartości wklejania z poprzednich kroków.
W przypadku parametru
Azurefile_access Key
otwórz konto magazynu plików platformy Azure i skopiuj klucz dostępu znajdujący się w obszarze "Zabezpieczenia i sieć".
Kliknij opcję "Przejrzyj i utwórz", aby rozpocząć wdrażanie.
Po zakończeniu wdrażania zostanie wyświetlony następujący komunikat.
Krok 5. Konfigurowanie tożsamości zarządzanej przypisanej przez system
- Odwiedź blok Ustawienia —> tożsamość przepływu pracy usługi Logic Apps.
- Włącz tożsamość zarządzaną przypisaną przez system.
- Zostanie wyświetlony monit o potwierdzenie użycia tożsamości zarządzanej. Kliknij pozycję Tak.
- Przyznaj tożsamości zarządzanej uprawnienia do zbiorczego przekazywania.
Krok 6. Przeglądanie i dostosowywanie kroków przepływu pracy
Przejrzyj konfigurację każdego kroku w przepływie pracy, aby upewnić się, że jest ona poprawna.
Otwórz krok "Pobieranie zawartości pliku przy użyciu ścieżki" i popraw go, aby przejść do usługi Azure File Storage w dzierżawie.
Zaktualizuj połączenie, jeśli jest to wymagane.
Upewnij się, że krok "Konwertuj plik CSV na JSON" wskazuje odpowiednie wystąpienie aplikacji internetowej funkcji platformy Azure.
Jeśli zawartość/nagłówki pliku CSV są inne, zaktualizuj krok "Analizowanie kodu JSON" przy użyciu danych wyjściowych JSON, które można pobrać z wywołania interfejsu API do funkcji platformy Azure. Użyj danych wyjściowych programu PowerShell z kroku 2.
W kroku "Konstruowanie elementu SCIMUser" upewnij się, że pola CSV są mapowanie poprawnie na atrybuty SCIM, które będą używane do przetwarzania.
W kroku "Wyślij SCIMBulkPayload do punktu końcowego interfejsu API" upewnij się, że używasz odpowiedniego punktu końcowego interfejsu API i mechanizmu uwierzytelniania.
Krok 7. Uruchamianie wyzwalacza i testowanie przepływu pracy usługi Logic Apps
- W wersji "Ogólnie dostępnej" projektanta usługi Logic Apps kliknij pozycję Uruchom wyzwalacz, aby ręcznie wykonać przepływ pracy.
- Po zakończeniu wykonywania zapoznaj się z akcją usługi Logic Apps wykonywaną w każdej iteracji.
- W ostatniej iteracji powinny zostać wyświetlone dane przekazywania usługi Logic Apps do punktu końcowego interfejsu API aprowizacji dla ruchu przychodzącego.
202 Accept
Poszukaj kodu stanu. Możesz skopiować i wkleić i zweryfikować żądanie przekazywania zbiorczego.