Przejdź do treści
Wszystkie artykuły

Bezpieczeństwo

Konfiguracja logowania jednokrotnego SAML dla LMS z Entra ID, Okta lub Google Workspace

Praktyczny poradnik SSO z SAML dla LMS: kluczowe pojęcia, konfiguracja Entra ID, Okta i Google Workspace, lista kontrolna testów i pułapki do uniknięcia.

Zespół Acadenix · · 6 min czytania


Każde osobne logowanie to kolejne hasło do zresetowania i kolejne konto do zamknięcia, gdy ktoś odchodzi. Logowanie jednokrotne (SSO) SAML łączy Twój system zarządzania nauczaniem z dostawcą tożsamości, dzięki czemu ludzie logują się do szkoleń swoim kontem służbowym, a dostęp podąża za Twoim katalogiem. Oto jak działa SAML, jak wygląda konfiguracja z Microsoft Entra ID, Okta lub Google Workspace i co sprawdzić przed uruchomieniem.

Jak działa logowanie jednokrotne SAML

SAML (Security Assertion Markup Language) 2.0 to otwarty standard przekazywania informacji o logowaniu między dwoma systemami, które sobie ufają. LMS nigdy nie widzi hasła danej osoby: kieruje ją do Twojego dostawcy tożsamości, który sprawdza, kim jest, z wymaganym przez Ciebie uwierzytelnianiem wieloskładnikowym, i odsyła ją z podpisanym oświadczeniem.

Pojęcie Co oznacza
Dostawca tożsamości (IdP) System, który uwierzytelnia Twoich ludzi, taki jak Entra ID, Okta lub Google Workspace.
Dostawca usługi (SP) Aplikacja, do której ludzie się logują: Twój LMS.
Asercja (assertion) Podpisane oświadczenie XML z IdP: kim jest osoba, kiedy się zalogowała oraz atrybuty, takie jak e-mail i imię i nazwisko.
Entity ID Unikalna nazwa każdej ze stron, często wyglądająca jak adres URL, ale będąca tylko identyfikatorem. Musi być dokładnie taka sama.
ACS URL Assertion Consumer Service URL: adres LMS, który odbiera odpowiedź IdP.
Certyfikat podpisujący IdP podpisuje swoim kluczem prywatnym; LMS weryfikuje podpis publicznym certyfikatem IdP i odrzuca sfałszowane lub zmienione asercje.
Metadane Plik XML łączący entity ID, punkty końcowe i certyfikaty, gotowy do zaimportowania.

Asercje są krótkotrwałe i wskazują swojego odbiorcę (entity ID dostawcy usługi). SP odrzuca wszystko, co wygasło lub było przeznaczone dla innej aplikacji.

Dlaczego SSO warto stosować w LMS

  • Żadnych dodatkowych haseł. Ludzie używają swojego codziennego konta, a Twoje uwierzytelnianie wieloskładnikowe (MFA) i zasady dostępu obejmują także szkolenia.
  • Nowi pracownicy szybko dostają dostęp. Przypisz aplikację LMS do grupy, a nowi pracownicy z tej grupy mogą zalogować się już pierwszego dnia.
  • Odchodzący tracą dostęp u źródła. Wyłącz kogoś w katalogu, a nie rozpocznie nowej sesji w LMS. SAML kontroluje logowanie, a nie samo konto, więc w ramach procesu odejścia z firmy zarchiwizuj także konto w LMS.

Tworzenie kont just-in-time

Przy provisioningu just-in-time (JIT) LMS tworzy konto przy pierwszym logowaniu danej osoby, na podstawie atrybutów asercji, więc nie ma listy użytkowników do zaimportowania. Otocz to zabezpieczeniami:

  • Ogranicz to do własnych domen e-mail, aby źle skonfigurowana aplikacja lub konto gościa nie tworzyły przypadkowych użytkowników.
  • Nadawaj nowym kontom najniższą rolę, a uprawnienia administratora przyznawaj świadomie.
  • Dopasowuj osoby według stałego identyfikatora, jeśli Twój IdP potrafi go przesłać, ponieważ adresy e-mail się zmieniają.

Logowanie inicjowane przez SP a inicjowane przez IdP

  • Inicjowane przez SP: osoba otwiera LMS, który wysyła żądanie uwierzytelnienia do IdP, a IdP przesyła swoją odpowiedź metodą POST na ACS URL. Działa z zakładek i linków w e-mailach i uchodzi za bezpieczniejszy przepływ, ponieważ odpowiedź dotyczy żądania wysłanego przez LMS.
  • Inicjowane przez IdP: osoba klika kafelek aplikacji w Microsoft My Apps, na swoim pulpicie Okta lub w menu aplikacji Google, a IdP wysyła na ACS URL niezamówioną odpowiedź.

