개요
Moss는 컨텍스트에 따라 여러 인증 메커니즘을 사용합니다:JWT 인증
JWT(JSON Web Token) 인증은 SDK 통합에 가장 높은 보안을 제공합니다.작동 방식
- 백엔드가 각 사용자 세션에 대해 서명된 JWT를 생성
- SDK가 API 요청에 이 토큰을 포함
- Moss가 서명, 만료 및 클레임을 검증
- 모든 검사가 통과된 경우에만 접근 허용
토큰 구조
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는 모든 요청에 대해 권한 부여를 확인합니다:세션 검증
- 사용자 소유권 - 세션은 특정 사용자에게 속함
- 애플리케이션 범위 - 세션은 애플리케이션에 바인딩
- 복합 키 - 외래 키 제약 조건으로 데이터 무결성 적용
접근 패턴
보안 권장 사항
SDK 통합용
- 프로덕션 배포에 JWT 인증 사용
- 만료 전 토큰 갱신 구현
- 짧은 토큰 수명 설정 (15-60분 권장)
- 모든 API 통신에 HTTPS 사용
대시보드 접근용
- 모든 팀 구성원에게 MFA 활성화
- 조직 구성원 정기 검토
- 조직에서 사용 가능한 경우 SSO 사용
- 접근 로그 주기적 감사
다음 단계
SDK 인증 설정
애플리케이션에서 JWT 인증 구현
데이터 보호
암호화 및 데이터 처리에 대해 알아보기