Dokumen ini menjelaskan kasus penggunaan umum untuk pertukaran data yang aman dan contoh konfigurasi untuk mengizinkan akses antara klien dan resource yang dipisahkan oleh perimeter layanan.
Untuk ringkasan aturan ingress dan egress, lihat Aturan ingress dan egress.
Untuk mengetahui petunjuk tentang cara mengonfigurasi kebijakan aturan ingress dan egress, lihat Mengonfigurasi kebijakan ingress dan egress.
Contoh konfigurasi kasus penggunaan pertukaran data yang aman
Bagian ini berisi contoh kasus penggunaan tentang pertukaran data secara aman di seluruh perimeter layanan.
- Mengakses resource Google Cloud di luar perimeter
- Membagikan data menggunakan Pub/Sub antara dua organisasi yang menggunakan Kontrol Layanan VPC
- Membagikan data PHI anonim kepada organisasi partner
- Memberikan akses ke disk image Compute Engine pihak ketiga
- Membaca set data BigQuery dengan mengizinkan akses pribadi dari jaringan VPC di luar perimeter
- Memuat ke dalam bucket Cloud Storage (tulis) dengan mengizinkan akses pribadi dari jaringan VPC di luar perimeter
- Membagikan log dalam perimeter terpisah dengan mengizinkan project dari beberapa perimeter untuk membagikan log
Mengakses resource Google Cloud di luar perimeter
Diagram berikut menunjukkan resource Compute Engine di dalam perimeter layanan yang memerlukan akses ke resource Cloud Storage, yang berada di luar perimeter:

Asumsikan bahwa Anda telah menentukan perimeter berikut:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - bigquery.googleapis.com - containerregistry.googleapis.com - storage.googleapis.com title: Example
Anda perlu memberikan akses baca ke bucket Cloud Storage di project 999,
yang ada di organisasi berbeda. Kemudian, tentukan aturan egress berikut dalam file
dan simpan file tersebut sebagai gcs.yaml:
echo """
- egressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.objects.get
resources:
- projects/999
egressFrom:
identityType: ANY_IDENTITY
""" > gcs.yaml
Terapkan aturan egress dengan menjalankan perintah berikut:
gcloud beta access-context-manager perimeters update Example --set-egress-policies=gcs.yaml
Untuk mengetahui informasi selengkapnya tentang perintah gcloud access-context-manager perimeters update, lihat Pembaruan perimeter access-context-manager gcloud.
Membagikan data menggunakan Pub/Sub antara dua organisasi yang menggunakan Kontrol Layanan VPC
Diagram berikut menunjukkan dua organisasi, Org1 dan Org2, yang menggunakan Kontrol Layanan VPC dan membagikan data menggunakan topik Pub/Sub:

Asumsikan bahwa Anda telah menentukan perimeter berikut:
# Org 1 Perimeter Definition name: accessPolicies/222/servicePerimeters/Example1 status: resources: - projects/111 restrictedServices: - pubsub.googleapis.com title: Example1
# Org 2 Perimeter Definition name: accessPolicies/333/servicePerimeters/Example2 status: resources: - projects/222 restrictedServices: - pubsub.googleapis.com title: Example2
Untuk mengaktifkan pertukaran data, Org1 harus menentukan aturan egress berikut yang mengizinkan
langganan dan menyimpan file sebagai org1egress.yaml:
# Org1: Org1's perimeter must allow a Pub/Sub subscription to project 222.
echo """
- egressTo:
operations:
- serviceName: pubsub.googleapis.com
methodSelectors:
- method: Subscriber.CreateSubscription
resources:
- projects/222
egressFrom:
identityType: ANY_IDENTITY
""" > org1egress.yaml
Org2 harus menentukan aturan ingress yang sesuai yang mengizinkan langganan dan
menyimpan file sebagai org2ingress.yaml.
# Org 2: Org2's perimeter must allow a Pub/Sub subscription from network
project 111 in Org1.
echo """
- ingressFrom:
identityType: ANY_IDENTITY
sources:
- resource: projects/111
ingressTo:
operations:
- serviceName: pubsub.googleapis.com
methodSelectors:
- method: Subscriber.CreateSubscription
resources:
- \"*\"
""" > org2ingress.yaml
Terapkan aturan ingress dan egress dengan menjalankan perintah berikut:
gcloud beta access-context-manager perimeters update Example2 1--set-egress-policies=org1egress.yaml
gcloud beta access-context-manager perimeters update Example1 1--set-ingress-policies=org2ingress.yaml
Membagikan data PHI anonim kepada organisasi partner
Diagram berikut menunjukkan perimeter seputar segmen data Informasi Kesehatan Terlindungi (PHI), perimeter kedua seputar segmen data anonim, dan organisasi partner terpisah. Segmen PHI dapat memanipulasi data dalam segmen data anonim dan data dari segmen data anonim dibagikan kepada organisasi partner.

