VPC 서비스 제어 개요

VPC 서비스 제어를 사용하면 Cloud Storage 및 BigQuery와 같은 Google Cloud 서비스에서 데이터 무단 반출 위험을 완화할 수 있습니다. VPC 서비스 제어를 사용하여 명시적으로 지정한 서비스의 리소스와 데이터를 보호하는 경계를 만들 수 있습니다.

VPC 서비스 제어는 다음 제어를 정의하여 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 서비스 제어의 보안 이점

VPC 서비스 제어는 Google Cloud 리소스에 직접 비공개 액세스할 때의 성능 이점은 그대로 유지하면서 다음과 같은 보안 위험을 완화합니다.

  • 승인되지 않은 네트워크에서 도용된 사용자 인증 정보를 사용한 액세스: VPC 서비스 제어는 승인된 VPC 네트워크의 비공개 액세스만 허용하여 OAuth 사용자 인증 정보 또는 서비스 계정 사용자 인증 정보의 도용을 방지합니다.

  • 악의적인 내부자 또는 손상된 코드에 의한 데이터 유출 : VPC 서비스 제어는 네트워크 내 클라이언트가 경계 외부의 Google 관리형 서비스 리소스에 액세스하지 못하게 하여 네트워크 이그레스 제어를 보완합니다.

    또한 VPC 서비스 제어는 경계 외부에 있는 리소스의 데이터를 읽거나 복사하는 것을 방지합니다. VPC 서비스 제어는 gsutil cp 명령어를 공개 Cloud Storage 버킷에 복사하거나 bq mk 명령어를 영구 외부 BigQuery 테이블에 복사하는 등의 서비스 작업을 방지합니다.

    또한 Google Cloud는 VPC 서비스 제어와 통합하는 데 사용되는 제한된 가상 IP를 제공합니다. 또한 제한된 VIP는 VPC 서비스 제어가 지원하는 서비스에 대한 요청을 인터넷에 노출하지 않고도 수행할 수 있습니다.

  • 잘못 구성된 IAM 정책으로 인한 비공개 데이터의 공개적 노출: VPC 서비스 제어는 잘못 구성된 IAM 정책으로 인해 데이터가 노출되는 경우에도 승인되지 않은 네트워크의 액세스를 거부하여 보안을 강화합니다.

  • 서비스 액세스 모니터링: 테스트 실행 모드에서 VPC 서비스 제어를 사용하여, 액세스를 차단하지 않고 보호된 서비스에 대한 요청을 모니터링하고 프로젝트에 대한 트래픽 요청을 이해합니다. 또한 허니팟 경계를 만들어서 액세스 가능한 서비스를 프로브하려는 예기치 않은 악의적인 시도를 식별할 수 있습니다.

조직 액세스 정책을 사용하고 전체 Google Cloud 조직에 VPC 서비스 제어를 구성하거나 범위가 지정된 정책을 사용하고 조직의 폴더 또는 프로젝트에 VPC 서비스 제어를 구성할 수 있습니다. 경계 내에 있는 데이터를 자유롭게 처리, 변환, 복사할 수 있습니다. 보안 제어는 경계 내에서 생성된 모든 새 리소스에 자동으로 적용됩니다.

VPC 서비스 제어 및 메타데이터

VPC 서비스 제어는 메타데이터 이동을 포괄적으로 제어하도록 설계되지 않았습니다.

이 문맥에서 '데이터'는 Google Cloud 리소스에 저장된 콘텐츠로 정의됩니다. 예를 들어 Cloud Storage 객체의 콘텐츠가 있습니다. '메타데이터'는 리소스 또는 그 상위 요소의 속성으로 정의됩니다. 예를 들어 Cloud Storage 버킷 이름이 있습니다.

이 VPC 서비스 제어 출시 버전의 기본 목표는 지원되는 서비스를 통해 서비스 경계 간에 메타데이터가 아닌 데이터의 이동을 제어하는 것입니다. VPC 서비스 제어도 메타데이터에 대한 액세스를 관리하지만 VPC 서비스 제어 정책 검사 없이 메타데이터를 복사하고 액세스할 수 있는 경우가 있을 수 있습니다.

메타데이터에 대한 액세스를 적절하게 제어하려면 IAM커스텀 역할 등을 사용하는 것이 좋습니다.

분야

VPC 서비스 제어는 신뢰할 수 있는 경계 외부의 Google 관리형 서비스에 대한 액세스를 차단하고, 신뢰할 수 없는 위치의 데이터에 대한 액세스를 차단하고, 데이터 무단 반출 위험을 완화하는 보안 정책을 정의할 수 있도록 합니다. 다음과 같은 사용 사례에 VPC 서비스 제어를 사용할 수 있습니다.

Google Cloud 리소스를 서비스 경계로 분리

서비스 경계는 Google Cloud 리소스 주위에 보안 경계를 만듭니다. 경계를 구성하여 가상 머신(VM)에서 Google Cloud 서비스(API)로의 통신과 Google Cloud 서비스 간 통신을 제어할 수 있습니다. 경계를 사용하면 경계 내에서 자유롭게 통신하고 경계 외부의 Google Cloud 서비스와의 통신은 기본적으로 차단할 수 있습니다. 경계는 인터넷의 타사 API 또는 서비스에 대한 액세스를 차단하지 않습니다.

