목적 :
온프레미스는 물리적으로 분리된 환경에 있다보니 허가된 사용자와 장소에서만 접근이 가능하지만, Public Cloud GCP는 공개된 특성상 기본적으로 Console에는 모두 다 접근이 가능합니다.
개인이 아닌 기업의 경우에는 AWS는 Organization, SCP등을 이용하여 허가된 사용자와 장소에서만 접근이 가능하게 할 수 있고, GCP역시 VPC서비스 제어와 Access Context Manager를 이용하여 보안을 향상할 수 있습니다.
본 문서에서는 예제 시나리오를 가지고 허가된 장소와 사용자만 GCP서비스를 사용하는 방안을 기술하겠습니다.
유의사항 :
VPC 서비스 제어는 서비스의 제한을 발생시키기에 테스트 실행모드 (DryRun)가 있습니다.
본 문서에서는 실행여부를 확인하기 위해 바로 시행 모드로 하였지만
실 서비스 적용시에는 테스트 실행모드 → 로그 확인 → 시행의 순서로 진행되어야 합니다.
시나리오 및 구성도
사무실에서는 모든 사용자들이 접속하여 모든 서비스를 사용 가능
허가받은 외부장소에서는 특정ID + IP를 통해서 Cloud Storage만 사용 가능하며 그이외는 사용불가
그외 장소에서와 ID로는 WebConsole은 접근가능하나 모든 GCP 리소스 사용불가
테스트 ID-1(허용ID) : gcp@seonggi.kr
테스트 ID-2(허가되지 않은 ID) : hun815@seonggi.kr
1. Access Context Manager 설정
프로젝트가 아닌 조직으로 먼저 변경합니다.
사무실에서의 모든 사용자는 사용이 가능하도록 “Access Context Manager”를 설정
Console : 보안 → 제로 트러스트 → Access Context Manager
액세스 수준 만들기 선택 후 다른 누구도 잘 알아볼 수 있도록 규칙이름을 설정 합니다.
이번 문서에서는 IP 기반으로 진행하기에 기본 모드와 공개IP를 선택 하였습니다.
이제 허가된 외부장소의 IP 값이 있는 “Access Context”가 생성이 되었습니다.
동일하게 사무실의 IP를 추가하여 “Access Context”를 하나 더 생성합니다.
2. VPC서비스 제어 설정
Console : 보안 → 제로 트러스트 → VPC 서비스 제어
새 경계를 선택합니다.
알기 쉽도록 룰 명을 설정 합니다.
보호할 리소스
해당 설정은 프로젝트와 VPC NETWORK별로 지정을 할 수 있습니다.
본 문서는 테스트 프로젝트에 대해 진행했습니다.
제한된 서비스
제한할 서비스들을 선택합니다.
여기서 선택되지 않은 서비스들은 제한되지 않으므로, 고객, 운영과 협의하여 환경에 맞도록 설정합니다.
본 문서에서는 모든 서비스를 제한하였습니다.
이제 Ingress Rules (인그레스 정책) 설정입니다.
2개의 규칙을 설정합니다.
- 규칙1 : 허가된 장소와 ID로 특정서비스만 사용가능한 규칙
From 에는 ID와 기존에 설정한 외부 장소의 “Access Context”
To 에는 All Projects, 특정 서비스인 Cloud Storage API를 선택합니다.
- 규칙2 : 사무실에서는 모든 GCP 리소스 사용가능
From 에는 모든 ID와 사무실의 “Access Context”
To 에는 All Projects, All Services를 선택합니다.
이제 생성을 눌러 VPC 서비스 경계를 생성합니다.
3. 테스트
이제 해당 내용이 적용되었는지 테스트를 진행해보겠습니다.
규칙 1에 적용된 대로 허가된 장소와 테스트 ID-1로 접속 후 “Compute Engine”을 접속 시도시 아래와 같이 에러메시지가 발생됩니다.
허가된 서비스인 “Cloud Storage”를 선택하면 정상적으로 버킷이 보입니다.
이제 아예 허가되지 않는 테스트 ID-2로 접속해 보겠습니다.
Web Console은 접속되지만, 아래와 같이 오류메시지가 발생됩니다.
참고 Docs :
https://cloud.google.com/vpc-service-controls/docs/supported-products?hl=ko
마무리하며..
VPC서비스 제어는 GCP서비스 리소스에 대해 상세하게 제한하는 설정이 가능합니다.
Public에 존재하는 Cloud지만, 상황에 맞도록 설정한다면 보안성 향상에 도움이 될 것입니다.
GCP 보안 관련되어 작성한 글들 입니다.
'Cloud > GCP' 카테고리의 다른 글
Squid Proxy를 통한 GCP Web Console 접속 (0) | 2024.07.30 |
---|---|
[GCP] On-Premise to GCP Serverless 서비스를 VPN(Private망)으로 연결하여 사용 (2) | 2024.07.28 |
[GCP / Monitoring] GCP ops Agent 설치시 에러 메시지가 발생될때 (0) | 2024.05.27 |
[GCP / Security] Web Console 접근제어 (0) | 2024.05.23 |
Front Proxy (Squid)를 사용하여, 내부보안 향상하기 (0) | 2024.03.25 |
[GCP] 2단계(MFA) 인증을 조직 단위로 설정하기 (0) | 2024.03.25 |
무료 도메인으로 Google Cloud 다양하게 테스트하기 (0) | 2024.03.21 |