GCP VPC Service Control - 1

gcp에서 제공하는 vpc sc 중 perimiter 개념 및 구성

  1. VPC SC 개요
  2. Google Cloud 서비스를 보호 방법
  3. VPC SC로 서비스 제어
    1. 서비스 경계로 분리 / perimeter
      1. 시행 모드
      2. 테스트 실행 모드
      3. 구성
        1. VPC 액세스 가능 서비스 설정
        2. 인그레스,이그레스 규칙
  4. Reference

VPC SC 개요

클라우드라는 이점으로 어디서든 접근이 가능하고 24/7 서비스를 이용할 수있습니다. 사용자가 서비스를 이용하기에 정말 편리하고 간편해졌습니다.

이러한 편의성이 생긴만큼 문제점도 필연적으로 존재할 수 밖에 없는데요. 중요 데이터들이 온프레미스에 존재하다가 퍼블릿 클라우드 환경에 오면서 크래커나 내부의 공격자에게 공격받기가 쉬워졌습니다.

Google Cloud Platform : GCP에도 마찬가지로 적용이 됩니다. GCP에는 데이터들이 많이 들어있는곳이 Bigquery,Cloud Storage와 같은 Google Cloud 서비스들이 탈취,삭제 등을 당할 수 있습니다.

GCP에서는 이러한 점을 방지하고자 VPC SC를 이용하여 지정된 서비스와 리소스,데이터를 보호할 수 있는 경계를 생성할 수 있게 해두었습니다.

Google Cloud 서비스를 보호 방법

  • 리소스에 대한 비공개 액세스 권한이 있는 경계 내 클라이언트는 경계 외부에 있는 권한이 없는(잠재적으로 공개) 리소스에 액세스하지 못합니다.

  • gsutil cp 또는 bq mk와 같은 서비스 작업을 사용하여 경계 외부에 있는 승인되지 않은 리소스에 데이터를 복사할 수 없습니다.

  • 경계로 분리된 클라이언트 및 리소스 간의 데이터 교환은 인그레스 및 이그레스 규칙을 사용하여 보호됩니다.

  • 리소스에 대한 컨텍스트 인식 액세스는 ID 유형(서비스 계정 또는 사용자), ID, 기기 데이터, 네트워크 출처(IP 주소 또는 VPC 네트워크)와 같은 클라이언트 속성을 기반으로 합니다. 컨텍스트 인식 액세스의 예시는 다음과 같습니다.

    • Google Cloud 또는 온프레미스에 있는 경계 외부에 있는 클라이언트는 승인된 VPC 네트워크 내에 있으며 비공개 Google 액세스를 사용하여 경계 내에 있는 리소스에 액세스합니다.
    • 경계 내의 리소스에 대한 인터넷 액세스는 IPv4 및 IPv6 주소 범위로 제한됩니다.

VPC 서비스 제어는 Identity and Access Management(IAM)과 별개로 Google Cloud 서비스의 보안을 더욱 강화합니다. IAM은 세분화된 ID 기반 액세스 제어를 지원하지만 VPC 서비스 제어는 경계 간 데이터 이그레스 제어를 포함한 보다 광범위한 컨텍스트 기반 경계 보안을 지원합니다. 심층 방어를 위해 VPC 서비스 제어와 IAM을 모두 사용하는 것이 좋습니다.

VPC SC로 서비스 제어

서비스 경계로 분리 / perimeter

리소스에 보안 경계를 만들어 Vm에서 서비스들고의 통신과 서비스 간 통신을 제어할 수 있습니다.

경계 내에서는 자유롭게 통신이 가능하며 경계 외부의 서비스와의 통신은 기본적으로 차단할 수 있습니다

경계는 인터넷의 타사 API 또는 서비스에 대한 액세스를 차단하지 않습니다.

service_perimeter.png

다음 다이어그램은 경계 내에서 VPC 프로젝트와 Cloud Storage 버킷 사이에 통신을 허용하지만 경계 간 모든 통신을 차단하는 서비스 경계를 보여줍니다.

시행 모드

서비스 경계가 시행되면 경계 외부에서 제한되는 서비스에 대한 요청과 같이 경계 정책을 위반하는 요청은 거부됩니다.

시행 모드의 경계는 경계 구성에서 제한된 서비스에 경계를 적용하여 Google Cloud 리소스를 보호합니다. 경계에 필요한 인그레스 및 이그레스 규칙의 조건이 충족되지 않으면 제한된 서비스에 대한 API 요청은 경계를 넘지 않습니다. 시행 경계는 도용된 사용자 인증 정보, 잘못 구성된 권한 또는 프로젝트에 액세스할 수 있는 악의적인 내부 사용자와 같은 데이터 무단 반출 위험을 방지합니다.

테스트 실행 모드

테스트 실행 모드에서는 경계 정책을 위반하는 요청이 거부되지 않고 로깅됩니다.

말 그대로 테스트를 할 수 있는 모드입니다.

구성

  1. gcloud 명령줄로 서비스 경계를 만들 경우
  2. Access Context Manager Api를 사용하여 서비스 경계를 만들 경우
  3. Cloud Console을 이용하여 서비스 경계를 만들 경우

위 3가지의 방법으로 서비스 경계를 만들 수 있습니다. 1,2 항목으로 진행할 경우 먼저 액세스 정책을 만들어야 합니다.

서비스 경계를 생서할때 보호하려는 프로젝트 및 서비스를 결정한 후 하나 이상의 서비스 경계를 만드시면 됩니다.

VPC SC를 이용할때 일부 제한되는 리소스들이 있습니다. 참고 를 확인하시기 바랍니다.

VPC 액세스 가능 서비스 설정

경계에 대한 VPC 액세스 가능 서비스를 사용 설정하면 경계 내부의 네트워크 엔드포인트로부터의 액세스가 지정한 서비스 집합으로 제한 해야합니다.

인그레스,이그레스 규칙

방화벽 정책과 비슷하게 인그레스와 이그레스 규칙이 존재합니다.

클라이언트 속성을 기반으로 경계로 제한된 리소스에 대한 컨텍스트 인식 액세스를 허용할 수 있습니다. ID 유형(서비스 계정 또는 사용자), ID, 기기 데이터, 네트워크 원본(IP 주소 또는 VPC 네트워크)과 같은 클라이언트 속성을 지정할 수 있습니다.


Reference