한국어
  • jwt
  • auth
  • user data

사용자 데이터 이동의 안전한 허브

인증 & 사용자 데이터 비교. Logto의 안전한 저장 및 이동을 설명. 데이터 흐름 모범 사례(속성 매핑, 데이터 동기화, 맞춤 JWT)를 개요로 설명.

Ran
Ran
Product & Design

사용자 메타데이터는 Identity and Access Management (IAM) 서비스의 생명선입니다. 데이터 분석, 개인화된 경험, 보안 모니터링, 접근 제어와 같은 제품 기능을 지원합니다. 하지만 애플리케이션이 플랫폼, 조직, 애플리케이션 간에 더 많이 연결되면서 사용자 메타데이터 관리가 복잡해질 수 있습니다. 걱정하지 마세요! 사용자 데이터의 흐름을 이해하면 매끄럽고 안전한 인증 경험을 구축할 수 있습니다.

인증 데이터 vs. 사용자 데이터

모든 사용자 데이터가 동일하게 생성되는 것은 아닙니다. 인증 데이터는 토큰 발행 중 교환되는 특정 하위 집합입니다. HTTP 요청 내에서 JWT (JSON Web Token)가 이동하는 경우를 상상해 보세요. 큰 JWT는 속도를 저하시킬 수 있습니다. 빠르고 안전하게 유지하기 위해 정체성, 계정 상태, 인증 세부 정보, 권한 및 기본 사용자 프로필과 같은 필수 사용자 정보만 포함합니다.

Logto에서는 다음 인증 데이터 포인트의 저장에 집중합니다:

  • 계정 상태: 생성 시간, 업데이트, 정지 상태, 로그인 기록 추적. create_at, updated_at, account_suspended, last_ip 포함.
  • 인증 정보: 사용자 식별자, 인증 요소 및 검증 관련 데이터 포함. user_id, password_digest, password_algorithm, username, email, email_verified, phone, phone_verified, social_identities, sso_identities, mfa_config, mfa_verification_factors 포함.
  • 권한 정보: 역할, 권한, 조직 멤버십 및 승인된 애플리케이션과 기기 관리. role, permission, organization_id, organization_role, organization_permission, grant_application, grant_device 포함.
  • 표준 사용자 프로필: OIDC에 의해 등록된 가장 일반적인 사용자 프로필입니다. Logto는 또한 이를 기본 사용자 메타데이터로 설정하며, 'profile' 네임스페이스 아래에 저장합니다. first_name, last_name, middle_name, name, nickname, profile, website, avatar, gender, birthdate, zoneinfo, locale, address 포함.

기본을 넘어서: Logto로 사용자 데이터 맞춤화

  • Logto는 표준 프로필을 넘어서서 우리의 관리 API를 통해 비즈니스 요구사항에 맞춘 맞춤 데이터를 정의할 수 있게 해줍니다. 이 데이터는 'custom.data'라는 전용 네임스페이스에 안전하게 저장됩니다. occupation, company_name, company_size와 같은 사례가 있습니다.

금고 밖에서 생각하기: 맞춤 JWT로 외부 API 데이터

  • 특정 비즈니스 데이터는 Logto에 영구적으로 저장할 필요가 없을 수 있습니다. Custom JWT의 장점은 토큰 발행 중 API 호출을 통해 동적으로 이 데이터를 가져올 수 있어 사용자 데이터의 범위를 확장할 수 있다는 것입니다. 보안이 가장 중요하므로 JWT에 민감한 정보를 포함하지 마십시오. JWT는 쉽게 파싱될 수 있습니다. subscribed_status, last_path_visited, app_theme와 같은 사례가 있습니다.

사용자 데이터 여정: 획득 & 배포

사용자 데이터는 다양한 소스에서 옵니다:

  • 사용자 입력: 애플리케이션 내에서 가입, 온보딩 또는 프로필 업데이트 중.
  • Identity providers (IdPs): 소셜 로그인 또는 엔터프라이즈 SSO 중 원활히 동기화됨.
  • 데이터 마이그레이션: 기존 데이터베이스에서 데이터 이동.
  • 관리자 개입: 콘솔이나 데이터베이스를 통해 관리자가 수동으로 편집.

이 귀중한 데이터를 확보한 후, 안전하게 공유할 수 있습니다:

  • 제3자 앱에 권한 부여: 인증된 애플리케이션에 대해 사용자 데이터에 대한 제어된 접근 제공.
  • 데이터 내보내기: 추가 분석을 위해 Logto에서 사용자 데이터 내보내기.
  • JWT, Webhooks 또는 API를 통한 전달: 내부 서비스와 사용자 데이터를 공유하여 통합된 사용자 경험 제공.

