1. 문서 개요
구글 클라우드의 애플리케이션 및 리소스에 대한 보안 액세스를 지원하는 제로 트러스트 솔루션 BeyondCorp Enterprise의 많은 기능 중 GCP 웹 콘솔 로그인 시도시 사용자의 IP 주소와 위치정보를 통한 제어 방법을 안내하는 문서입니다.
2. GCP 웹 콘솔 제어
사용자가 GCP 웹 콘솔 (https://console.cloud.google.com)을 접근할 때 일부 기업에서는 지정된 회사의 네트워크에서만 사용자가 GCP 웹 콘솔을 접근할 수 있도록 보안 통제를 하고 싶어하는 요구가 있습니다. 이 때 BeyondCorp Enterprise에서 다양한 조건에 의해서 사용자의 웹 콘솔 접근 제어를 수행할 수 있습니다. 다만, BeyondCorp Enterprise는 무료 버전의 기능과 일부 Premium 버전에서의 기능적 차이가 있습니다. 무료 버전에서는 IP 조건에 의한 통제 그리고 지리적 위치 조건에 대한 통제를 기본적으로 제공합니다.
반면, 유료 버전인 Premium 버전에서는 사용자의 Device Policy(기업 관리 기기, 개인 소유 기기, 휴대기기)를 통해 접근 가능한 OS를 제한한다는 등의 다양한 조건으로 구글 클라우드의 애플리케이션 및 리소스에 대한 보안 액세스를 지원합니다.
Premium 버전에서 제공하는 다양한 기능은 아래 링크를 통해 확인할 수 있습니다.
BeyondCorp Enterprise와 Google Cloud 비교
3. 구현 방법
구글 관리 콘솔(https://admin.google.com)에서 BeyondCorp Enterprise를 통해 GCP 웹 콘솔에 접근을 통제할 사용자의 그룹을 만들어 주고 사용자를 추가합니다.
이후 GCP에서 Access Context Manager를 통한 접근 기준을 생성하고 BeyondCorp Enterprise 메뉴에서 웹 콘솔 접근제어 규칙을 생성합니다.
규칙은 관리 콘솔을 통해 만든 그룹 + GCP에서 만든 ACM의 조건을 AND조건으로 매칭하여 생성됩니다.
- 관리 콘솔에서 Cloud ID를 사용하여 사용자, 앱, 기기를 관리할 수 있습니다.
이 때, 관리 콘솔에 접근할 수 있는 관리자의 권한이 필요합니다.
- 관리 콘솔 로그인 -> 디렉터리 -> 그룹 -> 그룹 만들기

- 그 후 그룹의 세부 정보를 입력해 줍니다.

- 액세스 유형에 대한 설정을 완료합니다.

- 그룹에 Cloud ID 사용자를 추가합니다.

- 만들어진 그룹에 Cloud ID 사용자를 추가합니다.

- 웹 콘솔을 제어할 사용자가 그룹에 추가된 결과 확인 (구글 관리 콘솔 작업 끝)

- 적절한 권한이 있는 계정으로 GCP에 로그인 합니다.
Security -> Access Context Manager 메뉴에서 Create Access Level을 클릭합니다.

- 새로운 Access Level을 생성합니다.
- Basic Mode : 기본 모드이며 무료 버전에서 사용할 수 있습니다.
- Advanced Mode : Beyondcorp Enterprise의 Premium 버전에서 사용할 수 있습니다.
- 조건 중 IP subnetworks를 클릭한 후 아래와 같이 GCP 웹콘솔에 접근을 허용할 사용자의 IP대역을 지정해주고 저장을 합니다.

- 생성된 Access Context Manager 조건을 확인합니다.

- 다음으로 Beyondcorp Enterprise 메뉴로 넘어갑니다.
- GCP -> Security -> Zero Trust -> BeyondCorp Enterprise
- 우측의 BeyondCorp Enterprise를 적용할 조직을 확인하고 SELECT를 클릭

- 웹콘솔에 대한 제어메뉴 ‘Secure Cloud Console & APIs’ 의 MANAGE ACCESS 클릭

- 상단의 ADD 클릭

- ADD Principals to GCP console & APIs 창이 나오면 만들어 놓은 Google Groups와 Access Context Manager에서 만든 조건을 선택

- 등록 결과 확인

4. 결과 확인
- 위에서 지정한 네트워크 외에서 접속 시도시
- 액세스 거부됨으로 표시 되며 GCP 웹콘솔 로그인 불가

- 추가로 지리적 위치에 대한 접근제어도 가능
- Access Context Manager에서 Geographic Locations 조건을 North Korea로 주고 조건 만족시 FALSE로 설정Access Context Manager에서 Geographic Locations 조건을 North Korea로 주고 조건 만족시 FALSE로 설정
- Locations 조건은 만족시 False로 하여 복수의 국가 지정 가능
- 단 VPN을 통하여 IP 우회시 해당 조건으로는 통제 불가

- 마찬가지로 사용자가 접근하는 IP의 위치를 보고 차단 가능
