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