Logto는 사용자 데이터 흐름을 촉진하고 다양한 제공자로부터 사용자 정보를 쉽게 획득하고 승인된 당사자에게 안전하게 전달할 수 있는 신원 센터 역할을 합니다.

핵심 포인트

이제 사용자 데이터 여정을 이해했으니 몇 가지 주요 설계 고려사항을 살펴보겠습니다:

  1. 속성 매핑 서로 다른 소스로부터의 사용자 속성 매핑이 정확해야 데이터 사일로를 피할 수 있습니다. SAML 연결의 경우 수동 매핑이 필요합니다. OIDC를 사용할 때는 표준화된 클레임을 활용하거나 충돌을 피하기 위해 고유 네임스페이스를 생성하십시오.
  2. IdP와 RP 데이터 동기화 IdP(Identity Providers)와 RP(Relying Parties) 간 데이터 동기화는 양쪽의 권한 부여 및 특정 범위 요청을 포함합니다. 검증 상태에 주의하십시오. GitHub 또는 Azure AD와 같은 IdP에서 동기화된 "이메일 확인=false"는 시스템에서 검증된 이메일이 아닐 수 있습니다. 적절히 처리하십시오.
  3. 다중 엔티티 구조에서의 데이터 분리 및 덮어쓰기 여러 조직, 애플리케이션, 제공자가 있는 복잡한 환경에서는 데이터 분리 및 덮어쓰기 동작이 중요해집니다.
    • 다중 조직: 사용자는 여러 조직에 속할 수 있습니다. 사용자 계정 아래 저장된 사용자 데이터를 조직별 데이터와 구분하십시오. 한 조직 내의 변경 사항이 다른 조직에 영향을 미치지 않도록 하십시오.
    • 다중 앱: Logto를 통해 사용자 데이터베이스를 공유하는 애플리케이션의 경우 중앙 집중식 계정 설정 또는 프로필 설정 모듈을 서비스에 구현하십시오.
    • 다중 제공자: 다양한 로그인 방법이 있는 애플리케이션은 각 제공자로부터 다른 사용자 정보를 수신합니다. Logto에서는 소셜 로그인 등록 시 또는 엔터프라이즈 SSO의 경우 매 로그인 시 데이터를 동기화할 지 선택할 수 있습니다. 소셜 로그인은 초기 데이터 동기화에 이상적이며, 엔터프라이즈 SSO는 기업 IdP 내에서 더 쉽게 관리를 위해 매 로그인 시 멤버 정보를 동기화할 수 있습니다.
  4. 확장된 데이터 접근을 위한 맞춤 JWT 맞춤 JWT의 힘은 API 호출을 통해 토큰 발행 중 외부 정보를 동적으로 가져올 수 있다는 것입니다. 이는 핵심 기능에는 반드시 필요하지 않지만 사용자 경험을 풍부하게 할 수 있는 데이터 포인트에 접근할 수 있게 해줍니다. 큰 유연성과 함께 큰 책임이 따릅니다. JWT는 이를 받는 사람이 쉽게 파싱할 수 있으므로 민감한 데이터를 포함하지 마십시오.
  5. 점진적 등록으로 원활한 온보딩 흐름 구현 사용자에게 소설 길이의 등록 양식을 부담 주지 마십시오. 처음에는 가장 중요한 사용자 정보만 요청하는 점진적 등록을 구현하십시오. 이를 통해 가입 과정을 간소화하고 사용자를 참여 시킬 수 있습니다. 사용자가 애플리케이션과 상호 작용하는 동안 추가 데이터 포인트를 점차적으로 수집하여 더 풍부한 사용자 프로필을 구축할 수 있습니다.

이러한 모범 사례를 따르면 인증 여정에서 원활하고 안전한 사용자 데이터 흐름을 보장할 수 있습니다.

Logto: 사용자 데이터 이동의 안전한 허브

사용자 메타데이터를 효과적으로 관리하면 사용자 경험을 개인화하고 보안을 강화하며 사용자 행동에 대한 귀중한 통찰을 얻을 수 있습니다. Logto의 안전하고 유연한 플랫폼을 활용하여 사용자 데이터의 잠재력을 최대한 발휘하고 오늘날 데이터 중심 환경에서 경쟁 우위를 확보하십시오.