Analytics Hub VPC 서비스 제어 규칙

이 문서에서는 게시자와 구독자가 VPC 서비스 제어 경계가 있는 프로젝트의 데이터에 액세스하는 데 필요한 인그레스 및 이그레스 규칙을 설명합니다. 이 문서에서는 사용자가 VPC 서비스 제어 경계, 공유 데이터 세트, 데이터 교환, 목록, 연결된 데이터 세트에 익숙하다고 가정합니다.

호출자 프로젝트는 SQL 쿼리 또는 Google Cloud CLI 명령어와 같이 요청을 시작하는 네트워크 또는 클라이언트 프로젝트입니다.

데이터 교환 만들기

다음 다이어그램에서 데이터 교환과 공유 데이터 세트가 포함된 프로젝트는 서로 다른 서비스 경계에 있습니다.

데이터 교환 생성 시 VPC 서비스 제어 규칙

그림 1. 데이터 교환 생성을 위한 VPC 서비스 제어 규칙

그림 1에서는 다음과 같은 구성요소의 라벨이 지정됩니다.

  • 호출자: Analytics Hub 관리자
  • 프로젝트 R: 호출자 프로젝트
  • 프로젝트 E: Analytics Hub 데이터 교환 및 목록을 호스팅함

Analytics Hub 관리자가 호출자 프로젝트와 다른 프로젝트에 데이터 교환을 만드는 경우 다음 인그레스 및 이그레스 규칙을 추가해야 합니다.

프로젝트 규칙
프로젝트 R 프로젝트 E의 이그레스 규칙
프로젝트 E(데이터 교환) 프로젝트 R의 인그레스 규칙

목록 만들기

다음 다이어그램에서 데이터 교환과 공유 데이터 세트가 포함된 프로젝트는 서로 다른 서비스 경계에 있습니다.

목록 생성 시 VPC 서비스 제어 규칙

그림 2. 목록을 만들기 위한 VPC 서비스 제어 규칙

그림 2에서는 다음과 같은 구성요소의 라벨이 지정됩니다.

  • 호출자: Analytics Hub 관리자 또는 게시자
  • 프로젝트 R: 호출자 프로젝트
  • 프로젝트 E: Analytics Hub 데이터 교환 및 목록을 호스팅함
  • 프로젝트 S: 공유 데이터 세트를 호스팅함

공유 데이터 세트와 다른 프로젝트에 있는 데이터 교환에서 목록을 만들 때 게시자가 목록을 만들 수 있도록 다음 인그레스 규칙과 이그레스 규칙을 추가해야 합니다.

프로젝트 규칙
프로젝트 R

프로젝트 E의 이그레스 규칙

프로젝트 S의 이그레스 규칙

프로젝트 E(데이터 교환)

프로젝트 S의 이그레스 규칙

프로젝트 R의 인그레스 규칙

프로젝트 S(공유 데이터 세트)

프로젝트 E의 이그레스 규칙

프로젝트 R의 인그레스 규칙

목록 구독

다음 다이어그램에서 목록 및 해당 목록의 연결된 데이터 세트가 포함된 프로젝트는 다른 서비스 경계에 위치합니다.

목록을 구독 시의 VPC 서비스 제어 규칙

그림 3. 목록을 구독하기 위한 VPC 서비스 제어 규칙입니다.

그림 3에서는 다음과 같은 구성요소에 라벨이 지정됩니다.

  • 호출자: Analytics Hub 구독자
  • 프로젝트 R: 호출자 프로젝트
  • 프로젝트 E: Analytics Hub 데이터 교환 및 목록을 호스팅함
  • 프로젝트 L: 연결된 데이터 세트를 호스팅함

Analytics Hub 구독자가 내 프로젝트와 다른 프로젝트에 있는 데이터 교환의 목록을 구독할 경우 다음 인그레스 및 이그레스 규칙을 추가해야 합니다.

프로젝트 규칙
프로젝트 R

프로젝트 E의 이그레스 규칙

프로젝트 L의 이그레스 규칙

프로젝트 E(목록)

프로젝트 L의 이그레스 규칙

프로젝트 R의 인그레스 규칙

프로젝트 L(연결된 데이터 세트)

프로젝트 E의 이그레스 규칙

프로젝트 R의 인그레스 규칙

연결된 데이터 세트의 테이블 쿼리

다음 다이어그램에서 호출자 프로젝트와 연결된 데이터 세트가 포함된 프로젝트는 서로 다른 서비스 경계에 위치합니다.

VPC 서비스 제어 규칙을 참조하세요.

그림 4. 연결된 데이터 세트 쿼리를 위한 VPC 서비스 제어 규칙

그림 4에서는 다음과 같은 구성요소에 라벨이 지정됩니다.

  • 호출자: Analytics Hub 구독자 또는 연결된 데이터 세트의 모든 BigQuery 작업 사용자
  • 프로젝트 R: 호출자 프로젝트
  • 프로젝트 L: 연결된 데이터 세트를 호스팅함
  • 프로젝트 V: 테이블이 포함된 공유 데이터 세트를 호스팅함

