권한 관리 가이드
효과적인 권한 관리는 보안과 협업 효율성을 동시에 달성하는 핵심 요소입니다. Alpacon의 IAM(Identity and Access Management) 기능을 활용하여 체계적인 권한 관리 전략을 수립할 수 있습니다.
자세한 내용은 IAM 개요를 참고하세요.
역할 기반 권한 체계
Alpacon은 세 가지 역할(Role)을 제공하여 사용자 권한을 계층적으로 관리합니다.
역할별 권한
User (일반 사용자)
- 권한 범위: 자신에게 할당된 리소스에 대한 접근 및 사용
- 주요 기능:
- 자신이 속한 그룹의 서버 접근
- Websh를 통한 서버 제어
- 자신의 프로필 및 설정 관리
- 적용 대상: 일반 팀원, 개발자, 운영자
Staff (관리자)
- 권한 범위: User 권한 + 사용자 및 그룹 관리
- 주요 기능:
- 사용자 초대 및 계정 관리
- 그룹 생성 및 멤버 관리
- 서버 등록 및 설정 변경
- 일부 워크스페이스 설정 관리
- 적용 대상: 팀 리더, 프로젝트 관리자
Superuser (슈퍼유저)
- 권한 범위: Staff 권한 + 시스템 전반의 최고 관리 권한
- 주요 기능:
- 모든 사용자 및 그룹 관리
- 워크스페이스 전체 설정 관리
- 결제 및 구독 관리
- 감사 로그 접근
- 적용 대상: 시스템 관리자, CTO, 보안 담당자
자세한 내용은 사용자 관리를 참고하세요.
그룹 기반 권한 관리
그룹을 활용하면 사용자와 서버를 논리적으로 구분하여 효율적으로 권한을 관리할 수 있습니다.
그룹 설계 전략
1. 팀 기반 그룹 구성
조직의 팀 구조에 따라 그룹을 생성합니다.
예시:
- Backend Team: 백엔드 서버 접근 권한
- Frontend Team: 프론트엔드 서버 및 빌드 서버 접근
- DevOps Team: 모든 인프라 서버 접근
- Data Team: 데이터베이스 및 분석 서버 접근
2. 환경 기반 그룹 구성
서버 환경에 따라 접근 권한을 분리합니다.
예시:
- Production Group: 프로덕션 서버 (제한적 접근)
- Staging Group: 스테이징 서버
- Development Group: 개발 서버 (자유로운 접근)
3. 프로젝트 기반 그룹 구성
프로젝트 단위로 서버와 인력을 관리합니다.
예시:
- Project A Team: 프로젝트 A 관련 서버
- Project B Team: 프로젝트 B 관련 서버
- Shared Infrastructure: 공통 인프라 서버
자세한 내용은 그룹 개요를 참고하세요.
최소 권한 원칙 (Principle of Least Privilege)
사용자에게 업무 수행에 필요한 최소한의 권한만 부여하여 보안을 강화합니다.
실천 방법
1. 기본 그룹 활용 제한
- Alpacon users 기본 그룹에는 공통 접근이 필요한 서버만 등록
- 민감한 서버는 별도 그룹으로 분리하여 관리
- 신규 사용자는 기본 그룹에서 시작하되, 필요 시 추가 그룹 할당
2. 역할 최소화
- 대부분의 사용자는 User 역할로 시작
- Staff 역할은 실제 관리 업무를 수행하는 인원에게만 부여
- Superuser 역할은 최소 인원(2-3명)에게만 제한적으로 부여
3. 정기적인 권한 검토
- 분기별로 사용자별 권한 및 그룹 소속 검토
- 퇴사자 또는 역할 변경 시 즉시 권한 회수
- 장기 미사용 계정 비활성화
서버 접근 제어
서버별로 접근 가능한 그룹을 지정하여 보안을 강화합니다.
접근 제어 시나리오
프로덕션 서버 보호
그룹: Production-Access
- Members: Senior Engineers, DevOps Team
- Servers: Production Web Server, Production DB Server
일반 개발자는 프로덕션 서버에 직접 접근하지 못하도록 제한
개발 환경 분리
그룹: Dev-Team-A
- Members: Team A 개발자
- Servers: Team A 개발 서버, 공유 개발 DB
그룹: Dev-Team-B
- Members: Team B 개발자
- Servers: Team B 개발 서버, 공유 개발 DB
각 팀은 자신의 개발 서버에만 접근 가능
자세한 내용은 서버 연결을 참고하세요.
활동 모니터링 및 감사
사용자 활동을 추적하여 보안 사고를 예방하고 사후 분석을 지원합니다.
모니터링 대상
사용자 활동 로그
각 사용자의 활동 이력을 확인할 수 있습니다:
- 로그인 시간 및 IP 주소
- 서버 접근 이력
- 설정 변경 내역
- 작업 성공/실패 여부
자세한 내용은 사용자 상세 - 활동 탭을 참고하세요.
서버 접근 이력
서버별로 접근한 사용자 및 그룹의 이력을 확인할 수 있습니다:
- 시스템 사용자별 접근 기록
- 시스템 그룹별 접근 기록
자세한 내용은 서버 상세 - 접근 탭을 참고하세요.
명령어 실행 이력
서버에서 실행된 명령어의 기록을 확인할 수 있습니다:
- 실행 시간 및 사용자
- 명령어 내용 및 결과
자세한 내용은 서버 상세 - 활동 탭을 참고하세요.
권한 관리 체크리스트
효과적인 권한 관리를 위한 체크리스트입니다.
초기 설정
- 조직 구조에 맞는 그룹 설계 및 생성
- 각 그룹에 적절한 서버 할당
- 사용자별 역할(User/Staff/Superuser) 결정
- 사용자를 적절한 그룹에 배치
운영 단계
- 신규 사용자 등록 시 최소 권한 부여
- 서버 추가 시 적절한 그룹에만 할당
- 민감한 서버는 제한된 그룹에만 접근 허용
- 기본 그룹(Alpacon users)의 서버 목록 최소화
정기 검토
- 분기별 사용자 권한 검토 (역할 및 그룹 소속)
- 퇴사자 계정 즉시 비활성화 또는 삭제
- 장기 미사용 계정 확인 및 조치
- 그룹 구성의 적절성 검토
- 활동 로그에서 이상 행위 패턴 확인
보안 강화
- 프로덕션 서버는 Senior 레벨 이상만 접근
- Superuser 역할은 2-3명으로 제한
- 중요 작업 수행 시 이중 승인 프로세스 고려
- 정기적인 보안 교육 및 가이드라인 공유