보안 경계를 만드는 VPC 서비스 제어 예시는 다음과 같습니다.

  • 서비스 경계에 속하는 Virtual Private Cloud(VPC) 네트워크 내의 VM은 동일한 서비스 경계에 있는 Cloud Storage 버킷의 데이터를 읽거나 쓸 수 있습니다. 그러나 VPC 서비스 제어를 통해서는 경계 외부에 있는 VPC 네트워크 내의 VM이 경계 내부에 있는 Cloud Storage 버킷에 액세스할 수 없습니다.

  • 두 Cloud Storage 버킷 간의 복사 작업은 두 버킷이 동일한 서비스 경계에 있으면 성공하지만 버킷 중 하나가 경계 외부에 있으면 복사 작업은 실패합니다.

  • VPC 서비스 제어를 통해서는 서비스 경계 내에 있는 VPC 네트워크 내의 VM이 경계 외부에 있는 Cloud Storage 버킷에 액세스할 수 없습니다.

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

승인된 VPN 또는 Cloud Interconnect로 경계 확장

비공개 Google 액세스의 온프레미스 확장을 사용하여 하이브리드 환경에 이르는 VPC 네트워크에서 Google Cloud 리소스에 대한 비공개 통신을 구성할 수 있습니다. VPC 네트워크는 동일한 네트워크의 VM이 속하는 서비스 경계 내에 있어야 동일한 서비스 경계 내에 있는 관리형 Google Cloud 리소스에 비공개로 액세스할 수 있습니다.

서비스 경계에 속하는 VPC 네트워크에서 비공개 IP가 있는 VM은 서비스 경계 외부의 관리형 리소스에 액세스할 수 없습니다. 필요한 경우 검사와 감사를 거친 모든 Google API(예: Gmail)에 대한 인터넷 액세스를 계속 허용할 수 있습니다.

다음 다이어그램은 비공개 Google 액세스를 사용해서 하이브리드 환경으로 확장되는 서비스 경계를 보여줍니다.

인터넷에서 Google Cloud 리소스 액세스 제어

인터넷에서 서비스 경계 내에 있는 관리형 리소스에 액세스하는 것은 기본적으로 거부됩니다. 필요한 경우 요청의 컨텍스트에 따라 액세스를 사용 설정할 수 있습니다. 이렇게 하려면 소스 IP 주소와 같은 다양한 속성을 기반으로 액세스를 제어하는 액세스 수준을 만들면 됩니다. 인터넷에서 실행된 요청이 액세스 수준에 정의된 기준을 충족하지 못하면 요청이 거부됩니다.

Console을 사용하여 경계 내에 있는 리소스에 액세스하려면 IPv4 및 IPv6 범위 한 개 이상에서 특정 사용자 계정에 액세스할 수 있는 액세스 수준을 구성해야 합니다.

다음 다이어그램은 IP 주소 또는 기기 정책과 같이 구성된 액세스 수준에 따라 인터넷에서 보호 리소스에 액세스할 수 있는 서비스 경계를 보여줍니다.

미지원 서비스

VPC 서비스 제어가 지원하는 제품 및 서비스에 대한 자세한 내용은 지원되는 제품 페이지를 참조하세요.

gcloud 명령줄 도구 또는 Access Context Manager API를 사용하여 미지원 서비스를 제한하려는 경우 오류가 발생합니다.

지원되는 서비스 데이터에 대한 프로젝트 간 액세스는 VPC 서비스 제어에서 차단합니다. 또한 제한된 VIP는 미지원 서비스를 호출하는 워크로드의 기능을 차단하는 데 사용할 수 있습니다.

용어

이 항목에서는 VPC 서비스 제어를 통해 도입된 몇 가지 새로운 개념을 알아보았습니다.

VPC 서비스 제어
Google 관리 서비스의 리소스 주위에 서비스 경계를 정의하여 서비스에 대한 통신과 서비스 간의 통신을 제어하는 기술입니다.
서비스 경계
Google 관리 리소스 주위의 서비스 경계입니다. 서비스 경계를 사용하면 경계 내에서 자유롭게 통신하고 경계 외부의 모든 통신은 기본적으로 차단할 수 있습니다.
인그레스 규칙
경계 외부의 API 클라이언트가 경계 내에 있는 리소스에 액세스할 수 있도록 허용하는 규칙입니다.
이그레스 규칙
경계 내부에 있는 API 클라이언트 또는 리소스가 경계 외부의 Google Cloud 리소스에 액세스할 수 있도록 허용하는 규칙입니다. 경계는 인터넷의 타사 API 또는 서비스에 대한 액세스를 차단하지 않습니다.
서비스 경계 브리지
경계 브리지를 사용하면 서로 다른 보안 경계에 있는 프로젝트 간에 통신할 수 있습니다. 경계 브리지는 양방향이므로 각 서비스 경계에 있는 프로젝트가 브리지 범위 내에서 동등하게 액세스할 수 있습니다.
Access Context Manager
소스 IP 주소와 같은 클라이언트의 지정된 속성을 기반으로 요청을 액세스 수준에 매핑할 수 있는 문맥 인지 요청 분류 서비스입니다.
액세스 수준
인터넷에서 소스 IP 범위, 클라이언트 기기, 위치정보 등과 같은 여러 속성을 기준으로 요청을 분류합니다. 요청과 관련된 액세스 수준에 따라 인터넷에서 액세스 권한을 부여하도록 서비스 경계를 구성할 수 있습니다. 액세스 수준은 Access Context Manager 서비스에서 결정됩니다.
액세스 정책
서비스 경계를 정의하는 Google Cloud 리소스 객체입니다. 특정 폴더 또는 프로젝트로 범위가 지정된 액세스 정책과 함께 전체 조직에 적용할 수 있는 액세스 정책을 만들 수 있습니다.
제한된 VIP
제한된 VIP는 인터넷에서 액세스할 수 없는 제품에서 데이터와 리소스를 사용할 수 있도록 VPC 서비스 제어에서 지원하는 제품과 API에 비공개 네트워크 경로를 제공합니다. restricted.googleapis.com199.36.153.4/30로 확인됩니다. 이 IP 주소 범위는 인터넷에 공개되지 않습니다.

다음 단계