Możesz oferować oba; przetestuj każdy.

Konfiguracja SAML SSO krok po kroku

Kolejność jest wszędzie mniej więcej taka sama:

  1. Zaplanuj zakres: kto korzysta z SSO, które grupy dostają aplikację, które domeny e-mail są dozwolone i który atrybut identyfikuje każdą osobę.
  2. Utwórz połączenie w LMS i zanotuj jego entity ID oraz ACS URL.
  3. Utwórz aplikację SAML w swoim IdP z tymi wartościami, wybierz format NameID i dodaj atrybuty: e-mail, imię i nazwisko.
  4. Przypisz użytkowników lub grupy; osoby nieprzypisane są zwykle odrzucane.
  5. Przekaż LMS dane IdP: adres URL metadanych, plik metadanych albo entity ID IdP, adres logowania i certyfikat podpisujący.
  6. Zmapuj atrybuty na nazwy, które Twój IdP faktycznie wysyła.
  7. Przetestuj, potem włącz i poinformuj ludzi o zmianach.

Uwagi o dostawcach

Dokładne ekrany znajdziesz w dokumentacji swojego dostawcy. Warto wiedzieć:

  • Microsoft Entra ID: użyj aplikacji przedsiębiorstwa spoza galerii (non-gallery enterprise application), a nie rejestracji aplikacji, która nie oferuje SAML. Nazwy atrybutów (claimów) to długie identyfikatory URI, więc skopiuj je dokładnie. Object ID to dobry stały identyfikator. Dla osób bez skrzynki pocztowej claim e-mail może być pusty; można go zastąpić nazwą UPN (user principal name), jeśli jest prawdziwym adresem.
  • Okta: utwórz integrację aplikacji SAML 2.0. Nazwy instrukcji atrybutów (attribute statements) nadajesz samodzielnie, więc muszą dokładnie odpowiadać mapowaniu w LMS, także wielkością liter. Wewnętrzny identyfikator użytkownika Okta jest dobrym stałym identyfikatorem.
  • Google Workspace: dodaj niestandardową aplikację SAML i pobierz jej plik metadanych. Aplikacja startuje jako wyłączona, więc włącz ją dla właściwych jednostek organizacyjnych lub grup. Typowa konfiguracja identyfikuje osoby po podstawowym adresie e-mail, więc uwzględnij zmienione i ponownie używane adresy.

Lista kontrolna testów

Przed uruchomieniem sprawdź to w prywatnym oknie przeglądarki:

  • Istniejący użytkownik loguje się, zaczynając od LMS, a potem ponownie z kafelka aplikacji.
  • Nowy użytkownik w Twojej domenie dostaje konto z właściwą rolą.
  • Osoba nieprzypisana do aplikacji zostaje odrzucona.
  • Osoba spoza dozwolonych domen zostaje odrzucona.
  • E-mail, imię i nazwisko docierają poprawnie.
  • Administrator nadal może wejść przez ścieżkę awaryjną.

Częste pułapki

Rozbieżność zegarów (clock skew)

Jeśli zegary IdP i LMS różnią się o więcej, niż toleruje LMS, poprawne asercje są odrzucane jako jeszcze nieważne lub już wygasłe. Dotyczy to głównie własnych serwerów tożsamości, więc dbaj o synchronizację ich zegarów.

Wymiana certyfikatu

Certyfikaty podpisujące IdP wygasają, a jeśli LMS nie ufa nowemu, każde logowanie przestaje działać jednocześnie. Wpisz datę wygaśnięcia do kalendarza. Jeśli Twój LMS potrafi ufać dwóm certyfikatom, dodaj tam najpierw nowy, a potem aktywuj go w IdP; w przeciwnym razie przełącz obie strony jednocześnie w spokojnym momencie. Przetestuj od razu.

Mapowanie atrybutów

Nazwy atrybutów są zwykle dopasowywane dokładnie: LMS oczekujący email nie zaakceptuje Email. Sprawdź też identyfikator. Przejściowy NameID zmienia się przy każdej sesji, a adres e-mail może się zmienić; trwały NameID lub niezmienny atrybut ID jest stabilny. Jeśli ludzie są dopasowywani po adresie e-mail, zarchiwizuj konto odchodzącej osoby, zanim jej adres zostanie przydzielony komuś innemu.

Niezgodność domeny e-mail

