안녕하세요,

베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "Service Account는 무엇인가요?"를 다루고자 합니다.


Service Account 정의


Service Account는 사용자가 아닌 애플리케이션 또는 가상 머신(VM) 인스턴스에서 사용하는 특별한 유형의 계정입니다.

Service Account는 비밀번호가 없으며, 브라우저나 쿠키를 통해 로그인할 수 없습니다.

또한, Service Account는 User Account와 달리 G Suite 도메인의 구성원이 아닙니다.

Service Account 생성, 수정 및 삭제에 관한 자세한 내용은 Service Account 생성 / Service Account 업데이트 /  Service Account 삭제 참고하십시오.



Service Account 인증


Google Cloud 외부에서 서비스 계정을 사용하기 위해서 Service Account Key를 이용한 인증 방식을 사용합니다.

Service Account의 Key는 2가지 유형으로 있습니다.


1) Google 관리 Key Pair

Google 관리 Key Pair는 Service Account Credentials API 및 Google Cloud 서비스(예: App Engine 및 Compute Engine)에서 서비스 계정의 단기 사용자 인증 정보를 생성하는 데 사용됩니다.


2) 사용자 관리 Key Pair

이 유형은 서비스 계정에 사용자 관리 Key Pair를 만든 후 각 Key Pair의 Private Key를 사용하여 Google API에 인증하는 데 사용됩니다. 

이 Private Key를 Service Account Key라고 합니다. 

각 Service Account마다 최대 10개의 Service Account Key를 가질 수 있으며, Google은 사용자 관리 Key Pair 중 Public Key만을 저장합니다.



Service Account 관리


Service Account Key가 유출 시 매우 큰 보안 위험이 될 수 있음으로 신중한 관리가 필요합니다.

구글이 제공하는 권장사항에 따라 관리하는 것이 필요합니다.

대표적인 권장사항은 다음과 같습니다.


1. Service Account Key를 소스 코드 저장소에 제출하지 않기

2. Service Account Key의 만료 시간을 설정하거나 Key를 순환 시키기(Production 환경에서는 만료 시간 설정 대신 Key 순환을 권장)

3. Service Account에 작업에 필요한 최소 권한을 부여하여 유출되더라도 액세스 권한을 제한하여 피해를 최소화하기

4. GCE VM 및 GCP Service 생성 시 Default Service Account 대신 전용 Service Account를 생성하여 사용하기



참조링크


[1] Service Account 개요

https://cloud.google.com/iam/docs/service-account-overview

[2] Service Account Key 관리 권장사항

https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys



관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.


감사합니다.