VPC 서비스 제어 개요

이 주제에서는 VPC 서비스 제어를 간략하게 설명하고 장점과 기능을 설명합니다.

VPC 서비스 제어를 사용해야 하는 대상

조직에서 매우 민감한 정보 형태의 지식 재산을 소유하거나 조직에서 PCI DSS와 같은 추가 데이터 보호 규정이 적용되는 민감한 정보를 취급할 수 있습니다. 민감한 정보가 의도치 않게 손실되거나 공개되면 비즈니스에 심각한 부정적 영향을 미칠 수 있습니다.

온프레미스에서 클라우드로 마이그레이션하는 경우 데이터를 Google Cloud로 이동할 때 온프레미스 네트워크 기반 보안 아키텍처를 복제하는 것이 목표 중 하나일 수 있습니다. 매우 민감한 정보를 보호하기 위해 신뢰할 수 있는 네트워크에서만 리소스에 액세스할 수 있도록 조치해야 할 수 있습니다. 일부 조직에서는 요청의 IP 주소를 기반으로 식별할 수 있는 신뢰할 수 있는 네트워크에서 요청이 시작되는 경우 리소스에 대한 공개 액세스를 허용할 수 있습니다.

조직에서 데이터 무단 반출 위험을 완화하기 위해 세분화된 제어를 통해 조직 경계에서 안전한 데이터 교환이 이루어지도록 보장해야 할 수도 있습니다. 관리자가 다음과 같이 조치해야 할 수 있습니다.

  • 권한이 있는 액세스가 적용되는 클라이언트는 파트너 리소스에도 액세스할 수 없습니다.
  • 민감한 정보에 액세스할 수 있는 클라이언트는 공개 데이터 세트만 읽을 수 있으며 여기에 쓸 수는 없습니다.

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 서비스 제어를 사용하면 Cloud 감사 로그를 사용하여 서비스 경계에서 리소스 액세스 패턴을 모니터링할 수 있습니다. 자세한 내용은 VPC 서비스 제어 감사 로깅을 참조하세요.

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 서비스 제어 및 메타데이터

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

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

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

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

기능

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

다음과 같은 사용 사례에 VPC 서비스 제어를 사용할 수 있습니다.

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

서비스 경계는 Google Cloud 리소스 주위에 보안 경계를 만듭니다. 서비스 경계를 사용하면 경계 내에서 자유롭게 통신할 수 있지만 기본적으로 경계 전체에서 Google Cloud 서비스와의 통신이 차단됩니다.

이 경계는 특히 Google Cloud 관리형 서비스와 함께 작동합니다. 경계가 서드 파티 API 또는 인터넷의 서비스에 대한 액세스를 차단하지 않습니다.

경계를 구성하여 다음 유형의 통신을 제어할 수 있습니다.

  • 공개 인터넷에서 관리형 서비스 내 고객 리소스로의 통신
  • 가상 머신(VM)에서 Google Cloud 서비스(API)로의 통신
  • Google Cloud 서비스 간 통신

VPC 서비스 제어에는 Virtual Private Cloud(VPC) 네트워크가 필요하지 않습니다. VPC 네트워크에 리소스 없이 VPC 서비스 제어를 사용하려면 외부 IP 범위 또는 특정 IAM 주 구성원의 트래픽을 허용할 수 있습니다. 자세한 내용은 액세스 수준 만들기 및 관리를 참조하세요.

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

  • 서비스 경계에 속하는 VPC 네트워크 내의 VM은 동일한 서비스 경계에 있는 Cloud Storage 버킷의 데이터를 읽거나 쓸 수 있습니다. 그러나 VPC 서비스 제어를 통해서는 경계 외부에 있는 VPC 네트워크 내의 VM이 경계 내부에 있는 Cloud Storage 버킷에 액세스할 수 없습니다. 경계 외부에 있는 VPC 네트워크 내의 VM이 경계 내에 있는 Cloud Storage 버킷에 액세스할 수 있도록 인그레스 정책을 지정해야 합니다.

  • 여러 VPC 네트워크가 포함된 호스트 프로젝트에는 호스트 프로젝트의 각 VPC 네트워크에 대한 서로 다른 경계 정책이 있습니다.

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

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

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

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

비공개 Google 액세스의 온프레미스 확장을 사용하여 하이브리드 환경에 이르는 VPC 네트워크에서 Google Cloud 리소스에 대한 비공개 통신을 구성할 수 있습니다. 경계 내에서 Google Cloud 리소스에 비공개로 액세스하려면 온프레미스의 시작 영역이 포함된 VPC 네트워크가 온프레미스 네트워크의 리소스에 대한 경계의 일부여야 합니다.

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

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

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

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

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

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