Katalogi często zawierają osoby, których nazwa logowania nie jest adresem e-mail, wykonawców w innych domenach i pracowników przejętych firm, którzy wciąż używają starych. Jeśli LMS ogranicza konta do określonych domen, zostaną odrzuceni. Wypisz wszystkie domeny przed uruchomieniem.

Jak robi to Acadenix

SAML SSO jest dostępne w planie Gold, wraz z przewodnikami krok po kroku dla Entra ID, Okta i Google Workspace.

  • Test, a potem aktywacja. Zapisujesz dane swojego IdP jako wersję roboczą, uruchamiasz Test configuration (Przetestuj konfigurację), logując się u swojego dostawcy, i dopiero wtedy aktywujesz. Brak claima e-mail jest zgłaszany wraz z nazwami claimów, które Twój dostawca faktycznie przesłał.
  • Zmiany etapowe. Nowy certyfikat lub tenant wprowadzasz jako aktualizację konfiguracji, a bieżąca konfiguracja działa, dopóki jej nie aktywujesz.
  • JIT w granicach Twoich domen. Osoba bez konta dostaje konto kursanta przy pierwszym logowaniu, tylko jeśli jej e-mail należy do domen rejestracyjnych Twojej organizacji, a tę funkcję można wyłączyć. Gdy ktoś, kto ma już konto w Acadenix, po raz pierwszy loguje się przez Twój IdP, Acadenix wysyła mu e-mailem jednorazowy kod potwierdzający powiązanie. Dzieje się to raz dla każdej osoby.
  • Oba sposoby wejścia. Ludzie zaczynają od Twojej strony logowania, która może od razu przekierować do IdP albo pokazać przycisk, lub z kafelka w My Apps, Okta albo Google.
  • Jedno połączenie, jedna organizacja. Połączenie SAML nie przechodzi na organizacje podrzędne swojego właściciela, co ma znaczenie dla grup z wieloma lokalizacjami.
  • Ścieżka awaryjna. Jeśli Twój IdP nie działa, administratorzy nadal mogą się zalogować jednorazowym kodem wysłanym e-mailem, a tej opcji nie można wyłączyć.

Obok SAML ludzie mogą logować się kodem wysłanym e-mailem albo kontem Google, Microsoft lub LinkedIn. Więcej na naszej stronie o bezpieczeństwie.

Najważniejsze wnioski

  • Wymień się entity ID, ACS URL i metadanymi, a następnie zmapuj stały identyfikator i zweryfikowany e-mail.
  • Ogranicz konta just-in-time do własnych domen i najniższej roli.
  • Przed uruchomieniem przetestuj oba przepływy logowania, odmowy dostępu i ścieżkę awaryjną.
  • Wpisz do kalendarza datę wygaśnięcia certyfikatu i archiwizuj konta w LMS osób, które odeszły.

Chcesz połączyć Acadenix ze swoim dostawcą tożsamości? Porównaj plany na naszej stronie cennika lub porozmawiaj z nami o swojej konfiguracji.

Najczęściej zadawane pytania

Dostępu administratora do dostawcy tożsamości (IdP) i do LMS. LMS podaje Ci swój identyfikator jednostki (entity ID) i adres ACS URL, dostawca tożsamości podaje swoje metadane (entity ID, adres logowania i certyfikat podpisujący), a Ty ustalasz, które atrybuty identyfikują każdą osobę.
Tak, jeśli LMS obsługuje provisioning just-in-time, czyli tworzenie konta przy pierwszym logowaniu danej osoby. W Acadenix są to konta kursantów, tworzone wyłącznie dla osób, których adres e-mail należy do domen rejestracyjnych Twojej organizacji.
Osoby korzystające z SSO nie mogą się zalogować, dopóki usługa nie wróci, więc zadbaj o ścieżkę awaryjną dla administratorów. W Acadenix administratorzy zawsze mogą zalogować się jednorazowym kodem wysłanym e-mailem, a tej ścieżki nie można wyłączyć.
Logowanie inicjowane przez SP, w którym ludzie zaczynają od LMS, uchodzi za bezpieczniejszy przepływ, ponieważ odpowiedź jest powiązana z żądaniem wysłanym przez LMS. Logowanie inicjowane przez IdP z kafelka aplikacji jest wygodne i można oferować oba.

Czytaj dalej

Czas uwolnić szkolenia od administracji?

Poproś o wersję próbną, wgraj swoje dotychczasowe kursy SCORM i zobacz, jak Acadenix sprawdza się z Twoimi treściami.

Zaloguj się