VPC 서비스 제어 개요

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

VPC 서비스 제어를 사용하여 보호되는 모든 Google Cloud 서비스의 경우 다음이 보장됩니다.

  • 경계 내의 리소스는 Google Cloud 또는 온프레미스에서 비공개 Google 액세스를 사용하여 승인된 VPC 네트워크 내의 클라이언트에서만 액세스합니다.

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

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

  • 사용 설정된 경우 허용된 IPv4 및 IPv6 범위를 사용하여 경계 내 리소스에 대한 인터넷 액세스를 제한합니다.

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

VPC 서비스 제어의 보안 이점

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

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

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

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

    Google Cloud는 신뢰할 수 있는 네트워크에서 VPC 서비스 제어와 통합되지 않은 스토리지 서비스에 액세스하는 것을 방지하는 데 사용되는 제한된 가상 IP를 제공합니다. 또한 제한된 VIP는 VPC 서비스 제어가 지원하는 서비스에 대한 요청을 인터넷에 노출하지 않고도 수행할 수 있습니다.

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

    IAM의 Access Context Manager 정책 관리자 역할을 할당하면 IAM 정책 관리자가 아닌 사용자가 VPC 서비스 제어를 구성할 수 있습니다.

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

VPC 서비스 제어는 Google Cloud 조직에서 경계 내에 있는 모든 보호된 리소스에 일관되게 적용되는 광범위하고 균일한 정책을 만들 수 있도록 구성됩니다. 경계 내에 있는 데이터를 자유롭게 처리, 변환, 복사할 수 있습니다. 보안 제어는 경계 내에서 생성된 모든 새 리소스에 자동으로 적용됩니다.

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

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

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

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

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

기능

VPC 서비스 제어는 신뢰할 수 있는 경계 외부의 Google 관리형 서비스에 대한 액세스를 차단하고, 신뢰할 수 없는 위치의 데이터에 대한 액세스를 차단하고, 데이터 유출 위험을 완화하는 보안 정책을 정의하는 기능을 제공하는 방식으로 이러한 이점을 제공합니다. 이 출시 버전의 VPC 서비스 제어를 통해 다음을 수행할 수 있습니다.

GCP 리소스를 서비스 경계로 분리

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

예를 들면 다음과 같습니다.

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

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

  • 서비스 경계에 속하는 VPC 네트워크 내의 VM은 동일한 경계에 있는 Cloud Storage 버킷에 비공개로 액세스할 수 있습니다. 그러나 경계 외부에 있는 Cloud Storage 버킷에는 액세스할 수 없습니다.

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

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

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

예를 들어 서비스 경계에 속하는 VPC 네트워크 내의 VM은 동일한 서비스 경계에 있는 Cloud Storage 버킷에 비공개로 액세스할 수 있습니다. 그러나 서비스 경계 외부에 있는 Cloud Storage 버킷에는 액세스할 수 없습니다.

인터넷을 통한 GCP 리소스 액세스 제어

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

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

미지원 서비스

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

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

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

용어

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

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

다음 단계