Bezpieczne centrum dla danych użytkownika w ruchu
Kontrasty autoryzacji i danych użytkownika. Szczegóły bezpiecznego przechowywania i przemieszczania Logto. Przedstawia najlepsze praktyki przepływu danych (mapowanie atrybutów, synchronizacja danych, niestandardowe JWT).
Metadane użytkownika są siłą napędową usług Zarządzania Tożsamością i Dostępem (IAM). Napełniają funkcje produktu, takie jak analiza danych, spersonalizowane doświadczenia, monitorowanie bezpieczeństwa i kontrola dostępu. Ale w miarę jak aplikacje stają się coraz bardziej połączone między platformami, organizacjami i aplikacjami, zarządzanie metadanymi użytkownika może być skomplikowane. Nie bój się! Poprzez zrozumienie przepływu danych użytkownika, możesz zbudować bezproblemowe i bezpieczne doświadczenie autoryzacyjne.
Dane autoryzacyjne vs. dane użytkownika
Nie wszystkie dane użytkownika są takie same. Dane autoryzacyjne to określony podzbiór wymieniany podczas wydawania tokenów. Wyobraź sobie JWT (JSON Web Token) podróżujący w Twoich żądaniach HTTP. Duży JWT może spowolnić działanie. Aby zachować szybkość i bezpieczeństwo, zawieramy tylko niezbędne informacje użytkownika, takie jak tożsamość, status konta, szczegóły autoryzacyjne, uprawnienia i podstawowy profil użytkownika.
Tutaj w Logto koncentrujemy się na przechowywaniu następujących punktów danych autoryzacyjnych:
- Status konta: Śledzenie czasu tworzenia, aktualizacji, statusu zawieszenia i historii logowania. Zawiera
create_at
,updated_at
,account_suspended
,last_ip
. - Informacje autoryzacyjne: Obejmuje identyfikatory użytkownika, czynniki autoryzacyjne i dane związane z weryfikacją. Zawiera
user_id
,password_digest
,password_algorithm
,username
,email
,email_verified
,phone
,phone_verified
,social_identities
,sso_identities
,mfa_config
,mfa_verification_factors
. - Informacje autoryzacyjne: Zarządzaj rolami, uprawnieniami, członkostwami w organizacjach oraz autoryzowanymi aplikacjami i urządzeniami dla szczegółowej kontroli dostępu. Zawiera
role
,permission
,organization_id
,organization_role
,organization_permission
,grant_application
,grant_device
. - Standardowy profil użytkownika: To najczęściej rejestrowany profil użytkownika przez OIDC. Logto ustawia go również jako domyślne metadane użytkownika, przechowywane pod przestrzenią nazw 'profile.'. Zawiera
first_name
,last_name
,middle_name
,name
,nickname
,profile
,website
,avatar
,gender
,birthdate
,zoneinfo
,locale
,address
.
Poza podstawami: Dostosowywanie danych użytkownika z Logto
- Logto wychodzi poza standardowy profil. Nasze Management API pozwala definiować niestandardowe dane specyficzne dla potrzeb biznesowych. Te dane są bezpiecznie przechowywane pod dedykowaną przestrzenią nazw ‘custom.data’. Oto kilka przypadków:
occupation
,company_name
,company_size
.
Myślenie poza sejfem: zewnętrzne dane API z niestandardowymi JWT
- Niektóre dane biznesowe mogą nie wymagać stałego przechowywania w Logto. Piękno niestandardowych JWT polega na tym, że możesz dynamicznie pobierać te dane za pomocą wywołań API podczas wydawania tokenów, rozszerzając zasięg danych użytkownika. Pamiętaj, że bezpieczeństwo jest najważniejsze, więc unikaj umieszczania w JWT informacji poufnych, ponieważ są one łatwo parsowane. Oto kilka przypadków:
subscribed_status
,last_path_visited
,app_theme
.
Podróż danych użytkownika: pozyskiwanie i dystrybucja
Dane użytkownika pochodzą z różnych źródeł:
- Wprowadzanie przez użytkownika: Podczas rejestracji, onboardingu lub aktualizacji profilu w aplikacji.
- Dostawcy tożsamości (IdP): Bezproblemowa synchronizacja podczas logowania społecznościowego lub Enterprise SSO.
- Migracje danych: Przenoszenie danych z istniejących baz danych.
- Interwencja administratora: Ręczna edycja przez administratora za pomocą konsoli lub bazy danych.
Gdy już masz te wartościowe dane, możesz ich bezpiecznie udostępnić:
- Przyznawanie uprawnień aplikacjom trzecim: Zapewnij kontrolowany dostęp do danych użytkownika dla autoryzowanych aplikacji.
- Eksport danych: Eksportuj dane użytkownika z Logto do dalszej analizy.
- Dostarczenie za pomocą JWT, Webhooks lub API: Udostępnij dane użytkownika Twoim wewnętrznym usługom dla spójnego doświadczenia użytkownika.
Jako centrum tożsamości, Logto doskonale ułatwia przepływ danych użytkownika. Ułatwiamy pozyskiwanie informacji o użytkowniku z różnych dostawców i bezpieczne dostarczanie ich autoryzowanym stronom.
Kluczowe punkty
Teraz, gdy rozumiesz podróż danych użytkownika, przeanalizujmy kilka kluczowych kwestii projektowych:
- Mapowanie atrybutów Zapewnij dokładne mapowanie atrybutów użytkownika z różnych źródeł, aby unikną ć izolacji danych. Dla połączeń SAML wymagana jest ręczna mapa. Korzystając z OIDC, wykorzystaj standardowe roszczenia lub utwórz unikalne przestrzenie nazw, aby zapobiec konfliktom.
- Synchronizacja danych IdP i RP Synchronizacja danych między dostawcami tożsamości (IdP) a stronami polegającymi (RP) zazwyczaj obejmuje autoryzację i specyficzne żądania zakresu po obu stronach. Zachowaj ostrożność wobec statusu weryfikacji. Skoordynowane "Email verified=false" od IdP, taki jak GitHub lub Azure AD, może nie być zweryfikowanym emailem w Twoim systemie. Zarządzaj tym odpowiednio.
- Segmentacja danych i nadpisywanie w strukturze z wieloma podmiotami
W złożonych środowiskach z wieloma organizacjami, aplikacjami i dostawcami, segmentacja danych i zachowanie nadpisywania stają się kluczowe.
- Wieloorganizacyjność: Użytkownik może należeć do wielu organizacji. Różnicuj dane użytkownika przechowywane pod kontem użytkownika od danych specyficznych dla organizacji. Zmiany w jednej organizacji nie powinny wpływać na inne.
- Wieloaplikacyjność: Dla aplikacji dzielących bazę danych użytkowników przez Logto, wdroż moduł centralnych ustawień konta lub ustawień profilu w Twojej usłudze.
- Wielodostawca: Aplikacje z różnymi metodami logowania otrzymują różne informacje o użytkowniku od każdego dostawcy. W Logto wybierz synchronizację danych podczas rejestracji logowania społecznościowego lub przy każdym logowaniu dla Enterprise SSO. Logowanie społecznościowe jest idealne do wstępnej synchronizacji danych, podczas gdy Enterprise SSO może synchronizować informacje o członkach przy każdym logowaniu dla łatwiejszego zarządzania w przedsiębiorstwie IdP.
- Niestandardowe JWT dla rozszerzonego dostępu do danych Moc niestandardowych JWT leży w ich zdolności do dynamicznego pobierania zewnętrznych informacji podczas wydawania tokenów za pomocą wywołań API. Umożliwia to dostęp do punktów danych, które mogą nie być niezbędne dla podstawowej funkcjonalności, ale mogą wzbogacić doświadczenie użytkownika. Pamiętaj, że wraz z dużą elastycznością wiąże się wielka odpowiedzialność. Ponieważ JWT są łatwo parsowane przez każdego, kto je otrzymuje, unikaj umieszczania danych poufnych.
- Progresywna rejestracja dla płynniejszego przepływu onboardingu Nie przytłaczaj użytkowników formularzem rejestracji o długości powieści. Implementuj progresywną rejestrację, technikę, w której początkowo wymagane są tylko najważniejsze informacje o użytkowniku. Usprawnia to proces rejestracji i utrzymuje zaangażowanie użytkowników. W miarę korzystania z aplikacji, możesz stopniowo zbierać dodatkowe punkty danych, aby zbudować bogatszy profil użytkownika.
Przestrzegając tych najlepszych praktyk, możesz zapewnić płynny i bezpieczny przepływ danych użytkownika w całej podróży autoryzacyjnej.
Logto: Twoje bezpieczne centrum dla danych użytkownika w ruchu
Efektywne zarządzanie metadanymi użytkownika daje Ci możliwość personalizacji doświadczeń użytkownika, zwiększenia bezpieczeństwa i uzyskania cennych wglądów w zachowanie użytkownika. Wykorzystując bezpieczną i elastyczną platformę Logto, możesz odblokować pełen potencjał danych użytkownika i uzyskać przewagę konkurencyjną w dzisiejszym krajobrazie napędzanym danymi.