Anda ingin menentukan aturan ingress dan egress yang memungkinkan berbagi data anonim dengan organisasi partner dan mengizinkan segmen PHI Anda memanipulasi data dalam segmen data anonim.
Asumsikan bahwa Anda telah menentukan perimeter berikut:
# PhiPerimeter
name: accessPolicies/222/servicePerimeters/PhiPerimeter
status:
resources:
- projects/111
restrictedServices:
- storage.googleapis.com
- bigquery.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: PhiPerimeter
# AnonPerimeter
name: accessPolicies/222/servicePerimeters/AnonPerimeter
status:
resources:
- projects/222
restrictedServices:
- storage.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: AnonPerimeter
Anda juga dapat mengasumsikan bahwa project organisasi partner adalah 999. Anda dapat menentukan aturan ingress dan egress berikut:
# Anon Perimeter
echo """
- ingressFrom:
identityType: ANY_IDENTITY
sources:
- resource: projects/111
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.Write
- method: google.storage.objects.create
resources:
- \"*\"
""" > anoningress.yaml
echo """
- egressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.Write
- method: google.storage.objects.create
resources:
- projects/999
egressFrom:
identityType: ANY_IDENTITY
""" > anonegress.yaml
# PHI Perimeter
echo """
- egressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: \"*\"
resources:
- projects/222
egressFrom:
identityType: ANY_IDENTITY
""" > phiegress.yaml
Terapkan aturan ingress dan egress dengan menjalankan perintah berikut:
gcloud beta access-context-manager perimeters update AnonPerimeter --set-ingress-policies=anoningress.yaml --set-egress-policies=anonegress.yaml
gcloud beta access-context-manager perimeters update PhiPerimeter --set-egress-policies=phiegress.yaml
Memberikan akses ke disk image Compute Engine pihak ketiga
Diagram berikut menunjukkan resource Compute Engine dalam perimeter layanan yang memerlukan akses ke disk image Compute Engine dalam project image pihak ketiga yang berada di luar perimeter:

Asumsikan bahwa Anda telah menentukan perimeter berikut:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 - projects/222 restrictedServices: - compute.googleapis.com - containerregistry.googleapis.com title: Example
Sekarang Anda perlu memberikan akses baca ke disk image di project 999, yang berada di
organisasi berbeda. Kemudian, tentukan aturan egress berikut dalam file dan
simpan file tersebut sebagai compute.yaml:
echo """
- egressTo:
operations:
- serviceName: compute.googleapis.com
methodSelectors:
- method: InstancesService.Insert
resources:
- projects/999
egressFrom:
identityType: ANY_IDENTITY
""" > compute.yaml
Terapkan aturan egress dengan menjalankan perintah berikut:
gcloud beta access-context-manager perimeters update Example --set-egress-policies=compute.yaml
Membaca set data BigQuery dengan mengizinkan akses pribadi dari jaringan VPC di luar perimeter
Diagram berikut menunjukkan beberapa jaringan VPC partner di luar perimeter yang perlu membaca dari resource BigQuery di dalam perimeter:

