Organizacje w Keycloak: Zarządzanie i personalizacja autentykacji

INCONE60 Green - Digital and green transition of small ports
Andrzej Chybicki: projekty związane z wykorzystaniem sztucznej inteligencji to znacząca część naszych projektów
Organizacje w Keycloak: Zarządzanie i personalizacja autentykacji

Keycloak w wersji 26 przyniósł kilka ciekawych rozwiązań, które mogą z powodzeniem być wykorzystywane w średnich i dużych przedsiębiorstwach. Jednym z nich jest funkcja „Organizacje”, na której skupimy się w poniższym tekście. Omówimy sposób korzystania, konfiguracji oraz to, w jaki sposób może usprawnić zarządzanie użytkownikami w złożonych środowiskach.

Organizacja w Keycloak reprezentuje podmiot. Może nim być klient lub partner biznesowy. Funkcja ta pozwala na:

  • Przypisywanie użytkowników jako członków konkretnej organizacji.
  • Definiowanie dedykowanego administratora dla organizacji.
  • Ustalanie specyficznych procesów autentykacji dla każdej organizacji.

Dzięki zastosowaniu tej funkcji Keycloak umożliwia tworzenie indywidualnych procesów logowania dla różnych klientów w ramach jednego systemu. Na przykład użytkownicy mogą być rozpoznawani na podstawie domeny ich adresu e-mail, co automatycznie kieruje ich do odpowiedniego procesu logowania.

Funkcjonalność organizacji jest szczególnie istotna w środowiskach korporacyjnych i międzyorganizacyjnych, gdzie zarządzanie użytkownikami jest złożone. Organizacje w Keycloak rozwiązują problem obsługi różnorodnych procesów logowania i personalizacji uwierzytelniania. Przykładowo:

  • Firmy świadczące usługi dla wielu klientów mogą tworzyć różne metody logowania i integracji z systemami klientów.
  • Organizacje składające się z wielu jednostek biznesowych mogą niezależnie zarządzać użytkownikami i ich uprawnieniami.
  • Systemy wymagające federacji z zewnętrznymi dostawcami tożsamości mogą korzystać z dedykowanych flow autentykacji.

Organizacje vs. Grupy – jakie są różnice?

W Keycloak 26 funkcjonalność organizacji i grup pełni różne role, mimo że oba mechanizmy służą do zarządzania użytkownikami. Organizacje są przeznaczone do obsługi bardziej złożonych scenariuszy, takich jak zarządzanie użytkownikami w kontekście różnych klientów lub partnerów biznesowych. Skupiają się na flow autentykacji oraz federacji tożsamości, umożliwiając precyzyjne dopasowanie procesów uwierzytelniania do potrzeb zewnętrznych podmiotów. Z kolei grupy lepiej sprawdzają się przy organizowaniu użytkowników w ramach jednej aplikacji, na przykład do przypisywania uprawnień lub definiowania dostępu do zasobów.

Konfiguracja organizacji

W przypadku rozbudowanych systemów uwierzytelniania funkcjonalność organizacji pozwala na bardziej precyzyjne zarządzanie użytkownikami i ich dostępem w ramach określonych struktur. W dalszej części artykułu pokażemy, jak krok po kroku skonfigurować organizacje w Keycloak, od aktywacji tej funkcji w ustawieniach realmu, po przypisywanie użytkowników do konkretnych grup.

1. Włączenie funkcjonalności organizacji w realmie
Aby skorzystać z funkcji organizacji, należy ją aktywować w ramach ustawień realmu:
Przejdź do Realm Settings > General, a następnie włącz opcję Switch Organizations.
Po aktywacji w menu po lewej stronie pojawi się nowa zakładka: Organizations.

2. Tworzenie nowej organizacji
Wejdź w zakładkę Organizations, wybierz Add Organization, a następnie wypełnij kluczowe pola:

    • Name: Unikalna nazwa organizacji, wyświetlana w interfejsie.
    • Alias: Unikalny alias używany w URL’ach (niezmienny po zapisaniu).
    • Redirect URL: Adres, na który użytkownik zostanie przekierowany po rejestracji lub zaakceptowaniu zaproszenia.
    • Domains: Domena używana do rozpoznawania organizacji na podstawie adresu e-mail użytkownika.

Automatyczne przypisywanie na podstawie domeny:
Podczas logowania użytkownik podaje adres e-mail. Keycloak analizuje jego domenę i automatycznie przypisuje go do odpowiedniej organizacji. Dzięki temu użytkownik korzysta z dedykowanego flow autentykacji. Warto zaznaczyć, że Keycloak obsługuje wildcardy w konfiguracji domen, co pozwala na przypisywanie subdomen (np. *.example.com) do tej samej organizacji.

 3. Dodawanie użytkowników do organizacji
Użytkowników można przypisać do organizacji na kilka sposobów:

    • Istniejący użytkownicy: Dodaj użytkowników już obecnych w realmie (Organizations > Members > Add Realm User).
    • Zaproszenia: Wyślij zaproszenie do nowego lub istniejącego użytkownika (Organizations > Members > Add Member > Invite Member).
    • Identity Provider: Powiąż dostawcę tożsamości z organizacją, aby automatycznie przypisywać użytkowników (Organizations > Identity Providers > Link Identity Provider).

4. Wyświetlanie użytkowników w organizacji
Lista użytkowników organizacji jest dostępna w sekcji Organizations > [Nazwa Organizacji] > Members. Informacja o przynależności do organizacji może być zawarta w tokenach jako claim organization. Dzięki temu aplikacje mogą różnicować uprawnienia użytkowników.

5. Zarządzanie flow autentykacji
Organizacje w Keycloak umożliwiają zastosowanie dedykowanych flow autentykacji dla użytkowników.

    • Identity-first login: Użytkownik podaje najpierw adres e-mail lub nazwę użytkownika, co pozwala Keycloakowi rozpoznać organizację i zastosować dedykowany flow.
    • Customizacja flow: Każda organizacja może mieć własny flow autentykacji, co pozwala dostosować procesy logowania do specyficznych wymagań klientów.

Dzięki zastosowaniu funkcji organizacji Keycloak umożliwia zaawansowaną personalizację w systemach IAM, upraszczając jednocześnie zarządzanie użytkownikami i ich dostępem w złożonych środowiskach.

Andrzej kwadrat

Nowa funkcja zarządzania organizacjami w Keycloak umożliwia tworzenie i administrowanie strukturami organizacyjnymi, takimi jak działy czy zespoły, co znacząco może usprawnić procesy takie jak onboarding czy offboarding pracowników oraz kwestie bezpieczeństwa z nimi związane. Przykładowo, podczas onboardingu nowy pracownik może zostać przypisany do odpowiedniej jednostki organizacyjnej, co automatycznie nadaje mu właściwe uprawnienia i dostęp do niezbędnych zasobów, które mogą mieć także charakter tymczasowy (np. dla pracowników tymczasowych). Analogicznie, w przypadku offboardingu usunięcie pracownika z danej jednostki powoduje natychmiastowe cofnięcie jego uprawnień i dostępu do firmowych zasobów, zwiększając tym samym bezpieczeństwo danych. Dzięki tej funkcji zarządzanie dostępami staje się bardziej zautomatyzowane i bezpieczne, co upraszcza procesy kadrowe w organizacji.

dr inż. Andrzej Chybicki CEO Inero Software

Napisz do nas

Zapewniamy kompleksowe wdrożenie i administrację systemami typu IAM