詳細検索

GCP 보안 함정: 서비스 계정, IAM, 감사 로그에서 예방해야 할 실용적인 체크리스트

아바타
글쓴이 西田
3분 읽기

GCP 보안 함정: 서비스 계정, IAM, 감사 로그에서 예방해야 할 실용적인 체크리스트
日本語에서 번역 • 원문 보기
西田
西田

안녕하세요, 저는 Colorkrew Security의 니시다입니다. 이 세 가지는 Google Cloud(GCP)를 사용하는 조직에서 보안 측면에서 종종 간과되는 요소입니다.

 

"서비스 계정 키가 재사용됨"
"누구나 BigQuery 데이터를 볼 수 있습니다."
"감사 기록이 활성화되어 있지 않습니다"

1. GCP의 3가지 주요 "누출" 패턴

패턴 (1): 서비스 계정 키 관리 부족

GCP 서비스 계정은 애플리케이션이 GCP 자원에 접근할 수 있도록 하는 "신원 카드"입니다.

문제가 되는 사례:

  • '프로젝트 편집자'와 '소유자'에 해당하는 여러 SA 키가 있습니다.
  • 키 회전 없이 몇 년간 같은 키를 사용해
  • 키는 Git 저장소나 공유 드라이브에 저장되어 있습니다

측정 방법:
가능하면 SA 키를 사용하지 않고 Workload Identity를 사용하세요(GCE/GKE는 키 없이 Google API를 호출할 수 있습니다).

패턴 (2): IAM 특권 불량

많은 경우, 소규모 팀이 모두에게 '편집자 권한'을 부여하고 그대로 둡니다.

체크포인트:

  • '역할/소유자' 또는 '역할/편집자'가 개인 계정에 직접 할당되나요?
  • 은퇴자나 이직자를 위한 계좌가 남아 있나요?
  • 그룹 멤버십 목록이 있나요?

패턴 (3): 객체 오류 출판(GCS 등)

클라우드 저장소(GCS) 버킷에서 'allUsers'와 'allAuthenticatedUsers'에 권한을 부여하면 사실상 전 세계적으로 공개적으로 이용 가능해집니다.

 

2. IAM 디자인 포인트

최소한의 특권 보장

'역할/편집자'는 유용하지만 위험합니다.
실제로 필요한 권한만 부여하는 커스텀 롤을 사용하는 것을 권장합니다.

# 나쁜 예시야
Gcloud 프로젝트 add-iam-policy-binding PROJECT_ID \ 
  --멤버="user:dev@example.com" \ 
  --role="roles/editor" 

# 좋은 예시: 오직 당신이 필요한 서비스만을 제공해
Gcloud 프로젝트 add-iam-policy-binding PROJECT_ID \ 
  --멤버="user:dev@example.com" \ 
  --role="roles/cloudsql.client" 

조건부 IAM 활용

IAM 바인딩은 시간과 자원 경로에 의해 조건화됩니다.
운영 시간 동안에만 특정 프로젝트에 접근할 수 있습니다.

 

3. 클라우드 감사 로그에서 기대할 수 있는 점

GCP 감사 로그에는 세 가지 유형이 있습니다:

로그 유형 기록 내용 기본
관리자 활동 설정 및 IAM 변경 자동 활성화 (비활성화되지 않음)
데이터 접근 데이터 읽기 및 수정 기본 설정 비활성화
시스템 이벤트 GCP 내 자동 작동 자동 활성화

특별 참고: 데이터 접근 로그는 기본적으로 비활성화되어 있습니다.
BigQuery와 GCS에 접근하려면 명시적으로 활성화해야 합니다.

 

4. 모니터링: 보안 지휘 센터(SCC) 활용

GCP 표준 보안 대시보드.

SCC가 감지한 주요 문제:

  • 공개된 GCS 버킷
  • SA 키 사용 의심
  • 과도한 권한을 감지하기
  • 외부 세계로의 비정상적인 데이터 전송

SCC에서 프리미엄 계층(이전 명칭: Security Health Analytics + Event Threat Detection)을 사용하여 위협 탐지의 정확도를 높이세요.

 

5. 컬러크루 시큐리티의 접근

Colorkrew Security는 GCP 환경을 위한 보안 설계, 재고 관리 및 감사 로그 설계를 지원합니다.
GCP가 항상 '기본 설정'으로 안전하지는 않습니다. SA 키, IAM, 감사 로그라는 세 가지 요소를 기억하는 것이 GCP 보안의 첫 단계입니다.

Related Articles