권한 관리 가이드

효과적인 권한 관리는 보안과 협업 효율성을 동시에 달성하는 핵심 요소입니다. 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명으로 제한
  • 중요 작업 수행 시 이중 승인 프로세스 고려
  • 정기적인 보안 교육 및 가이드라인 공유