Skip to main content

개요

Moss는 컨텍스트에 따라 여러 인증 메커니즘을 사용합니다:

JWT 인증

JWT(JSON Web Token) 인증은 SDK 통합에 가장 높은 보안을 제공합니다.

작동 방식

  1. 백엔드가 각 사용자 세션에 대해 서명된 JWT를 생성
  2. SDK가 API 요청에 이 토큰을 포함
  3. Moss가 서명, 만료 및 클레임을 검증
  4. 모든 검사가 통과된 경우에만 접근 허용

토큰 구조

Moss JWT에는 다음 클레임이 포함됩니다:

보안 기능

  • HS256 서명 - 기본적으로 애플리케이션의 비밀 키를 사용하여 HMAC-SHA256으로 토큰 서명
  • 만료 적용 - 토큰에 유효한 exp 클레임 필수
  • 키 로테이션 지원 - 예정된 폐기가 있는 여러 활성 서명 키
  • 상수 시간 검증 - 타이밍에 안전한 비교를 사용한 서명 검증

서명 방식

Moss는 애플리케이션별로 두 가지 서명 방식을 지원합니다: 비대칭 서명을 사용하면 키 쌍을 직접 생성하고 공개 키만 Moss에 등록합니다. 개인 키는 고객 인프라를 벗어나지 않으므로, Moss는 고객을 대신해 토큰을 발급할 수 있는 자료를 보유하지 않습니다. 등록된 각 키는 해당 알고리즘에 고정되며, 로테이션 시에는 폐기된 키를 다시 등록하는 것이 아니라 새 키 쌍을 등록해야 합니다.
보안 정책상 대칭 비밀 키를 외부 업체와 공유할 수 없는 경우 비대칭 서명이 적합합니다. 그 외의 경우에는 HS256이 더 간단한 기본 선택지입니다.

키 관리

각 애플리케이션은 여러 JWT 서명 키를 가질 수 있습니다:
  • 키 ID (kid) - 토큰 헤더에 포함된 고유 식별자
  • 활성 상태 - 삭제 없이 키 비활성화 가능
  • 예정된 폐기 - 원활한 로테이션을 위한 향후 폐기 날짜 설정
  • 마지막 사용 추적 - 보안 감사를 위한 키 사용량 모니터링
구현 세부 사항 및 코드 예시는 SDK 인증 가이드를 참조하세요.

대시보드 인증 (Clerk)

Moss 대시보드는 엔터프라이즈급 SSO 기능을 제공하는 Clerk를 인증에 사용합니다.

기능

  • OAuth 통합 - Google, GitHub 또는 이메일로 로그인
  • 조직 지원 - 역할 기반 권한이 있는 멀티테넌트 접근
  • 세션 관리 - 자동 갱신이 있는 보안 세션 토큰
  • MFA 지원 - 선택적 다중 인증

조직 기반 접근

모든 대시보드 작업은 조직으로 범위가 지정됩니다:
  • 애플리케이션은 조직에 속함
  • 사용자는 여러 조직의 구성원이 될 수 있음
  • 조직 전환 시 표시되는 애플리케이션 변경
  • 대시보드의 API 호출에 JWT의 조직 컨텍스트 포함

멀티테넌시 보안

Moss는 모든 계층에서 엄격한 테넌트 격리를 적용합니다:

데이터베이스 수준

모든 쿼리는 요청한 조직 범위로 제한되므로 다른 조직에 속한 레코드는 반환되지 않습니다.

API 수준

  • JWT 토큰에 클레임의 조직 ID 포함
  • API 엔드포인트가 접근 전 조직 소유권 확인
  • 교차 조직 요청은 403 Forbidden으로 거부

감사 수준

  • 다른 조직에 대한 접근 시도 로깅
  • 의심스러운 패턴에 대한 보안 알림 구성 가능

세션 권한 부여

인증 외에도 Moss는 모든 요청에 대해 권한 부여를 확인합니다:

세션 검증

  1. 사용자 소유권 - 세션은 특정 사용자에게 속함
  2. 애플리케이션 범위 - 세션은 애플리케이션에 바인딩
  3. 복합 키 - 외래 키 제약 조건으로 데이터 무결성 적용

접근 패턴


보안 권장 사항

SDK 통합용

  1. 프로덕션 배포에 JWT 인증 사용
  2. 만료 전 토큰 갱신 구현
  3. 짧은 토큰 수명 설정 (15-60분 권장)
  4. 모든 API 통신에 HTTPS 사용

대시보드 접근용

  1. 모든 팀 구성원에게 MFA 활성화
  2. 조직 구성원 정기 검토
  3. 조직에서 사용 가능한 경우 SSO 사용
  4. 접근 로그 주기적 감사

다음 단계

SDK 인증 설정

애플리케이션에서 JWT 인증 구현

데이터 보호

암호화 및 데이터 처리에 대해 알아보기