데이터 무단 반출 위험을 완화하기 위한 기타 제어

  • 도메인 제한 공유: 리소스 공유를 특정 조직 리소스에 속하는 ID로 제한하는 조직 정책을 설정할 수 있습니다. 자세한 내용은 도메인별 ID 제한을 참조하세요.

  • 균일한 버킷 수준 액세스: Cloud Storage 버킷에 대한 액세스를 균일하게 제어하려면 버킷 수준 IAM 권한을 설정하는 것이 좋습니다. 균일한 버킷 수준 액세스를 사용하면 도메인 제한 공유, 직원 ID 제휴, IAM 조건 등의 다른 Google Cloud 보안 기능을 사용할 수 있습니다.

  • 다중 인증(MFA): 다중 인증(MFA)을 사용하여 Google Cloud 리소스에 액세스하는 것이 좋습니다.

  • 코드형 인프라 도구를 사용한 자동화: 버킷에 대한 액세스를 제어하는 자동화 도구를 사용하여 Cloud Storage 버킷을 배포하는 것이 좋습니다. 배포 전에 사람이 직접 검토하거나 자동화된 검토를 거쳐 코드형 인프라를 전달합니다.

  • 배포 후 스캔: 다음과 같은 배포 후 스캔 도구를 사용하여 열린 Cloud Storage 버킷을 스캔할 수 있습니다.

  • 민감한 정보 익명화: 민감한 정보 보호를 사용하여 Google Cloud 내부와 외부에서 민감한 정보를 탐색, 분류, 익명화할 수 있습니다. 민감한 정보 익명화는 수정, 토큰화 또는 암호화를 통해 수행할 수 있습니다.

미지원 서비스

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

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

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

제한 사항

VPC 서비스 제어를 사용할 때 특정 Google Cloud 서비스, 제품, 인터페이스에 관해 알려진 몇 가지 제한사항이 있습니다. 예를 들어 VPC 서비스 제어는 일부 Google Cloud 서비스를 지원하지 않습니다. 따라서 경계에서 지원되지 않는 Google Cloud 서비스를 사용 설정하지 마세요. 자세한 내용은 VPC 서비스 제어 지원 제품 목록을 참조하세요. VPC 서비스 제어에서 지원하지 않는 서비스를 사용해야 하는 경우 경계 외부의 프로젝트에서 서비스를 사용 설정하세요.

경계에 Google Cloud 서비스를 포함하기 전에 알려진 제한사항을 검토하는 것이 좋습니다. 자세한 내용은 VPC 서비스 제어 서비스 제한사항을 참조하세요.

용어집

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

VPC 서비스 제어
Google 관리형 서비스의 리소스 주위에 서비스 경계를 정의하여 서비스에 대한 통신과 서비스 간의 통신을 제어하는 기술입니다.
서비스 경계
Google 관리 리소스 주위의 서비스 경계입니다. 서비스 경계를 사용하면 경계 내에서 자유롭게 통신하고 경계 외부의 모든 통신은 기본적으로 차단할 수 있습니다.
인그레스 규칙
경계 외부의 API 클라이언트가 경계 내에 있는 리소스에 액세스할 수 있도록 허용하는 규칙입니다. 자세한 내용은 인그레스 및 이그레스 규칙을 참조하세요.
이그레스 규칙
경계 내부에 있는 API 클라이언트 또는 리소스가 경계 외부의 Google Cloud 리소스에 액세스할 수 있도록 허용하는 규칙입니다. 경계가 서드 파티 API 또는 인터넷의 서비스에 대한 액세스를 차단하지 않습니다.
서비스 경계 브리지

경계 브리지를 사용하면 서로 다른 보안 경계에 있는 프로젝트 간에 통신할 수 있습니다. 경계 브리지는 양방향이므로 각 서비스 경계에 있는 프로젝트가 브리지 범위 내에서 동등하게 액세스할 수 있습니다.

Access Context Manager

소스 IP 주소와 같은 클라이언트의 지정된 속성을 기반으로 요청을 액세스 수준에 매핑할 수 있는 문맥 인지 요청 분류 서비스 자세한 내용은 Access Context Manager 개요를 참조하세요.

액세스 수준

소스 IP 범위, 클라이언트 기기, 위치정보 등과 같은 여러 가지 속성을 기준으로 인터넷을 통한 요청을 분류한 것입니다. 인그레스 규칙과 마찬가지로 액세스 수준을 사용하여 요청과 연결된 액세스 수준에 따라 인터넷에서 액세스 권한을 부여하는 서비스 경계를 구성할 수 있습니다. Access Context Manager를 사용하여 액세스 수준을 만들 수 있습니다.

액세스 정책

서비스 경계를 정의하는 Google Cloud 리소스 객체입니다. 전체 조직에 적용할 수 있는 액세스 정책과 함께 특정 폴더나 프로젝트로 범위가 지정된 액세스 정책을 만들 수 있습니다. 한 조직에는 조직 수준의 액세스 정책 하나만 있을 수 있습니다.

범위가 지정된 정책

범위가 지정된 정책은 전체 조직에 적용되는 액세스 정책과 함께 특정 폴더나 프로젝트로 범위가 지정된 액세스 정책입니다. 자세한 내용은 범위가 지정된 정책 개요를 참조하세요.

제한된 VIP

제한된 VIP는 인터넷에서 액세스할 수 없는 제품에서 데이터와 리소스를 사용할 수 있도록 VPC 서비스 제어에서 지원하는 제품과 API에 비공개 네트워크 경로를 제공합니다. restricted.googleapis.com199.36.153.4/30로 확인됩니다. 이 IP 주소 범위는 인터넷에 공개되지 않습니다.

다음 단계