Udostępnij za pośrednictwem


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).

Grafika przedstawiająca integrację opartą na usłudze Azure Logic Apps.

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-provisioningGitHub .

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.

  1. Zaloguj się do witryny Azure Portal jako co najmniej administrator aplikacji.
  2. Wyszukaj ciąg "Konta magazynu" i utwórz nowe konto magazynu. Zrzut ekranu przedstawiający tworzenie nowego konta magazynu.
  3. Przypisz grupę zasobów i nadaj jej nazwę. Zrzut ekranu przedstawiający przypisanie grupy zasobów.
  4. Po utworzeniu konta magazynu przejdź do zasobu.
  5. Kliknij opcję menu "Udział plików" i utwórz nowy udział plików. Zrzut ekranu przedstawiający tworzenie nowego udziału plików.
  6. Sprawdź, czy tworzenie udziału plików zakończyło się pomyślnie. Zrzut ekranu przedstawiający utworzony udział plików.
  7. Przekaż przykładowy plik CSV do udziału plików przy użyciu opcji przekazywania.
  8. Oto zrzut ekranu przedstawiający kolumny w pliku CSV. Zrzut ekranu przedstawiający kolumny w programie Excel.

Krok 2. Konfigurowanie konwertera CSV2JSON funkcji platformy Azure

  1. W przeglądarce skojarzonej z witryną Azure Portal otwórz adres URL repozytorium GitHub — https://github.com/joelbyford/CSVtoJSONcore.

  2. Kliknij link "Wdróż na platformie Azure", aby wdrożyć tę funkcję platformy Azure w dzierżawie platformy Azure. Zrzut ekranu przedstawiający wdrażanie funkcji platformy Azure.

  3. Określ grupę zasobów, w ramach której ma zostać wdrożona ta funkcja platformy Azure. Zrzut ekranu przedstawiający konfigurowanie grupy zasobów funkcji platformy Azure.

    Jeśli zostanie wyświetlony błąd "Ten region ma limit przydziału 0 wystąpień", spróbuj wybrać inny region.

  4. Upewnij się, że wdrożenie funkcji platformy Azure jako usługi App Service zakończyło się pomyślnie.

  5. 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ą. Zrzut ekranu przedstawiający nazwę domeny aplikacji internetowej funkcji platformy Azure.

  6. Otwórz klienta Postman, aby sprawdzić, czy punkt końcowy CSVtoJSON działa zgodnie z oczekiwaniami. Wklej nazwę domeny skopiowaną z poprzedniego kroku. Użyj typu zawartości "text/csv" i opublikuj przykładowy plik CSV w treści żądania do punktu końcowego: https://[your-domain-name]/csvtojsonZrzut ekranu przedstawiający klienta Postman wywołującego funkcję platformy Azure.

  7. Jeśli wdrożenie funkcji platformy Azure zakończy się pomyślnie, w odpowiedzi otrzymasz wersję JSON pliku CSV ze stanem 200 OK.

    Zrzut ekranu przedstawiający odpowiedź funkcji platformy Azure.

  8. Aby zezwolić usłudze Logic Apps na wywołanie tej funkcji platformy Azure, w ustawieniu CORS dla aplikacji internetowej wprowadź gwiazdkę (*) i "Zapisz" konfigurację. Zrzut ekranu przedstawiający ustawienie mechanizmu CORS funkcji platformy Azure.

Krok 3. Konfigurowanie aprowizacji użytkowników przychodzących opartych na interfejsie API

Krok 4. Konfigurowanie przepływu pracy usługi Azure Logic Apps

  1. Kliknij poniższy przycisk, aby wdrożyć szablon usługi Azure Resource Manager dla przepływu pracy CSV2SCIMBulkUpload Logic Apps.

    Wdróż na platformie Azure

  2. W obszarze szczegóły wystąpienia zaktualizuj wyróżnione elementy, skopiuj wartości wklejania z poprzednich kroków. Zrzut ekranu przedstawiający szczegóły wystąpienia usługi Azure Logic Apps.

  3. 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ć".
    Zrzut ekranu przedstawiający klucze dostępu do plików platformy Azure.

  4. Kliknij opcję "Przejrzyj i utwórz", aby rozpocząć wdrażanie.

  5. Po zakończeniu wdrażania zostanie wyświetlony następujący komunikat. Zrzut ekranu przedstawiający ukończone wdrażanie usługi Azure Logic Apps.

Krok 5. Konfigurowanie tożsamości zarządzanej przypisanej przez system

  1. Odwiedź blok Ustawienia —> tożsamość przepływu pracy usługi Logic Apps.
  2. Włącz tożsamość zarządzaną przypisaną przez system. Zrzut ekranu przedstawiający włączanie tożsamości zarządzanej.
  3. Zostanie wyświetlony monit o potwierdzenie użycia tożsamości zarządzanej. Kliknij pozycję Tak.
  4. Przyznaj tożsamości zarządzanej uprawnienia do zbiorczego przekazywania.

Krok 6. Przeglądanie i dostosowywanie kroków przepływu pracy

  1. Otwórz aplikację logiki w widoku projektanta. Zrzut ekranu przedstawiający widok projektanta usługi Azure Logic Apps.

  2. Przejrzyj konfigurację każdego kroku w przepływie pracy, aby upewnić się, że jest ona poprawna.

  3. 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. Zrzut ekranu przedstawiający pobieranie zawartości pliku.

  4. Zaktualizuj połączenie, jeśli jest to wymagane.

  5. Upewnij się, że krok "Konwertuj plik CSV na JSON" wskazuje odpowiednie wystąpienie aplikacji internetowej funkcji platformy Azure. Zrzut ekranu przedstawiający wywołanie wywołania funkcji platformy Azure w celu przekonwertowania z pliku CSV na format JSON.

  6. 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 narzędzia Postman z kroku 2. Zrzut ekranu przedstawiający krok Analizowanie kodu JSON.

  7. W kroku "Konstruowanie elementu SCIMUser" upewnij się, że pola CSV są mapowanie poprawnie na atrybuty SCIM, które będą używane do przetwarzania.

    Zrzut ekranu przedstawiający krok konstruowania użytkownika SCIM.

  8. 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.

    Zrzut ekranu przedstawiający wywoływanie interfejsu API przekazywania zbiorczego przy użyciu tożsamości zarządzanej.

Krok 7. Uruchamianie wyzwalacza i testowanie przepływu pracy usługi Logic Apps

  1. W wersji "Ogólnie dostępnej" projektanta usługi Logic Apps kliknij pozycję Uruchom wyzwalacz, aby ręcznie wykonać przepływ pracy. Zrzut ekranu przedstawiający uruchamianie aplikacji logiki.
  2. Po zakończeniu wykonywania zapoznaj się z akcją usługi Logic Apps wykonywaną w każdej iteracji.
  3. 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. Zrzut ekranu przedstawiający wynik wykonywania usługi Logic Apps.

Następne kroki