Konfigurowanie identyfikatora Entra firmy Microsoft w celu aprowizacji użytkowników w katalogu LDAP na potrzeby uwierzytelniania systemu Linux
Poniższa dokumentacja zawiera samouczek pokazujący, jak zarządzać dostępem do systemu Linux. Jest to implementowane przez firmę Microsoft Entra aprowizacji użytkowników w lokalnym katalogu LDAP zaufanym przez ten system Linux, dzięki czemu ci użytkownicy mogą następnie logować się do systemu Linux, który opiera się na tym katalogu LDAP na potrzeby uwierzytelniania użytkowników. Gdy użytkownik zostanie usunięty z identyfikatora Entra firmy Microsoft, nie będzie już mógł zalogować się do systemu Linux.
Uwaga
Scenariusz opisany w tym artykule dotyczy tylko istniejących systemów Linux, które już korzystają z przełącznika usług nazw (NSS) lub modułu LDAP pluggable Authentication Modules (PAM) na potrzeby identyfikacji i uwierzytelniania użytkowników. Maszyny wirtualne z systemem Linux na platformie Azure lub z włączoną usługą Azure Arc powinny być zamiast tego zintegrowane z uwierzytelnianiem firmy Microsoft Entra. Teraz możesz użyć identyfikatora Entra firmy Microsoft jako podstawowej platformy uwierzytelniania i urzędu certyfikacji do protokołu SSH na maszynie wirtualnej z systemem Linux przy użyciu identyfikatora Microsoft Entra ID i uwierzytelniania opartego na certyfikatach OpenSSH, zgodnie z opisem w temacie Logowanie do maszyny wirtualnej z systemem Linux na platformie Azure przy użyciu identyfikatora Microsoft Entra ID i protokołu OpenSSH.
W innych scenariuszach obejmujących aprowizowanie użytkowników do katalogów LDAP, innych niż w przypadku uwierzytelniania systemu Linux, zobacz konfigurowanie identyfikatora Entra firmy Microsoft w celu aprowizacji użytkowników w katalogach LDAP.
Wymagania wstępne dotyczące aprowizacji użytkowników w katalogu LDAP na potrzeby uwierzytelniania systemu Linux
W tym artykule założono, że serwer LDAP jest już obecny w środowisku lokalnym, używanym przez co najmniej jeden system Linux lub inne systemy POSIX na potrzeby uwierzytelniania użytkowników.
Lokalne wymagania wstępne
- System Linux lub inny serwer POSIX, który odpowiada na serwerze katalogu przy użyciu modułu PAM lub NSS.
- Serwer katalogów LDAP obsługujący schemat POSIX, taki jak OpenLDAP, w którym można tworzyć, aktualizować i usuwać użytkowników. Aby uzyskać więcej informacji na temat obsługiwanych serwerów katalogów, zobacz ogólne informacje o łączniku LDAP.
- Komputer z co najmniej 3 GB pamięci RAM do hostowania agenta aprowizacji. Komputer powinien mieć system Windows Server 2016 lub nowszą wersję systemu Windows Server z łącznością z docelowym serwerem katalogów oraz z łącznością wychodzącą z login.microsoftonline.com, innymi domenami microsoft Online Services i azure . Przykładem jest maszyna wirtualna z systemem Windows Server 2016 hostowana w usłudze Azure IaaS lub za serwerem proxy. Na tym serwerze należy zainstalować program .NET Framework 4.7.2.
- Opcjonalnie: mimo że nie jest to wymagane, zaleca się pobranie przeglądarki Microsoft Edge dla systemu Windows Server i użycie jej zamiast programu Internet Explorer.
Wymagania dotyczące chmury
Dzierżawa firmy Microsoft Entra z identyfikatorem Microsoft Entra ID P1 lub Premium P2 (lub EMS E3 lub E5).
Korzystanie z tej funkcji wymaga licencji microsoft Entra ID P1. Aby znaleźć licencję odpowiednią do wymagań, zobacz porównanie ogólnodostępnych funkcji usługi Microsoft Entra ID.
Rola administratora tożsamości hybrydowej do konfigurowania agenta aprowizacji.
Role Administrator aplikacji lub Administrator aplikacji w chmurze do konfigurowania aprowizacji w witrynie Azure Portal lub centrum administracyjnym firmy Microsoft Entra.
Użytkownicy usługi Microsoft Entra, którzy mają być aprowizowani w katalogu LDAP, muszą być już wypełnieni atrybutami, które będą wymagane przez schemat serwera katalogów i są specyficzne dla każdego użytkownika. W szczególności każdy użytkownik musi mieć unikatowy numer jako numer identyfikatora użytkownika. Przed wdrożeniem agenta aprowizacji i przypisaniem użytkowników do katalogu należy wygenerować ten numer z istniejącego atrybutu użytkownika lub rozszerzyć schemat Microsoft Entra i wypełnić ten atrybut dla użytkowników w zakresie. Zobacz Rozszerzalność programu Graph, aby dowiedzieć się, jak tworzyć dodatkowe rozszerzenia katalogu.
Więcej zaleceń i ograniczeń
Poniższe punkty punktowane to więcej zaleceń i ograniczeń.
- Nie zaleca się używania tego samego agenta do synchronizacji w chmurze i aprowizacji aplikacji lokalnych. Firma Microsoft zaleca używanie oddzielnego agenta do synchronizacji w chmurze i jednego na potrzeby aprowizacji aplikacji lokalnych.
- Obecnie w przypadku usług AD LDS nie można aprowizować użytkowników przy użyciu haseł. Dlatego należy wyłączyć zasady haseł dla usług AD LDS lub aprowizować użytkowników w stanie wyłączonym.
- W przypadku innych serwerów katalogów można ustawić początkowe losowe hasło, ale nie można aprowizować hasła użytkownika firmy Microsoft Entra na serwerze katalogu.
- Aprowizowanie użytkowników z protokołu LDAP do identyfikatora Entra firmy Microsoft nie jest obsługiwane.
- Aprowizowanie grup i członkostwa użytkowników na serwerze katalogu nie jest obsługiwane.
Określanie sposobu interakcji łącznika Microsoft Entra LDAP z serwerem katalogów
Przed wdrożeniem łącznika na istniejącym serwerze katalogowym należy omówić z operatorem serwera katalogów w organizacji, jak zintegrować go z serwerem katalogu. Zebrane informacje obejmują informacje o sieci dotyczące sposobu nawiązywania połączenia z serwerem katalogów, sposobu uwierzytelniania łącznika na serwerze katalogów, schematu wybranego przez serwer katalogów do modelowania użytkowników, podstawowych reguł wyróżniających kontekstu nazewnictwa i hierarchii katalogów, sposobu kojarzenia użytkowników na serwerze katalogów z użytkownikami w usłudze Microsoft Entra ID, i co powinno się zdarzyć, gdy użytkownik wykracza poza zakres w identyfikatorze Entra firmy Microsoft. Wdrożenie tego łącznika może wymagać zmian w konfiguracji serwera katalogów, a także zmian konfiguracji w identyfikatorze Firmy Microsoft Entra. W przypadku wdrożeń obejmujących integrowanie identyfikatora Entra firmy Microsoft z serwerem katalogów innej firmy w środowisku produkcyjnym zalecamy klientom pracę z dostawcą serwera katalogów lub partnerem wdrażania, aby uzyskać pomoc, wskazówki i obsługę tej integracji. W tym artykule użyto następujących przykładowych wartości dla biblioteki OpenLDAP.
Ustawienie konfiguracji | Gdzie jest ustawiona wartość | Przykładowa wartość |
---|---|---|
nazwa hosta serwera katalogów | Strona łączności kreatora konfiguracji | APP3 |
numer portu serwera katalogów | Strona łączności kreatora konfiguracji | 636. W przypadku protokołu LDAP za pośrednictwem protokołu SSL lub TLS (LDAPS) użyj portu 636. W przypadku Start TLS programu użyj portu 389. |
konto łącznika w celu zidentyfikowania się na serwerze katalogu | Strona łączności kreatora konfiguracji | cn=admin,dc=contoso,dc=lab |
hasło łącznika do uwierzytelniania się na serwerze katalogów | Strona łączności kreatora konfiguracji | |
strukturalna klasa obiektów dla użytkownika na serwerze katalogu | Strona Typy obiektów kreatora konfiguracji | inetOrgPerson |
pomocnicze klasy obiektów dla użytkownika na serwerze katalogów | Mapowania atrybutów strony aprowizacji w witrynie Azure Portal | posixAccount ishadowAccount |
atrybuty do wypełnienia dla nowego użytkownika | Kreator konfiguracji Wybierz stronę Atrybuty i mapowania atrybutów strony aprowizacji w witrynie Azure Portal | cn , gidNumber , , homeDirectory , objectClass mail , sn , , uidNumber uid userPassword |
hierarchia nazewnictwa wymagana przez serwer katalogów | Mapowania atrybutów strony aprowizacji w witrynie Azure Portal | Ustaw nazwę wyróżniającą nowo utworzonego użytkownika, aby był bezpośrednio poniżej DC=Contoso,DC=lab |
atrybuty korelowania użytkowników z identyfikatorem Entra firmy Microsoft i serwerem katalogów | Mapowania atrybutów strony aprowizacji w witrynie Azure Portal | mail |
Zachowanie anulowania aprowizacji, gdy użytkownik wykracza poza zakres w identyfikatorze Entra firmy Microsoft | Strona anulowania aprowizacji kreatora konfiguracji | Usuwanie użytkownika z serwera katalogów |
Adres sieciowy serwera katalogowego to nazwa hosta i numer portu TCP, zazwyczaj port 389 lub 636. Z wyjątkiem sytuacji, w których serwer katalogu znajduje się ze łącznikiem w tym samym systemie Windows Server lub używasz zabezpieczeń na poziomie sieci, połączenia sieciowe z łącznika do serwera katalogów muszą być chronione przy użyciu protokołu SSL lub TLS. Łącznik obsługuje nawiązywanie połączenia z serwerem katalogów na porcie 389 i włączanie protokołu TLS w ramach sesji przy użyciu polecenia Uruchom protokół TLS. Łącznik obsługuje również nawiązywanie połączenia z serwerem katalogów na porcie 636 dla protokołu LDAPS — LDAP przez protokół TLS.
Musisz mieć zidentyfikowane konto łącznika, aby uwierzytelnić się na serwerze katalogów już skonfigurowanym na serwerze katalogów. To konto jest zwykle identyfikowane z nazwą wyróżniającą i ma skojarzone hasło lub certyfikat klienta. Aby wykonać operacje importowania i eksportowania obiektów w połączonym katalogu, konto łącznika musi mieć wystarczające uprawnienia w modelu kontroli dostępu katalogu. Łącznik musi mieć uprawnienia do zapisu , aby móc eksportować i mieć uprawnienia do odczytu , aby móc importować. Konfiguracja uprawnień jest wykonywana w środowiskach zarządzania samego katalogu docelowego.
Schemat katalogu określa klasy obiektów i atrybuty, które reprezentują rzeczywistą jednostkę w katalogu. Łącznik obsługuje użytkownika reprezentowanego przy użyciu klasy obiektów strukturalnych, takich jak inetOrgPerson
, i opcjonalnie dodatkowe klasy obiektów pomocniczych. Aby łącznik mógł aprowizować użytkowników na serwerze katalogów, podczas konfiguracji w witrynie Azure Portal zdefiniujesz mapowania ze schematu Microsoft Entra na wszystkie obowiązkowe atrybuty. Obejmuje to obowiązkowe atrybuty klasy obiektów strukturalnych, wszelkie superklasy tej klasy obiektu strukturalnego i obowiązkowe atrybuty wszystkich pomocniczych klas obiektów. Ponadto prawdopodobnie również skonfigurujesz mapowania do niektórych opcjonalnych atrybutów tych klas. Serwer katalogowy OpenLDAP ze schematem POSIX do obsługi uwierzytelniania systemu Linux może wymagać, aby nowy użytkownik miał atrybuty podobne do poniższego przykładu.
dn: cn=bsimon,dc=Contoso,dc=lab
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: bsimon
gidNumber: 10000
homeDirectory: /home/bsimon
sn: simon
uid: bsimon
uidNumber: 10011
mail: bsimon@contoso.com
userPassword: initial-password
Reguły hierarchii katalogów implementowane przez serwer katalogów opisują, jak obiekty dla każdego użytkownika odnoszą się do siebie nawzajem i do istniejących obiektów w katalogu. W większości wdrożeń organizacja zdecydowała się mieć płaską hierarchię na serwerze katalogów, w którym każdy obiekt dla użytkownika znajduje się bezpośrednio poniżej wspólnego obiektu podstawowego. Jeśli na przykład podstawowa nazwa wyróżniająca kontekstu nazewnictwa na serwerze katalogów to dc=contoso,dc=com
nowy użytkownik będzie miał nazwę wyróżniającą, taką jak cn=alice,dc=contoso,dc=com
. Jednak niektóre organizacje mogą mieć bardziej złożoną hierarchię katalogów, w tym przypadku należy zaimplementować reguły podczas określania mapowania nazw wyróżniających dla łącznika. Na przykład serwer katalogów może oczekiwać, że użytkownicy będą w jednostkach organizacyjnych według działu, więc nowy użytkownik będzie miał nazwę wyróżniającą, taką jak cn=alice,ou=London,dc=contoso,dc=com
. Ponieważ łącznik nie tworzy obiektów pośrednich dla jednostek organizacyjnych, wszystkie obiekty pośrednie, których oczekuje hierarchia reguł serwera katalogów, musi już istnieć na serwerze katalogów.
Następnie należy zdefiniować reguły dotyczące sposobu, w jaki łącznik powinien określić, czy na serwerze katalogów znajduje się już użytkownik odpowiadający użytkownikowi firmy Microsoft Entra. Każdy katalog LDAP ma unikatową nazwę wyróżniającą dla każdego obiektu na serwerze katalogów, jednak ta nazwa wyróżniająca nie jest często obecna dla użytkowników w usłudze Microsoft Entra ID. Zamiast tego organizacja może mieć inny atrybut, taki jak mail
lub employeeId
, w schemacie serwera katalogów, który jest również obecny dla użytkowników w identyfikatorze Microsoft Entra. Następnie, gdy łącznik aprowizować nowego użytkownika na serwerze katalogów, łącznik może wyszukać, czy w tym katalogu znajduje się już użytkownik o określonej wartości tego atrybutu i utworzyć nowego użytkownika na serwerze katalogów, jeśli nie istnieje.
Jeśli twój scenariusz obejmuje tworzenie nowych użytkowników w katalogu LDAP, a nie tylko aktualizowanie lub usuwanie istniejących użytkowników, należy również określić, w jaki sposób systemy Linux korzystające z tego serwera katalogów będą obsługiwać uwierzytelnianie. Niektóre systemy mogą wysyłać zapytania dotyczące klucza publicznego lub certyfikatu SSH użytkownika z katalogu, co może być odpowiednie dla użytkowników, którzy już przechowują poświadczenia tych formularzy. Jeśli jednak aplikacja, która opiera się na serwerze katalogów, nie obsługuje nowoczesnych protokołów uwierzytelniania lub silniejszych poświadczeń, należy ustawić hasło specyficzne dla aplikacji podczas tworzenia nowego użytkownika w katalogu, ponieważ identyfikator Entra firmy Microsoft nie obsługuje aprowizowania hasła użytkownika Firmy Microsoft Entra.
Na koniec należy uzgodnić zachowanie anulowania aprowizacji. Po skonfigurowaniu łącznika i identyfikator Entra firmy Microsoft nawiązał połączenie między użytkownikiem w usłudze Microsoft Entra ID i użytkownikiem w katalogu — dla użytkownika już w katalogu lub nowego użytkownika, identyfikator Entra firmy Microsoft może aprowizować zmiany atrybutów od użytkownika Microsoft Entra do katalogu. Jeśli użytkownik przypisany do aplikacji zostanie usunięty w identyfikatorze Entra firmy Microsoft, identyfikator Entra firmy Microsoft wyśle operację usuwania na serwer katalogu. Możesz również zaktualizować obiekt na serwerze katalogów, gdy użytkownik wykracza poza zakres możliwości korzystania z aplikacji. To zachowanie zależy od aplikacji, która będzie używać serwera katalogów, jak wiele katalogów, takich jak OpenLDAP, może nie mieć domyślnego sposobu wskazywania, że konto użytkownika jest nieaktywne.
Instalowanie i konfigurowanie agenta aprowizacji programu Microsoft Entra Connect
- Zaloguj się w witrynie Azure Portal.
- Przejdź do pozycji Aplikacje dla przedsiębiorstw i wybierz pozycję Nowa aplikacja.
- Wyszukaj lokalną aplikację ECMA, nadaj aplikacji nazwę i wybierz pozycję Utwórz , aby dodać ją do dzierżawy.
- Z menu przejdź do strony Aprowizowanie aplikacji.
- Wybierz Rozpocznij.
- Na stronie Aprowizowanie zmień tryb na Automatyczny.
- W obszarze Łączność lokalna wybierz pozycję Pobierz i zainstaluj, a następnie wybierz pozycję Akceptuj warunki i pobierz.
- Pozostaw portal i uruchom instalatora agenta aprowizacji, zaakceptuj warunki świadczenia usługi, a następnie wybierz pozycję Zainstaluj.
- Poczekaj na kreatora konfiguracji agenta aprowizacji firmy Microsoft, a następnie wybierz przycisk Dalej.
- W kroku Wybierz rozszerzenie wybierz pozycję Aprowizowanie aplikacji lokalnych, a następnie wybierz pozycję Dalej.
- Agent aprowizacji użyje przeglądarki internetowej systemu operacyjnego, aby wyświetlić okno podręczne służące do uwierzytelniania w usłudze Microsoft Entra ID, a potencjalnie także dostawcy tożsamości organizacji. Jeśli używasz przeglądarki Internet Explorer jako przeglądarki w systemie Windows Server, może być konieczne dodanie witryn internetowych firmy Microsoft do listy zaufanych witryn przeglądarki, aby umożliwić poprawne uruchamianie języka JavaScript.
- Po wyświetleniu monitu o autoryzację podaj poświadczenia administratora firmy Microsoft Entra. Użytkownik musi mieć co najmniej rolę administratora tożsamości hybrydowej.
- Wybierz pozycję Potwierdź , aby potwierdzić ustawienie. Po pomyślnym zakończeniu instalacji możesz wybrać pozycję Zakończ, a także zamknąć instalatora pakietu agenta aprowizacji.
Konfigurowanie lokalnej aplikacji ECMA
W portalu w sekcji Łączność lokalna wybierz wdrożonego agenta i wybierz pozycję Przypisz agentów.
Pozostaw to okno przeglądarki otwarte po zakończeniu następnego kroku konfiguracji przy użyciu kreatora konfiguracji.
Konfigurowanie certyfikatu hosta łącznika ECMA firmy Microsoft
- W systemie Windows Server, w którym jest zainstalowany agent aprowizacji, kliknij prawym przyciskiem myszy Kreatora konfiguracji Microsoft ECMA2Host z menu Start i uruchom jako administrator. Uruchomienie jako administrator systemu Windows jest niezbędne do utworzenia niezbędnych dzienników zdarzeń systemu Windows przez kreatora.
- Po uruchomieniu konfiguracji hosta łącznika ECMA po pierwszym uruchomieniu kreatora zostanie wyświetlony monit o utworzenie certyfikatu. Pozostaw domyślny port 8585 i wybierz pozycję Generuj certyfikat , aby wygenerować certyfikat. Automatycznie wygenerowany certyfikat zostanie podpisany samodzielnie w ramach zaufanego katalogu głównego. Sieć SAN jest zgodna z nazwą hosta.
- Wybierz pozycję Zapisz.
Uwaga
Jeśli wybrano opcję wygenerowania nowego certyfikatu, zarejestruj datę wygaśnięcia certyfikatu, aby upewnić się, że planujesz powrót do kreatora konfiguracji i ponownie wygeneruj certyfikat przed jego wygaśnięciem.
Konfigurowanie ogólnego łącznika LDAP
W zależności od wybranych opcji niektóre ekrany kreatora mogą być niedostępne, a informacje mogą się nieco różnić. Skorzystaj z poniższych informacji, aby przeprowadzić konfigurację.
Wygeneruj token tajny, który będzie używany do uwierzytelniania identyfikatora Entra firmy Microsoft w łączniku. Minimalna liczba znaków i unikatowa dla każdej aplikacji powinna wynosić 12 znaków. Jeśli nie masz jeszcze generatora wpisów tajnych, możesz użyć polecenia programu PowerShell, takiego jak poniżej, aby wygenerować przykładowy ciąg losowy.
-join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_})
Jeśli jeszcze tego nie zrobiono, uruchom Kreatora konfiguracji microsoft ECMA2Host z menu Start.
Na stronie Właściwości wypełnij pola wartościami określonymi w tabeli, która następuje po obrazie, a następnie wybierz pozycję Dalej.
Właściwości Wartość Nazwisko Nazwa wybrana dla łącznika, która powinna być unikatowa dla wszystkich łączników w danym środowisku. Na przykład LDAP
.Czasomierz autosync (minuty) 120 Token tajny Tutaj wprowadź swój token tajny. Minimalna liczba znaków powinna wynosić 12 znaków. Biblioteka DLL rozszerzenia W przypadku ogólnego łącznika LDAP wybierz pozycję Microsoft.IAM.Connector.GenericLdap.dll. Na stronie Łączność skonfigurujesz sposób komunikacji hosta łącznika ECMA z serwerem katalogów i ustawisz niektóre opcje konfiguracji. Wypełnij pola wartościami określonymi w tabeli, która następuje po obrazie, a następnie wybierz pozycję Dalej. Po wybraniu pozycji Dalej łącznik będzie wysyłał zapytanie do serwera katalogów pod kątem jego konfiguracji.
Właściwości Opis Host Nazwa hosta, na którym znajduje się serwer LDAP. W tym przykładzie użyto APP3
nazwy hosta jako przykładowej nazwy hosta.Port Numer portu TCP. Jeśli serwer katalogów jest skonfigurowany dla protokołu LDAP za pośrednictwem protokołu SSL, użyj portu 636. W przypadku Start TLS
programu lub jeśli używasz zabezpieczeń na poziomie sieci, użyj portu 389.Przekroczenie limitu czasu połączenia 180 Wiązanie Ta właściwość określa sposób uwierzytelniania łącznika na serwerze katalogów. Basic
Ustawienie lub ustawienie lubTLS
bez skonfigurowanegoSSL
certyfikatu klienta spowoduje wysłanie prostego powiązania LDAP w celu uwierzytelnienia przy użyciu nazwy wyróżniającej i hasła. Po określeniuSSL
ustawienia lubTLS
i certyfikatu klienta łącznik wyśle powiązanie SASLEXTERNAL
LDAP w celu uwierzytelnienia przy użyciu certyfikatu klienta.Nazwa użytkownika Sposób uwierzytelniania łącznika ECMA na serwerze katalogu. W tym przykładzie cn=admin,dc=contoso,dc=lab
Hasło Hasło użytkownika, który łącznik ECMA będzie uwierzytelniać się na serwerze katalogu. Obszar/domena To ustawienie jest wymagane tylko w przypadku wybrania Kerberos
opcji Wiązanie, aby podać obszar/domenę użytkownika.Certyfikat Ustawienia w tej sekcji są używane tylko w przypadku wybrania SSL
lubTLS
jako opcji Wiązanie.Aliasy atrybutów Pole tekstowe aliasów atrybutów jest używane dla atrybutów zdefiniowanych w schemacie ze składnią RFC4522. Nie można wykryć tych atrybutów podczas wykrywania schematu, a łącznik potrzebuje pomocy przy identyfikowaniu tych atrybutów. Jeśli na przykład serwer katalogów nie publikuje userCertificate;binary
i chcesz aprowizować ten atrybut, w polu aliasów atrybutów należy wprowadzić następujący ciąg, aby poprawnie zidentyfikować atrybut userCertificate jako atrybut binarny:userCertificate;binary
. Jeśli nie potrzebujesz żadnych atrybutów specjalnych, które nie są w schemacie, możesz pozostawić to pole puste.Uwzględnij atrybuty operacyjne Zaznacz pole wyboru, Include operational attributes in schema
aby uwzględnić również atrybuty utworzone przez serwer katalogów. Obejmują one atrybuty, takie jak czas utworzenia obiektu i czas ostatniej aktualizacji.Dołączanie rozszerzalnych atrybutów Zaznacz pole wyboru, Include extensible attributes in schema
jeśli na serwerze katalogów są używane rozszerzalne obiekty (RFC4512/4.3). Włączenie tej opcji umożliwia używanie każdego atrybutu na wszystkich obiektach. Wybranie tej opcji sprawia, że schemat jest bardzo duży, chyba że połączony katalog korzysta z tej funkcji, zaleca się pozostawienie opcji niezaznaczonej.Zezwalaj na ręczne zaznaczanie zakotwiczenia Pozostaw niezaznaczone. Uwaga
Jeśli wystąpi problem podczas próby nawiązania połączenia i nie można przejść do strony globalnej, upewnij się, że konto usługi na serwerze katalogowym jest włączone.
Na stronie Globalne skonfigurujesz nazwę wyróżniającą dziennika zmian różnicowych, w razie potrzeby i dodatkowe funkcje LDAP. Strona jest wstępnie wypełniana informacjami dostarczonymi przez serwer LDAP. Przejrzyj wyświetlone wartości, a następnie wybierz pozycję Dalej.
Właściwości opis Obsługiwane mechanizmy SASL W górnej sekcji przedstawiono informacje udostępniane przez sam serwer, w tym listę mechanizmów SASL. Szczegóły certyfikatu serwera Jeśli SSL
określono lubTLS
został określony, kreator wyświetli certyfikat zwrócony przez serwer katalogów. Upewnij się, że wystawca, podmiot i odcisk palca są odpowiednie dla poprawnego serwera katalogów.Znaleziono obowiązkowe funkcje Łącznik sprawdza również, czy obowiązkowe kontrolki znajdują się w głównym środowisku DSE. Jeśli te kontrolki nie są wyświetlane, zostanie wyświetlone ostrzeżenie. Niektóre katalogi LDAP nie zawierają listy wszystkich funkcji w katalogu głównym DSE i istnieje możliwość, że łącznik działa bez problemów, nawet jeśli jest obecne ostrzeżenie. Obsługiwane kontrolki Pola wyboru obsługiwanych kontrolek kontrolują zachowanie niektórych operacji Import zmian Nazwa wyróżniająca dziennika zmian to kontekst nazewnictwa używany przez dziennik zmian różnicowych, na przykład cn=changelog. Tę wartość należy określić, aby móc importować różnice. Jeśli nie musisz implementować importowania różnicowego, to pole może być puste. Atrybut hasła Jeśli serwer katalogów obsługuje inny atrybut hasła lub skróty haseł, możesz określić miejsce docelowe zmian haseł. Nazwy partycji Na liście dodatkowych partycji można dodać dodatkowe przestrzenie nazw, które nie są wykrywane automatycznie. Na przykład to ustawienie może być używane, jeśli kilka serwerów składa się z klastra logicznego, co powinno być importowane w tym samym czasie. Podobnie jak usługa Active Directory może mieć wiele domen w jednym lesie, ale wszystkie domeny współużytkują jeden schemat, można to samo symulować, wprowadzając dodatkowe przestrzenie nazw w tym polu. Każda przestrzeń nazw może importować z różnych serwerów i jest dodatkowo skonfigurowana na stronie Konfigurowanie partycji i hierarchii . Na stronie Partycje zachowaj wartość domyślną i wybierz pozycję Dalej.
Na stronie Profile uruchamiania upewnij się, że pole wyboru Eksportuj i Pełne importowanie jest zaznaczone. Następnie kliknij przycisk Dalej.
Właściwości opis Export Uruchom profil, który będzie eksportować dane do serwera katalogów LDAP. Ten profil uruchamiania jest wymagany. Pełny import Uruchom profil, który zaimportuje wszystkie dane ze źródeł LDAP określonych wcześniej. Ten profil uruchamiania jest wymagany. Importowanie różnicowe Uruchom profil, który zaimportuje tylko zmiany z protokołu LDAP od ostatniego pełnego lub różnicowego importu. Włącz ten profil uruchamiania tylko wtedy, gdy potwierdzono, że serwer katalogowy spełnia niezbędne wymagania. Aby uzyskać więcej informacji, zobacz ogólne informacje o łączniku LDAP. Na stronie Eksportuj pozostaw wartości domyślne bez zmian, a następnie kliknij przycisk Dalej.
Na stronie Pełny import pozostaw wartości domyślne bez zmian, a następnie kliknij przycisk Dalej.
Na stronie DeltaImportuj pozostaw wartości domyślne bez zmian, a następnie kliknij przycisk Dalej.
Na stronie Typy obiektów wypełnij pola i wybierz przycisk Dalej.
Właściwości opis Obiekt docelowy Ta wartość to strukturalna klasa obiektów użytkownika na serwerze katalogu LDAP. Użyj parametru inetOrgPerson
i nie określ pomocniczej klasy obiektów w tym polu. Jeśli serwer katalogów wymaga pomocniczych klas obiektów, zostaną one skonfigurowane przy użyciu mapowań atrybutów w witrynie Azure Portal.Kotwica Wartości tego atrybutu powinny być unikatowe dla każdego obiektu w katalogu docelowym. Usługa aprowizacji firmy Microsoft wyśle zapytanie do hosta łącznika ECMA przy użyciu tego atrybutu po cyklu początkowym. Zazwyczaj należy użyć nazwy wyróżniającej, która może być wybrana jako -dn-
. Atrybuty wielowarte, takie jakuid
atrybut w schemacie OpenLDAP, nie mogą być używane jako kotwice.Atrybut zapytania Ten atrybut powinien być taki sam jak kotwica. DN Nazwa wyróżniająca obiektu docelowego. Zachowaj . -dn-
Automatycznie wygenerowane unchecked Host ECMA odnajduje atrybuty obsługiwane przez katalog docelowy. Możesz wybrać, które z tych atrybutów chcesz uwidocznić w identyfikatorze Entra firmy Microsoft. Te atrybuty można następnie skonfigurować w witrynie Azure Portal na potrzeby aprowizacji. Na stronie Wybierz atrybuty dodaj wszystkie atrybuty z listy rozwijanej pojedynczo, które są wymagane jako obowiązkowe atrybuty lub które chcesz aprowizować z identyfikatora Entra firmy Microsoft.
Lista rozwijana Atrybut zawiera wszystkie atrybuty odnalezione w katalogu docelowym i nie zostały wybrane w poprzednim użyciu kreatora konfiguracji Wybierz atrybuty strony.Upewnij się, że
Treat as single value
pole wyboru jest niezaznaczone dla atrybutuobjectClass
, a jeśliuserPassword
jest ustawione, jest nie do wyboru lub zaznaczone dla atrybutuuserPassword
.Skonfiguruj widoczność następujących atrybutów.
Atrybut Traktuj jako pojedynczą wartość _distinguishedName -Dn- export_password Cn Y gidNumber homeDirectory poczta Y objectClass sn Y Identyfikator UID Y uidNumber userPassword Y Po dodaniu wszystkich odpowiednich atrybutów wybierz pozycję Dalej.
Na stronie Anulowanie aprowizacji możesz określić, czy chcesz, aby identyfikator Entra firmy Microsoft usuwał użytkowników z katalogu, gdy wyjdą poza zakres aplikacji. Jeśli tak, w obszarze Wyłącz przepływ wybierz pozycję Usuń, a następnie w obszarze Usuń przepływ wybierz pozycję Usuń. Jeśli
Set attribute value
zostanie wybrany, atrybuty wybrane na poprzedniej stronie nie będą dostępne do wybrania na stronie Anulowanie aprowizacji.
Uwaga
Jeśli używasz wartości ustaw atrybut należy pamiętać, że dozwolone są tylko wartości logiczne.
- Wybierz Zakończ.
Upewnij się, że usługa ECMA2Host jest uruchomiona i może odczytywać z serwera katalogów
Wykonaj następujące kroki, aby potwierdzić, że host łącznika został uruchomiony i zidentyfikował wszystkich istniejących użytkowników z serwera katalogów.
- Na serwerze z uruchomionym hostem łącznika Microsoft Entra ECMA wybierz pozycję Uruchom.
- W razie potrzeby wybierz pozycję Uruchom , a następnie wprowadź ciąg services.msc w polu .
- Na liście Usługi upewnij się, że host Microsoft ECMA2Host jest obecny i uruchomiony. Jeśli nie jest uruchomiony, wybierz pozycję Uruchom.
- Jeśli niedawno uruchomiono usługę i masz wiele obiektów użytkownika na serwerze katalogów, zaczekaj kilka minut na nawiązanie połączenia z serwerem katalogu.
- Na serwerze z uruchomionym hostem łącznika Microsoft Entra ECMA uruchom program PowerShell.
- Przejdź do folderu, w którym zainstalowano hosta ECMA, na przykład
C:\Program Files\Microsoft ECMA2Host
. - Przejdź do podkatalogu
Troubleshooting
. - Uruchom skrypt
TestECMA2HostConnection.ps1
w tym katalogu, jak pokazano poniżej, i podaj jako argumenty nazwę łącznikaObjectTypePath
i wartośćcache
. Jeśli host łącznika nie nasłuchuje na porcie TCP 8585, może być również konieczne podanie argumentu-Port
. Po wyświetleniu monitu wpisz token tajny skonfigurowany dla tego łącznika.PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> $cout = .\TestECMA2HostConnection.ps1 -ConnectorName LDAP -ObjectTypePath cache; $cout.length -gt 9 Supply values for the following parameters: SecretToken: ************
- Jeśli skrypt wyświetli komunikat o błędzie lub ostrzeżeniu, sprawdź, czy usługa jest uruchomiona, a nazwa łącznika i token tajny są zgodne z tymi wartościami skonfigurowanymi w kreatorze konfiguracji.
- Jeśli skrypt wyświetli dane wyjściowe
False
, łącznik nie widział żadnych wpisów na serwerze katalogu źródłowego dla istniejących użytkowników. Jeśli jest to nowa instalacja serwera katalogów, to zachowanie powinno być oczekiwane i można kontynuować w następnej sekcji. - Jeśli jednak serwer katalogu zawiera już co najmniej jednego użytkownika, ale wyświetlany
False
skrypt oznacza, że ten stan wskazuje, że łącznik nie może odczytać z serwera katalogów. Jeśli spróbujesz aprowizować, identyfikator Entra firmy Microsoft może nie być poprawnie zgodny z użytkownikami w tym katalogu źródłowym z użytkownikami w identyfikatorze Entra firmy Microsoft. Poczekaj kilka minut, aż host łącznika zakończy odczytywanie obiektów z istniejącego serwera katalogów, a następnie uruchom ponownie skrypt. Jeśli dane wyjściowe będą nadal miećFalse
wartość , sprawdź konfigurację łącznika i uprawnienia na serwerze katalogów zezwalają łącznikowi na odczytywanie istniejących użytkowników.
Testowanie połączenia z identyfikatora Entra firmy Microsoft do hosta łącznika
Wróć do okna przeglądarki internetowej, w którym skonfigurowano aprowizację aplikacji w portalu.
Uwaga
Jeśli upłynął limit czasu okna, musisz ponownie wybrać agenta.
- Zaloguj się w witrynie Azure Portal.
- Przejdź do pozycji Aplikacje dla przedsiębiorstw i lokalna aplikacja ECMA.
- Kliknij pozycję Aprowizowanie.
- Jeśli pojawi się okno Wprowadzenie , zmień tryb na Automatyczny w sekcji Łączność lokalna wybierz właśnie wdrożonego agenta, a następnie wybierz pozycję Przypisz agentów i odczekaj 10 minut. W przeciwnym razie przejdź do pozycji Edytuj aprowizację.
W sekcji Poświadczenia administratora wprowadź następujący adres URL. Zastąp
connectorName
część nazwą łącznika na hoście ECMA, na przykładLDAP
. Jeśli podano certyfikat z urzędu certyfikacji dla hosta ECMA, zastąp ciąglocalhost
nazwą hosta serwera, na którym jest zainstalowany host ECMA.Właściwości Wartość Adres URL dzierżawy https://localhost:8585/ecma2host_connectorName/scim Wprowadź wartość tokenu wpisu tajnego zdefiniowaną podczas tworzenia łącznika.
Uwaga
Jeśli właśnie przypisano agenta do aplikacji, zaczekaj 10 minut na ukończenie rejestracji. Test łączności nie będzie działać, dopóki rejestracja nie zostanie ukończona. Wymuszanie ukończenia rejestracji agenta przez ponowne uruchomienie agenta aprowizacji na serwerze może przyspieszyć proces rejestracji. Przejdź do serwera, wyszukaj usługi na pasku wyszukiwania systemu Windows, zidentyfikuj usługę Microsoft Entra Connect Provisioning Agent , kliknij prawym przyciskiem myszy usługę i uruchom ponownie.
Wybierz pozycję Testuj połączenie i zaczekaj minutę.
Po pomyślnym przetestowaniu połączenia i wskazaniu, że podane poświadczenia są autoryzowane do włączenia aprowizacji, wybierz pozycję Zapisz.
Rozszerzanie schematu entra firmy Microsoft
Jeśli serwer katalogów wymaga dodatkowych atrybutów, które nie są częścią domyślnego schematu Microsoft Entra dla użytkowników, podczas aprowizacji można skonfigurować dostarczanie wartości tych atrybutów ze stałej, z wyrażenia przekształconego z innych atrybutów firmy Microsoft Entra lub przez rozszerzenie schematu Microsoft Entra.
Jeśli serwer katalogów wymaga, aby użytkownicy mieli atrybut, taki jak uidNumber
schemat OpenLDAP POSIX, a ten atrybut nie jest jeszcze częścią schematu firmy Microsoft Entra dla użytkownika i musi być unikatowy dla każdego użytkownika, musisz wygenerować ten atrybut z innych atrybutów użytkownika za pomocą wyrażenia, lub użyj funkcji rozszerzenia katalogu, aby dodać ten atrybut jako rozszerzenie.
Jeśli użytkownicy pochodzą z usług domena usługi Active Directory i mają atrybut w tym katalogu, możesz użyć programu Microsoft Entra Connect lub synchronizacji z chmurą Microsoft Entra Connect w celu skonfigurowania, że atrybut powinien być synchronizowany z domena usługi Active Directory Usługi dla firmy Microsoft Entra ID, dzięki czemu są dostępne do aprowizacji w innych systemach.
Jeśli użytkownicy pochodzą z identyfikatora Entra firmy Microsoft, dla każdego nowego atrybutu musisz przechowywać użytkownika, musisz zdefiniować rozszerzenie katalogu. Następnie zaktualizuj użytkowników usługi Microsoft Entra, którzy mają zostać aprowizowani, aby dać każdemu użytkownikowi wartość tych atrybutów.
Konfigurowanie mapowania atrybutów
W tej sekcji skonfigurujesz mapowanie między atrybutami użytkownika Firmy Microsoft Entra i atrybutami wybranymi wcześniej w kreatorze konfiguracji hosta ECMA. Później, gdy łącznik utworzy obiekt na serwerze katalogów, atrybuty użytkownika Microsoft Entra zostaną następnie wysłane za pośrednictwem łącznika do serwera katalogów, aby być częścią tego nowego obiektu.
W centrum administracyjnym firmy Microsoft Entra w obszarze Aplikacje dla przedsiębiorstw wybierz aplikację lokalną aplikacji ECMA, a następnie wybierz stronę Aprowizacja .
Wybierz pozycję Edytuj aprowizację.
Rozwiń węzeł Mapowania i wybierz pozycję Aprowizuj użytkowników firmy Microsoft Entra. Jeśli po raz pierwszy skonfigurowano mapowania atrybutów dla tej aplikacji, dla symbolu zastępczego będzie istnieć tylko jedno mapowanie.
Aby upewnić się, że schemat serwera katalogów jest dostępny w identyfikatorze Entra firmy Microsoft, zaznacz pole wyboru Pokaż opcje zaawansowane i wybierz pozycję Edytuj listę atrybutów dla pozycji ScimOnPremises. Upewnij się, że wszystkie atrybuty wybrane w kreatorze konfiguracji są wyświetlane. Jeśli tak nie jest, zaczekaj kilka minut na odświeżenie schematu, a następnie wybierz pozycję Mapowanie atrybutów w wierszu nawigacji, a następnie ponownie wybierz pozycję Edytuj listę atrybutów dla elementu ScimOnPremises , aby ponownie załadować stronę. Po wyświetleniu atrybutów na liście anuluj z tej strony, aby powrócić do listy mapowań.
Każdy użytkownik w katalogu musi mieć unikatową nazwę wyróżniającą. Możesz określić sposób konstruowania nazwy wyróżniającej łącznika przy użyciu mapowania atrybutów. Wybierz pozycję Dodaj nowe mapowanie. Użyj poniższych wartości, aby utworzyć mapowanie, zmieniając nazwy wyróżniające w wyrażeniu, aby dopasować je do jednostki organizacyjnej lub innego kontenera w katalogu docelowym.
- Typ mapowania: wyrażenie
- Wyrażenie:
Join("", "CN=", Word([userPrincipalName], 1, "@"), ",DC=Contoso,DC=lab")
- Atrybut docelowy:
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:-dn-
- Zastosuj to mapowanie: tylko podczas tworzenia obiektu
Jeśli serwer katalogów wymaga wielu wartości klas obiektów strukturalnych lub pomocniczych wartości klas obiektów, które mają być podane w atrybucie
objectClass
, dodaj mapowanie do tego atrybutu. Aby dodać mapowanie dlaobjectClass
elementu , wybierz pozycję Dodaj nowe mapowanie. Użyj poniższych wartości, aby utworzyć mapowanie, zmieniając nazwy klas obiektów w wyrażeniu, aby dopasować je do schematu katalogu docelowego.- Typ mapowania: wyrażenie
- Wyrażenie, jeśli aprowizacja schematu POSIX:
Split("inetOrgPerson,posixAccount,shadowAccount",",")
- Atrybut docelowy:
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:objectClass
- Zastosuj to mapowanie: tylko podczas tworzenia obiektu
Dla każdego mapowania w poniższej tabeli dla serwera katalogów wybierz pozycję Dodaj nowe mapowanie i określ atrybuty źródłowe i docelowe. Jeśli aprowizujesz w istniejącym katalogu z istniejącymi użytkownikami, musisz edytować mapowanie atrybutu, który jest wspólny, aby ustawić obiekty Dopasowania przy użyciu tego atrybutu . Dowiedz się więcej o mapowaniu atrybutów tutaj.
W przypadku programu OpenLDAP ze schematem POSIX należy również podać
gidNumber
atrybuty ,homeDirectory
uid
iuidNumber
. Każdy użytkownik wymaga unikatowegouid
i unikatowegouidNumber
elementu . Zazwyczaj elementhomeDirectory
jest ustawiany przez wyrażenie pochodzące z identyfikatora userID użytkownika. Jeśli na przykład elementuid
użytkownika jest generowany przez wyrażenie pochodzące z głównej nazwy użytkownika, wartość katalogu macierzystego tego użytkownika może zostać wygenerowana przez podobne wyrażenie również pochodzące z głównej nazwy użytkownika. W zależności od przypadku użycia możesz chcieć, aby wszyscy użytkownicy znajdowali się w tej samej grupie, więc przypiszeliby elementgidNumber
ze stałej.Typ mapowania Atrybut źródłowy Atrybut docelowy Bezpośredni displayName
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:cn
Bezpośredni surname
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:sn
Bezpośredni userPrincipalName
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:mail
Wyrażenie ToLower(Word([userPrincipalName], 1, "@"), )
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:uid
Direct (atrybut specyficzny dla katalogu) urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:uidNumber
Wyrażenie Join("/", "/home", ToLower(Word([userPrincipalName], 1, "@"), ))
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:homeDirectory
Stała 10000
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:gidNumber
Dodaj mapowanie do
urn:ietf:params:scim:schemas:extension:ECMA2Host:2.0:User:userPassword
tego ustawienia początkowego losowego hasła dla użytkownika.Wybierz pozycję Zapisz.
Upewnij się, że użytkownicy, którzy mają być aprowizowani w katalogu, mają wymagane atrybuty
Jeśli istnieją osoby, które mają istniejące konta użytkowników w katalogu LDAP, należy upewnić się, że reprezentacja użytkownika Microsoft Entra ma atrybuty wymagane do dopasowania.
Jeśli planujesz tworzenie nowych użytkowników w katalogu LDAP, musisz upewnić się, że reprezentacje firmy Microsoft w usłudze Entra tych użytkowników mają atrybuty źródłowe wymagane przez schemat użytkownika katalogu docelowego. Każdy użytkownik wymaga unikatowego uid
i unikatowego uidNumber
elementu .
Jeśli użytkownicy pochodzą z usług domena usługi Active Directory i mają atrybut w tym katalogu, możesz użyć programu Microsoft Entra Connect lub synchronizacji z chmurą Microsoft Entra Connect w celu skonfigurowania, że atrybut powinien być synchronizowany z domena usługi Active Directory Usługi dla firmy Microsoft Entra ID, dzięki czemu są dostępne do aprowizacji w innych systemach.
Jeśli użytkownicy pochodzą z identyfikatora Entra firmy Microsoft, dla każdego nowego atrybutu musisz przechowywać użytkownika, musisz zdefiniować rozszerzenie katalogu. Następnie zaktualizuj użytkowników usługi Microsoft Entra, którzy mają zostać aprowizowani, aby dać każdemu użytkownikowi wartość tych atrybutów.
Potwierdzanie użytkowników za pomocą programu PowerShell
Po zaktualizowaniu użytkowników w usłudze Microsoft Entra ID możesz użyć poleceń cmdlet programu PowerShell programu Microsoft Graph, aby zautomatyzować sprawdzanie, czy użytkownicy mają wszystkie wymagane atrybuty.
Załóżmy na przykład, że aprowizacja wymaga od użytkowników posiadania trzech atrybutów DisplayName
isurname
extension_656b1c479a814b1789844e76b2f459c3_MyNewProperty
. Ten trzeci atrybut będzie używany do przechowywania elementu uidNumber
. Możesz użyć Get-MgUser
polecenia cmdlet , aby pobrać każdego użytkownika i sprawdzić, czy istnieją wymagane atrybuty. Należy pamiętać, że polecenie cmdlet programu Graph w wersji 1.0 Get-MgUser
nie zwraca domyślnie żadnych atrybutów rozszerzenia katalogu użytkownika, chyba że atrybuty są określone w żądaniu jako jedna z właściwości do zwrócenia.
W tej sekcji przedstawiono sposób interakcji z identyfikatorem Entra firmy Microsoft przy użyciu poleceń cmdlet programu PowerShell programu Microsoft Graph.
Przy pierwszym użyciu tych poleceń cmdlet w organizacji w tym scenariuszu musisz być w roli administratora globalnego, aby zezwolić programowi Microsoft Graph PowerShell na używanie go w dzierżawie. Kolejne interakcje mogą używać roli o niższych uprawnieniach, takich jak:
- Administrator użytkowników, jeśli przewidujesz tworzenie nowych użytkowników.
- Administrator aplikacji lub Administrator ładu tożsamości, jeśli zarządzasz przypisaniami ról aplikacji.
Otwórz program PowerShell.
Jeśli nie masz już zainstalowanych modułów programu PowerShell programu Microsoft Graph, zainstaluj
Microsoft.Graph.Users
moduł i inne za pomocą tego polecenia:Install-Module Microsoft.Graph
Jeśli masz już zainstalowane moduły, upewnij się, że używasz najnowszej wersji:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Połącz się z identyfikatorem Entra firmy Microsoft:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.Read.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Skonstruuj listę użytkowników i atrybuty do sprawdzenia.
$userPrincipalNames = ( "alice@contoso.com", "bob@contoso.com", "carol@contoso.com" ) $requiredBaseAttributes = ("DisplayName","surname") $requiredExtensionAttributes = ("extension_656b1c479a814b1789844e76b2f459c3_MyNewProperty")
Wykonaj zapytanie dotyczące katalogu dla każdego z użytkowników.
$select = "id" foreach ($a in $requiredExtensionAttributes) { $select += ","; $select += $a;} foreach ($a in $requiredBaseAttributes) { $select += ","; $select += $a;} foreach ($un in $userPrincipalNames) { $nu = Get-MgUser -UserId $un -Property $select -ErrorAction Stop foreach ($a in $requiredBaseAttributes) { if ($nu.$a -eq $null) { write-output "$un missing $a"} } foreach ($a in $requiredExtensionAttributes) { if ($nu.AdditionalProperties.ContainsKey($a) -eq $false) { write-output "$un missing $a" } } }
Zbieranie istniejących użytkowników z katalogu LDAP
Zidentyfikuj użytkowników w tym katalogu, którzy mają zakres użytkowników z uwierzytelnianiem systemu Linux. Ten wybór będzie zależeć od konfiguracji systemu Linux. W przypadku niektórych konfiguracji każdy użytkownik, który istnieje w katalogu LDAP, jest prawidłowym użytkownikiem. Inne konfiguracje mogą wymagać, aby użytkownik miał określony atrybut lub być członkiem grupy w tym katalogu.
Uruchom polecenie, które pobiera ten podzbiór użytkowników z katalogu LDAP do pliku CSV. Upewnij się, że dane wyjściowe zawierają atrybuty użytkowników, które będą używane do dopasowywania do identyfikatora Entra firmy Microsoft. Przykłady tych atrybutów to identyfikator pracownika, nazwa konta lub
uid
adres e-mail.W razie potrzeby przenieś plik CSV zawierający listę użytkowników do systemu przy użyciu zainstalowanych poleceń cmdlet programu PowerShell programu Microsoft Graph.
Teraz, gdy masz listę wszystkich użytkowników uzyskanych z katalogu, dopasujesz tych użytkowników z katalogu z użytkownikami w usłudze Microsoft Entra ID. Przed kontynuowaniem przejrzyj informacje dotyczące pasujących użytkowników w systemach źródłowych i docelowych.
Pobieranie identyfikatorów użytkowników w identyfikatorze entra firmy Microsoft
W tej sekcji przedstawiono sposób interakcji z identyfikatorem Entra firmy Microsoft przy użyciu poleceń cmdlet programu PowerShell programu Microsoft Graph.
Przy pierwszym użyciu tych poleceń cmdlet w organizacji w tym scenariuszu musisz być w roli administratora globalnego, aby zezwolić programowi Microsoft Graph PowerShell na używanie go w dzierżawie. Kolejne interakcje mogą używać roli o niższych uprawnieniach, takich jak:
- Administrator użytkowników, jeśli przewidujesz tworzenie nowych użytkowników.
- Administrator aplikacji lub Administrator ładu tożsamości, jeśli zarządzasz przypisaniami ról aplikacji.
Otwórz program PowerShell.
Jeśli nie masz już zainstalowanych modułów programu PowerShell programu Microsoft Graph, zainstaluj
Microsoft.Graph.Users
moduł i inne za pomocą tego polecenia:Install-Module Microsoft.Graph
Jeśli masz już zainstalowane moduły, upewnij się, że używasz najnowszej wersji:
Update-Module microsoft.graph.users,microsoft.graph.identity.governance,microsoft.graph.applications
Połącz się z identyfikatorem Entra firmy Microsoft:
$msg = Connect-MgGraph -ContextScope Process -Scopes "User.ReadWrite.All,Application.ReadWrite.All,AppRoleAssignment.ReadWrite.All,EntitlementManagement.ReadWrite.All"
Jeśli używasz tego polecenia po raz pierwszy, może być konieczne wyrażenie zgody na zezwolenie narzędziom wiersza polecenia programu Microsoft Graph na te uprawnienia.
Przeczytaj listę użytkowników uzyskanych z magazynu danych aplikacji do sesji programu PowerShell. Jeśli lista użytkowników znajdowała się w pliku CSV, możesz użyć polecenia cmdlet
Import-Csv
programu PowerShell i podać nazwę pliku z poprzedniej sekcji jako argument.Jeśli na przykład plik uzyskany z usług SAP Cloud Identity Services nosi nazwę Users-exported-from-sap.csv i znajduje się w bieżącym katalogu, wprowadź to polecenie.
$filename = ".\Users-exported-from-sap.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
W innym przykładzie, jeśli używasz bazy danych lub katalogu, jeśli plik ma nazwę users.csv i znajduje się w bieżącym katalogu, wprowadź następujące polecenie:
$filename = ".\users.csv" $dbusers = Import-Csv -Path $filename -Encoding UTF8
Wybierz kolumnę pliku users.csv , który będzie zgodny z atrybutem użytkownika w usłudze Microsoft Entra ID.
Jeśli używasz usług SAP Cloud Identity Services, domyślne mapowanie to atrybut SAP SCIM z atrybutem
userName
userPrincipalName
Microsoft Entra ID :$db_match_column_name = "userName" $azuread_match_attr_name = "userPrincipalName"
W innym przykładzie, jeśli używasz bazy danych lub katalogu, być może użytkownicy w bazie danych, w której wartość w kolumnie o nazwie
EMail
jest taka sama jak w atrybucieuserPrincipalName
Microsoft Entra :$db_match_column_name = "EMail" $azuread_match_attr_name = "userPrincipalName"
Pobierz identyfikatory tych użytkowników w identyfikatorze Entra firmy Microsoft.
Poniższy skrypt programu PowerShell używa
$dbusers
określonych wcześniej wartości ,$db_match_column_name
i$azuread_match_attr_name
. Spowoduje to wysłanie zapytania do identyfikatora Entra firmy Microsoft w celu zlokalizowania użytkownika, który ma atrybut z pasującą wartością dla każdego rekordu w pliku źródłowym. Jeśli w pliku uzyskanym ze źródłowej usługi SAP Cloud Identity Services, bazy danych lub katalogu istnieje wiele użytkowników, ten skrypt może potrwać kilka minut. Jeśli nie masz atrybutu w identyfikatorze Entra firmy Microsoft, który ma wartość i musisz użyćcontains
lub innego wyrażenia filtru, musisz dostosować ten skrypt i to w kroku 11 poniżej, aby użyć innego wyrażenia filtru.$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } }
Wyświetl wyniki poprzednich zapytań. Sprawdź, czy którykolwiek z użytkowników w usługach SAP Cloud Identity Services, bazie danych lub katalogu nie może znajdować się w identyfikatorze Entra firmy Microsoft z powodu błędów lub brakujących dopasowań.
Poniższy skrypt programu PowerShell wyświetli liczbę rekordów, które nie zostały zlokalizowane:
$dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Error "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
Po zakończeniu działania skryptu będzie on wskazywać błąd, jeśli jakiekolwiek rekordy ze źródła danych nie znajdowały się w identyfikatorze Entra firmy Microsoft. Jeśli nie wszystkie rekordy użytkowników z magazynu danych aplikacji mogą znajdować się jako użytkownicy w usłudze Microsoft Entra ID, należy zbadać, które rekordy nie są zgodne i dlaczego.
Na przykład adres e-mail użytkownika i userPrincipalName mogły zostać zmienione w identyfikatorze Entra firmy Microsoft bez aktualizowania odpowiedniej
mail
właściwości w źródle danych aplikacji. Lub użytkownik mógł już opuścił organizację, ale nadal znajduje się w źródle danych aplikacji. Może też istnieć konto dostawcy lub administratora w źródle danych aplikacji, które nie odpowiada żadnej konkretnej osobie w identyfikatorze Entra firmy Microsoft.Jeśli nie było użytkowników, którzy nie mogli znajdować się w identyfikatorze Entra firmy Microsoft lub nie byli aktywni i mogli się zalogować, ale chcesz mieć przeglądany dostęp lub ich atrybuty zaktualizowane w usługach SAP Cloud Identity Services, bazie danych lub katalogu, musisz zaktualizować aplikację, regułę dopasowania lub zaktualizować lub utworzyć dla nich użytkowników firmy Microsoft Entra. Aby uzyskać więcej informacji na temat wprowadzania zmian, zobacz Zarządzanie mapowaniami i kontami użytkowników w aplikacjach, które nie są zgodne z użytkownikami w identyfikatorze Entra firmy Microsoft.
Jeśli wybierzesz opcję tworzenia użytkowników w usłudze Microsoft Entra ID, możesz utworzyć użytkowników zbiorczo przy użyciu jednego z następujących elementów:
- Plik CSV, zgodnie z opisem w artykule Zbiorcze tworzenie użytkowników w centrum administracyjnym firmy Microsoft Entra
- Polecenie cmdlet New-MgUser
Upewnij się, że ci nowi użytkownicy są wypełniani atrybutami wymaganymi przez identyfikator Entra firmy Microsoft, aby później dopasować je do istniejących użytkowników w aplikacji, oraz atrybuty wymagane przez identyfikator Entra firmy Microsoft, w tym
userPrincipalName
mailNickname
, idisplayName
. ElementuserPrincipalName
musi być unikatowy dla wszystkich użytkowników w katalogu.Możesz na przykład mieć użytkowników w bazie danych, w której wartość w kolumnie o nazwie
EMail
jest wartością, której chcesz użyć jako głównej nazwy użytkownika Microsoft Entra, wartość w kolumnieAlias
zawiera pseudonim poczty Microsoft Entra ID, a wartość w kolumnieFull name
zawiera nazwę wyświetlaną użytkownika:$db_display_name_column_name = "Full name" $db_user_principal_name_column_name = "Email" $db_mail_nickname_column_name = "Alias"
Następnie możesz użyć tego skryptu, aby utworzyć użytkowników usługi Microsoft Entra dla użytkowników w usługach SAP Cloud Identity Services, bazie danych lub katalogu, który nie był zgodny z użytkownikami w usłudze Microsoft Entra ID. Należy pamiętać, że może być konieczne zmodyfikowanie tego skryptu w celu dodania dodatkowych atrybutów firmy Microsoft Entra wymaganych w organizacji lub jeśli
$azuread_match_attr_name
parametr niemailNickname
jest aniuserPrincipalName
, aby podać ten atrybut Entra firmy Microsoft.$dbu_missing_columns_list = @() $dbu_creation_failed_list = @() foreach ($dbu in $dbu_not_matched_list) { if (($null -ne $dbu.$db_display_name_column_name -and $dbu.$db_display_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_user_principal_name_column_name -and $dbu.$db_user_principal_name_column_name.Length -gt 0) -and ($null -ne $dbu.$db_mail_nickname_column_name -and $dbu.$db_mail_nickname_column_name.Length -gt 0)) { $params = @{ accountEnabled = $false displayName = $dbu.$db_display_name_column_name mailNickname = $dbu.$db_mail_nickname_column_name userPrincipalName = $dbu.$db_user_principal_name_column_name passwordProfile = @{ Password = -join (((48..90) + (96..122)) * 16 | Get-Random -Count 16 | % {[char]$_}) } } try { New-MgUser -BodyParameter $params } catch { $dbu_creation_failed_list += $dbu; throw } } else { $dbu_missing_columns_list += $dbu } }
Po dodaniu wszystkich brakujących użytkowników do identyfikatora Entra firmy Microsoft ponownie uruchom skrypt z kroku 7. Następnie uruchom skrypt z kroku 8. Sprawdź, czy nie zgłoszono żadnych błędów.
$dbu_not_queried_list = @() $dbu_not_matched_list = @() $dbu_match_ambiguous_list = @() $dbu_query_failed_list = @() $azuread_match_id_list = @() $azuread_not_enabled_list = @() $dbu_values = @() $dbu_duplicate_list = @() foreach ($dbu in $dbusers) { if ($null -ne $dbu.$db_match_column_name -and $dbu.$db_match_column_name.Length -gt 0) { $val = $dbu.$db_match_column_name $escval = $val -replace "'","''" if ($dbu_values -contains $escval) { $dbu_duplicate_list += $dbu; continue } else { $dbu_values += $escval } $filter = $azuread_match_attr_name + " eq '" + $escval + "'" try { $ul = @(Get-MgUser -Filter $filter -All -Property Id,accountEnabled -ErrorAction Stop) if ($ul.length -eq 0) { $dbu_not_matched_list += $dbu; } elseif ($ul.length -gt 1) {$dbu_match_ambiguous_list += $dbu } else { $id = $ul[0].id; $azuread_match_id_list += $id; if ($ul[0].accountEnabled -eq $false) {$azuread_not_enabled_list += $id } } } catch { $dbu_query_failed_list += $dbu } } else { $dbu_not_queried_list += $dbu } } $dbu_not_queried_count = $dbu_not_queried_list.Count if ($dbu_not_queried_count -ne 0) { Write-Error "Unable to query for $dbu_not_queried_count records as rows lacked values for $db_match_column_name." } $dbu_duplicate_count = $dbu_duplicate_list.Count if ($dbu_duplicate_count -ne 0) { Write-Error "Unable to locate Microsoft Entra ID users for $dbu_duplicate_count rows as multiple rows have the same value" } $dbu_not_matched_count = $dbu_not_matched_list.Count if ($dbu_not_matched_count -ne 0) { Write-Error "Unable to locate $dbu_not_matched_count records in Microsoft Entra ID by querying for $db_match_column_name values in $azuread_match_attr_name." } $dbu_match_ambiguous_count = $dbu_match_ambiguous_list.Count if ($dbu_match_ambiguous_count -ne 0) { Write-Error "Unable to locate $dbu_match_ambiguous_count records in Microsoft Entra ID as attribute match ambiguous." } $dbu_query_failed_count = $dbu_query_failed_list.Count if ($dbu_query_failed_count -ne 0) { Write-Error "Unable to locate $dbu_query_failed_count records in Microsoft Entra ID as queries returned errors." } $azuread_not_enabled_count = $azuread_not_enabled_list.Count if ($azuread_not_enabled_count -ne 0) { Write-Warning "$azuread_not_enabled_count users in Microsoft Entra ID are blocked from sign-in." } if ($dbu_not_queried_count -ne 0 -or $dbu_duplicate_count -ne 0 -or $dbu_not_matched_count -ne 0 -or $dbu_match_ambiguous_count -ne 0 -or $dbu_query_failed_count -ne 0 -or $azuread_not_enabled_count -ne 0) { Write-Output "You will need to resolve those issues before access of all existing users can be reviewed." } $azuread_match_count = $azuread_match_id_list.Count Write-Output "Users corresponding to $azuread_match_count records were located in Microsoft Entra ID."
Przypisywanie użytkowników do aplikacji w identyfikatorze Entra firmy Microsoft
Teraz, gdy masz hosta łącznika Entra ECMA firmy Microsoft, rozmawiając z identyfikatorem Entra firmy Microsoft i skonfigurowanym mapowaniem atrybutów, możesz przejść do konfigurowania osób w zakresie aprowizacji.
Ważne
Jeśli zalogowano się przy użyciu roli administratora tożsamości hybrydowej, musisz wylogować się i zalogować się przy użyciu konta, które ma co najmniej rolę Administratora aplikacji dla tej sekcji. Rola administratora tożsamości hybrydowej nie ma uprawnień do przypisywania użytkowników do aplikacji.
Jeśli w katalogu LDAP istnieją użytkownicy, należy utworzyć przypisania ról aplikacji dla tych istniejących użytkowników. Aby dowiedzieć się więcej na temat zbiorczego tworzenia przypisań ról aplikacji przy użyciu programu New-MgServicePrincipalAppRoleAssignedTo
, zobacz Zarządzanie istniejącymi użytkownikami aplikacji w identyfikatorze Entra firmy Microsoft.
Jeśli nie chcesz jeszcze aktualizować istniejących użytkowników w katalogu LDAP, wybierz użytkownika testowego z identyfikatora Entra firmy Microsoft, który ma wymagane atrybuty i zostanie aprowizowany na serwerze katalogów.
- Upewnij się, że wybrany użytkownik ma wszystkie właściwości, które zostaną zamapowane na wymagane atrybuty schematu serwera katalogów.
- W witrynie Azure Portal wybierz pozycję Aplikacje dla przedsiębiorstw.
- Wybierz lokalną aplikację ECMA.
- Po lewej stronie w obszarze Zarządzaj wybierz pozycję Użytkownicy i grupy.
- Wybierz pozycję Dodaj użytkownika/grupę.
- W obszarze Użytkownicy wybierz pozycję Brak zaznaczone.
- Wybierz użytkownika po prawej stronie i wybierz przycisk Wybierz .
- Teraz wybierz pozycję Przypisz.
Testowanie aprowizacji
Po zamapowaniu atrybutów i przypisaniu początkowego użytkownika możesz przetestować aprowizację na żądanie przy użyciu jednego z użytkowników.
Na serwerze z uruchomionym hostem łącznika ECMA firmy Microsoft wybierz pozycję Uruchom.
Wprowadź polecenie run i wprowadź ciąg services.msc w polu .
Na liście Usługi upewnij się, że uruchomiono zarówno usługę Microsoft Entra Connect Provisioning Agent, jak i usługi Microsoft ECMA2Host. W przeciwnym razie wybierz pozycję Uruchom.
W witrynie Azure Portal wybierz pozycję Aplikacje dla przedsiębiorstw.
Wybierz lokalną aplikację ECMA.
Po lewej stronie wybierz pozycję Aprowizowanie.
Wybierz pozycję Aprowizuj na żądanie.
Wyszukaj jednego z użytkowników testowych i wybierz pozycję Aprowizuj.
Po kilku sekundach zostanie wyświetlony komunikat Pomyślnie utworzony użytkownik w systemie docelowym z listą atrybutów użytkownika. Jeśli zamiast tego wystąpi błąd, zobacz Rozwiązywanie problemów z błędami aprowizacji.
Rozpoczynanie aprowizacji użytkowników
Po pomyślnym przetestowaniu aprowizacji na żądanie dodaj pozostałych użytkowników. Aby dowiedzieć się więcej na temat zbiorczego tworzenia przypisań ról aplikacji przy użyciu programu New-MgServicePrincipalAppRoleAssignedTo
, zobacz Zarządzanie istniejącymi użytkownikami aplikacji w identyfikatorze Entra firmy Microsoft.
- W witrynie Azure Portal wybierz aplikację.
- Po lewej stronie w obszarze Zarządzaj wybierz pozycję Użytkownicy i grupy.
- Upewnij się, że wszyscy użytkownicy są przypisani do roli aplikacji.
- Wróć do strony konfiguracji aprowizacji.
- Upewnij się, że zakres jest ustawiony na tylko przypisanych użytkowników i grupy, włącz stan aprowizacji na Wł., a następnie wybierz pozycję Zapisz.
- Poczekaj kilka minut na rozpoczęcie aprowizacji. Może upłynąć do 40 minut. Po zakończeniu zadania aprowizacji, zgodnie z opisem w następnej sekcji,
Rozwiązywanie problemów z błędami aprowizacji
Jeśli zostanie wyświetlony błąd, wybierz pozycję Wyświetl dzienniki aprowizacji. Wyszukaj w dzienniku wiersz, w którym stan to Niepowodzenie, a następnie kliknij ten wiersz.
Jeśli komunikat o błędzie nie może utworzyć użytkownika, sprawdź atrybuty wyświetlane zgodnie z wymaganiami schematu katalogu.
Aby uzyskać więcej informacji, przejdź na kartę Rozwiązywanie problemów i zalecenia .
Jeśli komunikat o błędzie rozwiązywania problemów zawiera informację, że wartość objectClass to invalid per syntax
, upewnij się, że mapowanie atrybutu aprowizacji na objectClass
atrybut zawiera tylko nazwy klas obiektów rozpoznawanych przez serwer katalogów.
Aby uzyskać informacje o innych błędach, zobacz Rozwiązywanie problemów z aprowizowaniem aplikacji lokalnych.
Jeśli chcesz wstrzymać aprowizowanie do tej aplikacji, na stronie konfiguracji aprowizacji możesz zmienić stan aprowizacji na Wyłączone, a następnie wybrać pozycję Zapisz. Ta akcja uniemożliwia uruchomienie usługi aprowizacji w przyszłości.
Sprawdź, czy użytkownicy zostali pomyślnie aprowizowani
Po oczekiwaniu sprawdź serwer katalogów, aby upewnić się, że użytkownicy są aprowizowani. Zapytanie wykonywane na serwerze katalogów będzie zależeć od tego, jakie polecenia udostępnia serwer katalogów.
Poniższe instrukcje ilustrują sposób sprawdzania biblioteki OpenLDAP w systemie Linux.
- Otwórz okno terminalu z powłoką poleceń w systemie przy użyciu protokołu OpenLDAP.
- Wpisz polecenie
ldapsearch -D "cn=admin,dc=contoso,dc=lab" -W -s sub -b dc=contoso,dc=lab -LLL (objectclass=inetOrgPerson)
- Sprawdź, czy wynikowy program LDIF zawiera użytkowników aprowidowanych z identyfikatora Entra firmy Microsoft.
Następne kroki
- Aby uzyskać więcej informacji na temat działania usługi aprowizacji, sposobu jej działania i często zadawanych pytań, zobacz Automatyzowanie aprowizacji i anulowania aprowizacji użytkowników w aplikacjach SaaS przy użyciu identyfikatora Entra firmy Microsoft i architektury aprowizacji aplikacji lokalnych.