Cloud/GCP

[GCP] Cloud Identity란? IAM 및 Service Account을 이용한 접속 제어

Ofglen 2023. 7. 7. 10:29

1. Cloud Identity

인터넷을 통해 클라우드에 어디에서나 액세스 할 수 있다.

그러므로, 접속 제어(Controlling Access) 과정을 거쳐 보안을 강화한다. 

 

 

Controlling Access

  • Authentication(인증): 계정을 확인하는 것
  • Authorization(인가): IAM ex) Azure AD
  • Auditing

 

 

Cloud ID가 제공하는 기능

  • Life Cycle 관리
  • 2단계 인증
  • SSO(Signel Sion On)
  • 사용에 대한 auditing 및 reporting

 

 

Google Account Type

  • Cloud Identity managed account: 수명주기 관리, 2단계 인증, SSO, 감사 보고서, API 제어 등의 기능을 제공한다.
  • Google consumer account

 

 

최소 권한

Google Cloud 서비스에서 역할에는 수척 가지 권한이 포함되므로 최소 권한만 적용할 수 있도록 역할을 부여하는 것이 좋다.

  • 기본 역할: Owner, Editor, Viewer 등으로 전반적인 고정 액세스 수준을 제공한다.
  • 사전 정의된 역할: 특정 GCP 서비스에 적용되는 권한으로 구성된다. Ex) compute.viewer
  • 커스텀 역할: 보다 세분화된 권한을 제공하기 위해 사용자가 원하는 권한으로 직접 구성하는 역할이다. 보안 등 철두철미한 회사에서 관리자가 관리하지 않는 범위의 역할까지 부여하지 않도록 역할을 직접 구성하고 세분화한다.

 

 

 

Service Account 

사용자를 대상으로 하는 계정과 달리 서비스 계정은 리소스에 할당해서 리소스가 사용하는 권한을 제어한다. Service Account를 생성할 수 있는 권한이 있는 사용자만 Service Account에 접근할 수 있는 권한을 가지고 있다. (Billing도 마찬가지이다.)

 

IAM은 유저(사람)에게 리소스에 대한 접근 권한을 제어한다.

Service Account는 리소스에게 접근 권한을 할당하여, 리소스가 다른 리소스에 접근할 수 있는 권한을 할당한다. (JSON 키 발급)

위 그림에서 private network 내 VM이 GCS에 접근 권한을 할당하기 위해서는 Service Account를 부여해야 하는데 이는 구글 클라우드 내에서 default로 자동 할당된다. GCS가 VM에 접근하기 위해서도 마찬가지이다.

Service Account는 계정(사람)에게도 또한 할당할 수 있지만, 실무에서는 IAM을 사용하며 Service Account는 실제 계정에게 부여하는 일은 없다. 기본으로 default로 부여되기 때문에 만약 권한을 최소화하고 싶다면 수정이 필요하다.