mapbox-token-security은(는) 무엇을 하나요?
Mapbox 접근 토큰의 보안 모범 사례 - 범위 관리, URL 제한, 교체 전략, 민감 데이터 보호 등 토큰 생성, 관리 및 보안 조언에 사용합니다.
개요
Mapbox 접근 토큰은 API와 SDK에 인증된 접근을 제공합니다. 부적절하게 보호되면 토큰이 도난당하거나 남용되어 비용 초래, 서비스 중단, 데이터 유출로 이어질 수 있습니다. 이 문서는 Mapbox 토큰 사용 시 따라야 할 핵심 보안 원칙을 다룹니다.
주요 보안 원칙
1. 최소 권한 원칙
- 각 토큰에는 필요한 최소한의 권한(스코프)만 부여하십시오.
tokens:list,styles:read,styles:write등 필요한 스코프만 선택하십시오.- 사용하지 않는 스코프는 절대 포함하지 마십시오.
2. URL 제한
- 토큰을 특정 URL 패턴으로 제한하여 무단 도메인에서의 사용을 방지하십시오.
- URL 제한은 와일드카드(
*)를 지원합니다.- 예:
https://myapp.example.com/* - 예:
https://*.example.com/*
- 예:
3. 정기적인 토큰 교체
- 보안 위험을 최소화하기 위해 정기적으로 토큰을 교체하십시오.
- 교체 주기: 민감한 환경에서는 90일마다, 그 외에는 1년마다 권장합니다.
- 토큰 교체 시 이전 토큰은 즉시 비활성화하십시오.
4. 비공개 유지
- 토큰을 소스 코드, 버전 관리 시스템, 공개 저장소에 절대 하드코딩하지 마십시오.
- 환경 변수나 안전한 비밀 관리 서비스를 사용하십시오.
- 클라이언트 측 코드에서는 공개(제한된) 토큰만 사용하십시오.
지원 플랫폼
- Mapbox GL JS (제한된 URL 사용)
- Maps SDK for Android/iOS (비공개 유지)
- Navigation SDK (비공개 유지)
- Mapbox API (서버 측에서 안전하게 사용)
토큰 생성 보안
Mapbox 계정 대시보드에서 토큰을 생성할 때:
- 토큰 이름을 명확하게 지정하여 용도를 식별할 수 있게 하십시오.
- 공개 토큰과 비공개 토큰을 구분하여 사용하십시오.
- 공개 토큰: 프런트엔드 웹 SDK 사용 (URL 제한 필수)
- 비공개 토큰: 서버 측 API 호출 (IP 제한 가능)
- IP 제한을 설정하여 특정 IP 주소에서만 토큰을 사용할 수 있게 하십시오.
위험 완화 전략
| 위험 | 완화 전략 |
|---|---|
| 토큰 도난 | URL/IP 제한, 정기적 교체, 비공개 유지 |
| 권한 과다 | 최소 권한 스코프만 부여 |
| 소스 코드 노출 | gitignore, 환경 변수, CI/CD 비밀 관리 |
| 재생 공격 | 짧은 유효 기간, 토큰 폐기 절차 |
명령어 예시
# 토큰을 안전하게 환경 변수로 설정
export MAPBOX_ACCESS_TOKEN='your-token-here'
# Node.js에서 토큰 사용 (process.env)
const mapboxToken = process.env.MAPBOX_ACCESS_TOKEN;
참고 사항
- 토큰이 유출되었다고 의심되면 즉시 Mapbox 계정에서 해당 토큰을 비활성화하고 새 토큰을 생성하십시오.
- 공개 저장소에 토큰을 실수로 커밋한 경우 git history에서 제거하고 토큰을 폐기하십시오.
- Mapbox 문서: Access Tokens