Analytics Hub 구독자는 연결된 데이터 세트의 테이블을 쿼리할 때 다음 인그레스 및 이그레스 규칙을 추가해야 합니다.

프로젝트 규칙
프로젝트 R 프로젝트 L의 이그레스 규칙
프로젝트 L(연결된 데이터 세트) 프로젝트 R의 인그레스 규칙

연결된 데이터 세트의 쿼리 뷰

시나리오 1

다음 다이어그램에서 연결된 데이터 세트 및 뷰와 연결된 기본 테이블이 포함된 프로젝트는 서로 다른 서비스 경계에 있습니다. 뷰(프로젝트 S) 및 뷰(프로젝트 V)와 연결된 기본 테이블은 서로 다른 프로젝트에 있습니다.

뷰와 기본 테이블이 서로 다른 프로젝트에 있습니다.

그림 5. 연결된 데이터 세트에서 뷰를 쿼리하기 위한 VPC 서비스 제어 규칙

그림 5에서는 다음과 같은 구성요소에 라벨이 지정됩니다.

  • 호출자: Analytics Hub 구독자 또는 연결된 데이터 세트의 모든 BigQuery 작업 사용자
  • 프로젝트 R: 호출자 프로젝트
  • 프로젝트 L: 연결된 데이터 세트를 호스팅함
  • 프로젝트 S: 공유 데이터 세트를 호스팅함
  • 프로젝트 V: 뷰와 연결된 기본 테이블이 포함된 데이터 세트를 호스팅함

Analytics Hub 구독자는 연결된 데이터 세트에서 뷰를 쿼리할 때 다음 인그레스 및 이그레스 규칙을 추가해야 합니다.

프로젝트 규칙
프로젝트 R

프로젝트 L의 이그레스 규칙

프로젝트 V의 이그레스 규칙

프로젝트 L(연결된 데이터 세트)

프로젝트 R의 인그레스 규칙

프로젝트 V의 이그레스 규칙

프로젝트 V

프로젝트 L의 이그레스 규칙

프로젝트 R의 인그레스 규칙

시나리오 2

다음 다이어그램에서 뷰(프로젝트 V) 및 뷰와 연결된 기본 테이블 (프로젝트 V)이 같은 프로젝트에 있습니다.

뷰와 기본 테이블이 같은 프로젝트에 있습니다.

그림 6. 연결된 데이터 세트에서 뷰를 쿼리하기 위한 VPC 서비스 제어 규칙

그림 6에서는 다음과 같은 구성요소에 라벨이 지정됩니다.

  • 호출자: Analytics Hub 구독자 또는 연결된 데이터 세트의 모든 BigQuery 작업 사용자
  • 프로젝트 R: 호출자 프로젝트
  • 프로젝트 L: 연결된 데이터 세트를 호스팅함
  • 프로젝트 V: 뷰 및 뷰와 연결된 기본 테이블을 모두 호스팅함

Analytics Hub 구독자는 연결된 데이터 세트에서 뷰를 쿼리할 때 다음 인그레스 및 이그레스 규칙을 추가해야 합니다.

프로젝트 규칙
프로젝트 R

프로젝트 L의 이그레스 규칙

프로젝트 L(연결된 데이터 세트)

프로젝트 R의 인그레스 규칙

연결된 데이터 세트에서 승인된 뷰 쿼리

다음 다이어그램에서는 승인된 뷰와 승인된 뷰(프로젝트 V)와 연결된 기본 테이블이 동일한 프로젝트에 있습니다.

승인된 뷰와 기본 테이블이 같은 프로젝트에 있습니다.

그림 7. 연결된 데이터 세트에서 뷰를 쿼리하기 위한 VPC 서비스 제어 규칙

그림 7에서는 다음 구성요소에 라벨이 지정됩니다.

  • 호출자: Analytics Hub 구독자 또는 연결된 데이터 세트의 모든 BigQuery 작업 사용자
  • 프로젝트 R: 호출자 프로젝트
  • 프로젝트 L: 연결된 데이터 세트를 호스팅함
  • 프로젝트 V: 승인된 뷰 및 뷰와 연결된 기본 테이블을 모두 호스팅함

Analytics Hub 구독자는 연결된 데이터 세트에서 뷰를 쿼리할 때 다음 인그레스 및 이그레스 규칙을 추가해야 합니다.

프로젝트 규칙
프로젝트 R

프로젝트 L의 이그레스 규칙

프로젝트 L(연결된 데이터 세트)

프로젝트 R의 인그레스 규칙

제한사항

Analytics Hub는 메서드 기반 규칙을 지원하지 않습니다. 메서드를 허용하려면 모든 메서드를 허용해야 합니다. 예를 들면 다음과 같습니다.

          ingressTo:
            operations:
            - methodSelectors:
              - method: '*'
              serviceName: analyticshub.googleapis.com
            resources:
            - projects/PROJECT_ID

다음 단계