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:
@@ -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
|
||||
Reference in New Issue
Block a user