## 이 문서에서 얻는 것
연동을 위해 API 키와 인증서를 맡기게 됩니다.
**그것이 어떻게 보관되고 누가 접근할 수 있는지**를 밝힌 문서입니다.
보안 검토·내부 승인 자료로 쓸 수 있도록 구조를 그대로 설명합니다.
## 저장 방식
### 암호화 저장
입력한 자격증명은 **평문으로 저장되지 않습니다.**
- 저장 시 대칭키 암호화(Fernet)를 적용합니다
- 암호화된 값은 식별 가능한 접두사와 함께 보관되어, 평문이 섞여 남지 않도록 관리됩니다
- 암호화 키는 **애플리케이션 서버의 별도 키 파일**에 보관되며, 소유자만 읽을 수 있는 권한(0600)으로 제한되고 **소스 저장소에는 포함되지 않습니다**
### 암호화 대상
아래 성격의 값은 최상위 항목이든 중첩된 필드든 모두 암호화합니다.
| 유형 | 예 |
|---|---|
| API 키 | `api_key`, `key`, `secret`, `secret_key` |
| 토큰 | `token`, `api_token`, `access_token`, `refresh_token`, `bot_token` |
| 비밀번호 | `password`, `app_password` |
| 서명 키 | `signing_secret` |
### 화면 표시는 마스킹
저장된 값은 **화면에서 다시 볼 수 없습니다.** 앞뒤 일부만 남긴 마스킹 형태로 표시됩니다.
- 사용자 본인도, 관리자도 원본을 조회할 수 없습니다
- 마스킹은 **응답을 만드는 서버 단계**에서 적용됩니다. 브라우저에 원본이 내려간 뒤 가리는 방식이 아닙니다
- 따라서 발급받은 키 원본은 **고객사 쪽에서 별도 보관**해야 합니다 (비밀번호 관리자 권장)
## 워크스페이스 격리
- 자격증명은 **워크스페이스(회사) 단위로 분리 저장**됩니다
- 다른 워크스페이스의 자격증명이나 데이터에 접근할 수 있는 경로는 없습니다
- 로그인한 사용자는 자신이 속한 워크스페이스만 조회합니다
## 계정 연결(OAuth)이 더 안전한 이유
OAuth 방식 채널에서는 **플랫폼 비밀번호를 모닝인사이트에 알려주지 않습니다.**
- 로그인은 그 플랫폼 자체 화면에서 이루어집니다
- 모닝인사이트는 승인 결과로 받은 **제한된 권한의 토큰만** 보관합니다
- 그 토큰은 승인한 범위(예: 읽기 전용) 밖의 작업을 할 수 없습니다
- 고객은 언제든 **플랫폼 쪽에서 권한을 철회**할 수 있습니다
가능하면 키 직접 입력보다 계정 연결 방식을 권합니다.
### CSRF 방어
계정 연결 과정에서 요청과 응답이 같은 흐름인지 검증하는 `state` 값을 사용합니다.
값이 일치하지 않으면 연결을 거부합니다. 즉 제3자가 승인 흐름에 끼어들 수 없습니다.
## 감사 로그
자격증명과 관련된 모든 변경은 기록됩니다.
| 기록 항목 | 내용 |
|---|---|
| 무엇을 | 어떤 설정·채널이 바뀌었는지 |
| 누가 | 어떤 계정이 수행했는지 |
| 언제 | 시각 |
| 어떻게 | 등록 · 변경 · 삭제 |
기록에는 **자격증명 값 자체가 남지 않습니다.**
**설정 → 데이터 → 설정 변경 이력** 에서 조회할 수 있습니다.
## 인증서·로그인 정보가 필요한 연동에 대해
법인 은행 계좌와 법인 신용카드는 구조상 **공동인증서** 또는 **카드사 홈페이지 로그인 정보**를
전달해야 합니다. 이 값들도 위와 동일하게 암호화 저장·마스킹·감사 기록이 적용되지만,
성격상 위험이 더 크므로 아래를 권합니다.
- **조회 전용 권한 계정**을 별도로 만들어 사용하세요 (이체 권한이 있는 계정 지양)
- 개인 명의가 아닌 **법인 공용 계정**을 사용하세요
- 인증서 갱신·비밀번호 변경 주기를 관리 대상에 넣으세요
- 이 연동은 **재무 담당자와 승인 절차를 거쳐** 진행하세요
## 권한 관점의 보호
자격증명 화면 자체가 권한으로 보호됩니다.
- **설정 화면은 오너·관리자만** 접근합니다
- 읽기 전용·팀원·인사 역할은 연동 화면에 들어갈 수 없습니다
- 권한 검사는 화면 숨김이 아니라 **서버에서 차단**합니다. URL 직접 입력으로 우회되지 않습니다
## 고객사에서 함께 해야 할 것
서비스 쪽 보호만으로는 부족합니다. 아래는 고객사 관리 영역입니다.
- [ ] 발급한 API 키는 **필요한 최소 권한(읽기 전용)** 으로 만들 것
- [ ] 개인 계정이 아닌 **공용/관리자 계정**으로 발급할 것
- [ ] 키 원본을 메신저·이메일로 주고받지 말 것 (비밀번호 관리자 사용)
- [ ] 담당자 교체 시 **연동 계정을 이전**할 것
- [ ] 모닝인사이트 계정 비밀번호를 공유하지 말 것 — 팀원은 각자 계정을 발급받을 것
- [ ] 퇴사자 계정은 즉시 제거할 것
## 관련 문서
- [연동 상태 · 재인증 · 토큰 만료](/news/guide/integration-refresh)
- [연동 화면 사용법](/news/guide/integration-howto)
가이드 목록 ▾
광고 연동 3▾
쇼핑몰·매출 연동 5▾
SNS 연동 4▾
금융 연동 4▾
화면별 사용법 7▾
팀·권한 관리 4▾
운영자 가이드 11▾
문제 해결 4▾
검색 결과가 없습니다.