docs: 서버 접근 권한 문서 업데이트 (v1.3)

- OS 그룹 현황 섹션 추가 (webservice/develop 그룹 역할, 서버별 구성)
- Jenkins 롤백 기능 문서화 (파라미터, 동작 방식, 릴리스 보관)
- sam-cicd pro 계정 현황 추가
- OS 잠금 시 DB 접근 차단 참고사항 추가
- "외부 인원" → "서브 관리자" 문구 수정
- 변경 이력: develop 그룹 삭제(prod/cicd), pro 계정 잠금(prod/cicd)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-11 10:00:14 +09:00
parent e03541b678
commit d727673e54

View File

@@ -3,9 +3,9 @@
## 개요
SAM 시스템의 서버 및 데이터베이스 접근 권한을 관리합니다.
서버 관리자는 1명이며, 외부 인원에게는 임시로 접근을 허용하고 작업 완료 후 차단합니다.
서버 관리자는 1명이며, 서브 관리자에게는 필요 시 임시로 접근을 허용하고 작업 완료 후 잠금합니다.
**최종 업데이트:** 2026-03-09
**최종 업데이트:** 2026-03-11
---
@@ -56,6 +56,7 @@ SAM 시스템의 서버 및 데이터베이스 접근 권한을 관리합니다.
| 계정 | 이름 | 용도 | 상태 |
|------|------|------|------|
| `hskwon` | 권혁성 | 서버 관리자 | 활성 |
| `pro` | 김보곤 | 서브 관리자 임시 접근용 | 평상시 **잠금** |
### sam-dev (개발서버)
@@ -89,6 +90,41 @@ sudo passwd -S pro
4. `sudo usermod -L pro` 로 잠금
5. 작업 내용 기록
> **참고:** OS 계정 잠금 시 DB 접근도 자동 차단됨. `pro@localhost` DB 계정은 SSH 터널 경유로만 접근 가능하므로, SSH가 막히면 DB도 접속 불가.
---
## OS 그룹 현황
### 그룹 역할
| 그룹 | 용도 | 핵심 특징 |
|------|------|----------|
| `webservice` | 웹 서비스 운영 (배포 + 웹 프로세스) | `www-data` 포함 → PHP-FPM이 파일 쓰기 가능 |
| `develop` | 개발 환경 전용 | 개발서버에서만 사용, `www-data` 포함 |
> **원칙:** `webservice` = 운영/CICD 서버, `develop` = 개발서버. 동일한 역할이므로 서버별로 하나만 사용.
### 서버별 그룹 구성
| 서버 | 그룹명 | 멤버 |
|------|--------|------|
| sam-prod (운영) | `webservice` | hskwon, www-data, pro |
| sam-cicd (CI/CD) | `webservice` | hskwon, pro |
| sam-dev (개발) | `develop` | hskwon, pro, www-data, zomking |
> **변경 이력:** 2026-03-11 — 운영/CICD 서버에서 미사용 `develop` 그룹 삭제 (webservice 그룹과 역할 중복)
### Jenkinsfile 권한 설정
배포 시 `storage/`, `bootstrap/cache/` 등의 소유권을 `www-data:webservice`로 설정:
```bash
sudo chown -R www-data:webservice storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
```
- `www-data`(소유자): PHP-FPM 프로세스가 읽기/쓰기
- `webservice`(그룹): 배포 유저(hskwon)가 접근 가능
---
## DB 계정 현황
@@ -204,6 +240,27 @@ Jenkins는 sam-cicd(110.10.147.46)에서 운영됩니다.
- Slack 알림: `#deploy_api`, `#deploy_react`
- Jenkins 웹 UI: https://ci.sam.it.kr
### Jenkins 롤백 기능
Jenkins 웹에서 "Build with Parameters"로 롤백 실행 가능:
| 파라미터 | 옵션 | 설명 |
|----------|------|------|
| `ACTION` | deploy / rollback | 배포 또는 롤백 선택 |
| `ROLLBACK_TARGET` | production / stage | 롤백 대상 환경 |
| `ROLLBACK_RELEASE` | (릴리스 ID) | 비워두면 직전 릴리스로 롤백 |
**롤백 동작:**
1. 릴리스 목록 조회 (현재 활성 + 사용 가능 목록 콘솔 출력)
2. symlink 전환 → 캐시 재생성 → 서비스 재시작
3. Slack 알림 (`#deploy_api` / `#deploy_react`)
**릴리스 보관:**
- Production: 6개
- Stage: 4개
> **변경 이력:** 2026-03-11 — api, react Jenkinsfile에 롤백 파라미터 추가
---
## 관리 정책
@@ -226,5 +283,5 @@ Jenkins는 sam-cicd(110.10.147.46)에서 운영됩니다.
---
**작성일:** 2026-03-05
**버전:** 1.2
**버전:** 1.3
**담당자:** SAM Infrastructure Team