Akses kontekstual dengan aturan masuk

Penyiapan aturan masuk kontekstual akses 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 didefinisikan oleh aturan masuk.

Untuk ringkasan tentang aturan masuk dan keluar, lihat Aturan masuk dan keluar.

Untuk mengetahui petunjuk cara menerapkan kebijakan aturan masuk dan keluar, lihat Mengonfigurasi kebijakan masuk dan keluar.

Contoh konfigurasi kasus penggunaan akses kontekstual

Bagian ini berisi contoh akses kontekstual berikut:

  1. Izinkan pengguna manusia mengakses BigQuery dari internet dan hanya akses akun layanan tertentu dari rentang IP tertentu
  2. Izinkan 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 akses akun layanan tertentu dari rentang IP tertentu

Traffic masuk 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

Kami juga mengasumsikan bahwa tingkat akses yang disebut CorpDatacenters telah ditentukan. CorpDatacenter, dalam contoh ini, adalah rentang IP pusat data perusahaan yang diizinkan dan mengakses akun layanan yang diizinkan.

Berikut adalah kebijakan direksional untuk mengizinkan semua manusia dan serangkaian akun layanan tertentu, yang terbatas pada sekumpulan IP tertentu (ditetapkan 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 masuk dengan menjalankan perintah berikut:

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

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

Traffic masuk 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 terarah untuk mengizinkan manusia mengakses tampilan BigQuery dari perangkat tepercaya (menggunakan Tingkat Akses) dan akun layanan pribadi tertentu untuk mengakses Cloud Storage dari jaringan VPC yang diotorisasi:

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 masuk dengan menjalankan perintah berikut:

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

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