Anda dapat mengasumsikan bahwa Anda menggunakan perimeter yang sama dengan contoh 1:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - bigquery.googleapis.com - containerregistry.googleapis.com title: Example
Tujuan Anda adalah mengizinkan akses baca dari jaringan VPC di luar perimeter
berbagai partner. Tentukan aturan ingress berikut dalam file dan simpan
file tersebut sebagai partneringress.yaml:
echo """
- ingressFrom:
identityType: ANY_IDENTITY
sources:
- resource: projects/888
- resource: projects/999
ingressTo:
operations:
- serviceName: bigquery.googleapis.com
methodSelectors:
- permission: bigquery.datasets.get
- permission: bigquery.tables.list
- permission: bigquery.tables.get
- permission: bigquery.tables.getData
- permission: bigquery.jobs.create
resources:
- \"*\"
""" > partneringress.yaml
Terapkan aturan ingress dengan menjalankan perintah berikut:
gcloud beta access-context-manager perimeters update Example --set-ingress-policies=partneringress.yaml
Untuk fleksibilitas dan kontrol yang lebih besar, BigQuery menggunakan - permission: methodSelectors, bukan - method: methodSelectors yang digunakan oleh
sebagian besar layanan. Satu metode BigQuery (RunQuery) dapat beroperasi dalam berbagai cara pada beberapa resource yang berbeda, dan penyelarasan dengan model izin memungkinkan
fleksibilitas dan kontrol yang lebih besar.
Memuat ke dalam bucket Cloud Storage (tulis) dengan mengizinkan akses pribadi dari jaringan VPC di luar perimeter
Anda dapat mengasumsikan bahwa Anda menggunakan perimeter yang sama dengan contoh 1:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - storage.googleapis.com - containerregistry.googleapis.com title: Example
Tujuan Anda adalah mengizinkan akses dari jaringan VPC di luar perimeter agar
partner dapat menulis data ke bucket di dalam perimeter. Tentukan aturan ingress dan simpan file sebagai partneringress.yaml:
echo """
- ingressFrom:
identityType: ANY_IDENTITY
sources:
- resource: projects/222
ingressTo:
operations:
- serviceName: storage.googleapis.com
methodSelectors:
- method: google.storage.objects.create
resources:
- \"*\"
""" > partneringress.yaml
Terapkan aturan ingress dengan menjalankan perintah berikut:
gcloud beta access-context-manager perimeters update Example --set-ingress-policies=partneringress.yaml
Membagikan log dalam perimeter terpisah dengan mengizinkan project dari beberapa perimeter untuk membagikan log
Dalam kasus penggunaan ini, asumsikan bahwa perusahaan memiliki project bersama untuk pengumpulan data log dari seluruh deployment Google Cloud mereka. Perusahaan harus dapat mencatat data dari beberapa perimeter Kontrol Layanan VPC yang berbeda ke dalam project log bersama, yang berada di perimeternya sendiri. Project log tidak boleh mengakses resource apa pun selain log.
Asumsikan bahwa Anda telah menentukan tiga perimeter berikut:
# Sensitive 1
name: accessPolicies/222/servicePerimeters/Sensitive1
status:
resources:
- projects/111
restrictedServices:
- bigquery.googleapis.com
- containerregistry.googleapis.com
- logging.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: Sensitive Data 1
# Sensitive 2
name: accessPolicies/222/servicePerimeters/Sensitive2
status:
resources:
- projects/222
restrictedServices:
- bigquery.googleapis.com
- containerregistry.googleapis.com
- logging.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: Sensitive Data 2
#Logs
name: accessPolicies/222/servicePerimeters/Logs
status:
resources:
- projects/777
restrictedServices:
- logging.googleapis.com
vpcAccessibleServices:
enableRestriction: true
allowedServices:
- RESTRICTED_SERVICES
title: Logs Perimeter
Untuk mengizinkan Sensitive1 dan Sensitive2 menulis log ke perimeter Log, tentukan aturan egress berikut dalam file dan simpan file tersebut sebagai logsegress.yaml:
echo """
- egressTo:
operations:
- serviceName: logging.googleapis.com
methodSelectors:
- method: LoggingServiceV2.WriteLogEntries
- method: LoggingService.WriteLogEntries
resources:
- projects/777
egressFrom:
identityType: ANY_IDENTITY
""" > logsegress.yaml
Terapkan aturan egress dengan menjalankan perintah berikut:
gcloud beta access-context-manager perimeters update Sensitive1 --set-egress-policies=logsegress.yaml
gcloud beta access-context-manager perimeters update Sensitive2 --set-egress-policies=logsegress.yaml
Konfigurasi serupa dapat ditentukan untuk perimeter data sensitif lainnya yang perlu menulis ke perimeter log.
Langkah berikutnya
- Mengonfigurasi kebijakan ingress dan egress
- Akses kontekstual dengan aturan ingress
- Aturan ingress dan egress