Akses kontekstual dengan aturan ingress

Penyiapan aturan ingress akses kontekstual memungkinkan akses ke resource berdasarkan atribut klien seperti asal jaringan (alamat IP atau jaringan VPC), jenis identitas (akun layanan atau pengguna), identitas, dan data perangkat. Akses ditentukan oleh aturan ingress.

Untuk ringkasan aturan ingress dan egress, lihat Aturan ingress dan egress.

Untuk petunjuk tentang cara menerapkan kebijakan aturan ingress dan egress, lihat Mengonfigurasi kebijakan ingress dan egress.

Contoh konfigurasi kasus penggunaan akses kontekstual

Bagian ini berisi contoh akses kontekstual berikut:

  1. Mengizinkan pengguna manusia mengakses BigQuery dari internet dan hanya akun layanan tertentu yang mengakses dari rentang IP yang ditentukan
  2. Mengizinkan karyawan membuat kueri BigQuery dari perangkat tepercaya melalui internet dan akun layanan tertentu untuk memuat data secara pribadi ke bucket Cloud Storage (data sumber)

Mengizinkan pengguna manusia mengakses BigQuery dari internet dan hanya akun layanan tertentu yang mengakses dari rentang IP yang ditentukan

Ingress dari pengguna dan jaringan yang dikenali

Asumsikan bahwa Anda telah menentukan perimeter berikut, yang ditemukan dengan mencantumkan perimeter dengan gcloud:

name: accessPolicies/222/servicePerimeters/Example
status:
  resources:
  - projects/111
  restrictedServices:
  - bigquery.googleapis.com
  - storage.googleapis.com
  vpcAccessibleServices:
    enableRestriction: true
    allowedServices:
    - RESTRICTED_SERVICES
title: Example

Kita juga mengasumsikan bahwa tingkat akses bernama CorpDatacenters telah ditentukan. CorpDatacenters, dalam contoh ini, adalah rentang IP yang diizinkan dari pusat data perusahaan yang akses dari akun layanannya diizinkan.

Berikut adalah kebijakan langsung untuk mengizinkan semua manusia dan sekumpulan akun layanan tertentu, yang dibatasi untuk sekumpulan IP tertentu (ditentukan oleh tingkat akses):

echo """
- ingressFrom:
    identities:
    - serviceAccount:my-sa@my-project.iam.gserviceaccount.com
    sources:
    - accessLevel: accessPolicies/222/accessLevels/CorpDatacenters
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - method: \"*\"
    resources:
    - \"*\"
- ingressFrom:
    identityType: ANY_USER_ACCOUNT
    sources:
    - accessLevel: \"*\"
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - method: \"*\"
    resources:
    - \"*\"
""" > ingress.yaml

Terapkan aturan ingress dengan menjalankan perintah berikut:

gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml

Mengizinkan karyawan membuat kueri BigQuery dan memuat data secara pribadi ke bucket Cloud Storage

Ingress dari perangkat dan jaringan yang dikenali

Asumsikan bahwa Anda telah menentukan perimeter berikut, yang ditemukan dengan mencantumkan perimeter dengan gcloud:

name: accessPolicies/222/servicePerimeters/Example
status:
  resources:
  - projects/111
  restrictedServices:
  - bigquery.googleapis.com
  - storage.googleapis.com
  vpcAccessibleServices:
    enableRestriction: true
    allowedServices:
    - RESTRICTED_SERVICES
title: Example

Berikut adalah kebijakan langsung untuk mengizinkan pengguna mengakses tampilan BigQuery dari perangkat tepercaya (menggunakan Tingkat Akses) dan akun layanan tertentu secara pribadi untuk mengakses Cloud Storage dari jaringan VPC yang diberi otorisasi:

echo """
- ingressFrom:
    identities:
    - serviceAccount:my-sa@my-project.iam.gserviceaccount.com
    sources:
    - resource: projects/111
  ingressTo:
    operations:
    - serviceName: storage.googleapis.com
      methodSelectors:
      - method: google.storage.Write
      - method: google.storage.objects.create
    resources:
    - \"*\"

- ingressFrom:
    identityType: ANY_SERVICE_ACCOUNT
    sources:
      - resource: //compute.googleapis.com/projects/my-network-project/global/networks/top-tier-vpc-network
  ingressTo:
    operations:
    - serviceName: storage.googleapis.com
      methodSelectors:
      - method: google.storage.Write
      - method: google.storage.objects.create
    resources:
    - \"*\"

- ingressFrom:
    identityType: ANY_USER_ACCOUNT
    sources:
    - accessLevel: accessPolicies/222/accessLevels/TrustedDevices
  ingressTo:
    operations:
    - serviceName: bigquery.googleapis.com
      methodSelectors:
      - permission: bigquery.tables.getData
    resources:
    - \"*\"
""" > ingress.yaml

Terapkan aturan ingress dengan menjalankan perintah berikut:

gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml

Untuk mengetahui informasi tentang batasan jaringan VPC saat Anda menggunakan jaringan VPC dalam perimeter layanan, lihat Batasan jaringan VPC.