본문으로 건너뛰기

보안 개요

Connect Base는 엔터프라이즈급 보안을 기본으로 제공합니다.

보안 원칙

1. 심층 방어 (Defense in Depth)

여러 계층의 보안 메커니즘을 통해 시스템을 보호합니다.

  • 네트워크 레벨: WAF, DDoS 방어
  • 애플리케이션 레벨: 입력 검증, 출력 인코딩
  • 데이터 레벨: 암호화, 접근 제어

2. 최소 권한 원칙

필요한 최소한의 권한만 부여합니다.

  • 클라이언트(브라우저)에는 cb_pk_* (Public Key)만 사용
  • 서버에서만 cb_sk_* (Secret Key) 사용
  • 콘솔에서 키별로 활성/비활성 토글로 접근 통제

3. 제로 트러스트

모든 요청을 검증하고, 암묵적 신뢰를 하지 않습니다.

보안 기능

기능설명
API 키 관리cb_pk_* / cb_sk_* 두 종류 키, 콘솔에서 발급/폐기
CORS 설정콘솔에서 허용 도메인 등록
Rate Limiting플랜별 호출 한도 + 429 응답
데이터 암호화TLS 1.3 (in transit) + AES-256 (at rest)
필드 레벨 암호화컬럼 생성 시 encrypted: true 옵션

인증 방식

SDK 사용 (권장)

typescript
import ConnectBase from 'connectbase-client'

const cb = new ConnectBase({
    publicKey: import.meta.env.VITE_CONNECT_BASE_PUBLIC_KEY  // cb_pk_...
})

// 인증된 요청
const result = await cb.database.getData('tbl_xxx')

REST API 직접 호출

Public Key는 X-Public-Key 헤더로 전달합니다.

bash
curl -X GET "https://api.connectbase.world/v1/public/tables/tbl_xxx/data" \
  -H "X-Public-Key: cb_pk_your_public_key"

앱 멤버 JWT 는 Authorization: Bearer 헤더로 전달합니다.

bash
curl -X GET "https://api.connectbase.world/v1/public/app-members/me" \
  -H "Authorization: Bearer eyJhbGciOi..."

보안 체크리스트

  • 클라이언트 빌드에 cb_sk_* (Secret Key)가 포함되지 않음
  • CORS 허용 도메인이 콘솔에 명시적으로 등록됨
  • HTTPS만 사용 (Connect Base는 HTTPS 강제)
  • .env 파일이 .gitignore 에 포함됨
  • 정기적인 키 로테이션
  • 감사 로그(콘솔의 Logs 메뉴) 모니터링