- Resource: AuthzPolicy
- Target
- LoadBalancingScheme
- AuthzRule
- Dari
- RequestSource
- StringMatch
- RequestResource
- TagValueIdSet
- Kepada
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- Metode
Resource: AuthzPolicy
AuthzPolicy
adalah resource yang memungkinkan penerusan traffic ke backend info yang dirancang untuk memindai traffic untuk tujuan keamanan.
Representasi JSON |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
Kolom | |
---|---|
name |
Wajib. ID. Nama resource |
createTime |
Hanya output. Stempel waktu saat resource dibuat. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
updateTime |
Hanya output. Stempel waktu saat resource diperbarui. Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: |
description |
Opsional. Deskripsi resource yang dapat dibaca manusia. |
labels |
Opsional. Kumpulan label yang terkait dengan resource Format harus mematuhi persyaratan berikut. Objek yang berisi daftar pasangan |
target |
Wajib. Menentukan kumpulan resource yang akan diterapkan kebijakan ini. |
httpRules[] |
Opsional. Daftar aturan HTTP otorisasi yang akan dicocokkan dengan permintaan masuk. Kecocokan kebijakan terjadi jika minimal satu aturan HTTP cocok dengan permintaan atau jika tidak ada aturan HTTP yang ditentukan dalam kebijakan. Diperlukan minimal satu Aturan HTTP untuk Tindakan Izinkan atau Tolak. Dibatasi hingga 5 aturan. |
action |
Wajib. Dapat berupa salah satu dari Jika tindakannya adalah Jika tindakannya adalah Jika tindakannya adalah Saat permintaan diterima, kebijakan akan dievaluasi dalam urutan berikut:
|
customProvider |
Opsional. Wajib jika tindakannya adalah |
Target
Menentukan kumpulan target yang akan diterapkan kebijakan ini.
Representasi JSON |
---|
{
"loadBalancingScheme": enum ( |
Kolom | |
---|---|
loadBalancingScheme |
Wajib. Semua gateway dan aturan penerusan yang dirujuk oleh kebijakan dan ekstensi ini harus memiliki skema load balancing yang sama. Nilai yang didukung: |
resources[] |
Wajib. Daftar referensi ke Aturan Penerusan tempat kebijakan ini akan diterapkan. |
LoadBalancingScheme
Skema load balancing yang didukung oleh resource AuthzPolicy
. Nilai yang valid adalah INTERNAL_MANAGED
dan EXTERNAL_MANAGED
. Untuk mengetahui informasi selengkapnya, lihat Ringkasan layanan backend.
Enum | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
Nilai default. Jangan gunakan. |
INTERNAL_MANAGED |
Menunjukkan bahwa ini digunakan untuk Load Balancer Aplikasi internal Regional atau Lintas region. |
EXTERNAL_MANAGED |
Menunjukkan bahwa ini digunakan untuk Load Balancer Aplikasi eksternal Global atau Regional. |
INTERNAL_SELF_MANAGED |
Menunjukkan bahwa ini digunakan untuk Cloud Service Mesh. Hanya ditujukan untuk digunakan oleh pengontrol GKE CSM. |
AuthzRule
Kondisi yang akan dicocokkan dengan permintaan masuk.
Representasi JSON |
---|
{ "from": { object ( |
Kolom | |
---|---|
from |
Opsional. Menjelaskan properti satu atau beberapa sumber permintaan. |
to |
Opsional. Menjelaskan properti satu atau beberapa target permintaan. |
when |
Opsional. Ekspresi CEL yang menjelaskan kondisi yang harus dipenuhi untuk tindakan. Hasil ekspresi CEL digabungkan dengan dari dan ke. Lihat referensi bahasa CEL untuk mengetahui daftar atribut yang tersedia. |
Dari
Menjelaskan properti satu atau beberapa sumber permintaan.
Representasi JSON |
---|
{ "sources": [ { object ( |
Kolom | |
---|---|
sources[] |
Opsional. Menjelaskan properti sumber permintaan. Setidaknya salah satu dari sources atau notSources harus ditentukan. Dibatasi hingga 5 sumber. Kecocokan terjadi jika sumber APA PUN (di sumber atau notSources) cocok dengan permintaan. Dalam satu sumber, pencocokan mengikuti semantik DAN di seluruh kolom dan semantik ATAU dalam satu kolom, yaitu pencocokan terjadi jika ADA akun utama yang cocok DAN ADA ipBlocks yang cocok. |
notSources[] |
Opsional. Menjelaskan properti sumber permintaan yang dinegasikan. Mencocokkan permintaan dari sumber yang tidak cocok dengan kriteria yang ditentukan di kolom ini. Setidaknya salah satu dari sources atau notSources harus ditentukan. |
RequestSource
Menjelaskan properti satu sumber.
Representasi JSON |
---|
{ "principals": [ { object ( |
Kolom | |
---|---|
principals[] |
Opsional. Daftar identitas yang berasal dari sertifikat klien. Kolom ini tidak akan cocok dengan permintaan kecuali jika TLS bersama diaktifkan untuk Aturan penerusan atau Gateway. Setiap identitas adalah string yang nilainya dicocokkan dengan SAN URI, atau SAN DNS, atau kolom subjek dalam sertifikat klien. Pencocokan dapat berupa pencocokan persis, awalan, akhiran, atau substring. Salah satu dari exact, prefix, suffix, atau contains harus ditentukan. Dibatasi hingga 5 akun utama. |
resources[] |
Opsional. Daftar resource yang akan dicocokkan dengan resource VM sumber permintaan. Dibatasi hingga 5 resource. |
StringMatch
Menentukan cara pencocokan nilai string.
Representasi JSON |
---|
{ "ignoreCase": boolean, // Union field |
Kolom | |
---|---|
ignoreCase |
Jika benar, menunjukkan pencocokan persis/awalan/akhiran/berisi tidak boleh peka huruf besar/kecil. Misalnya, matcher |
Kolom union
|
|
exact |
String input harus sama persis dengan string yang ditentukan di sini. Contoh:
|
prefix |
String input harus memiliki awalan yang ditentukan di sini. Catatan: awalan kosong tidak diizinkan, gunakan ekspresi reguler. Contoh:
|
suffix |
String input harus memiliki akhiran yang ditentukan di sini. Catatan: awalan kosong tidak diizinkan, gunakan ekspresi reguler. Contoh:
|
contains |
String input harus memiliki substring yang ditentukan di sini. Catatan: pencocokan berisi kosong tidak diizinkan, gunakan ekspresi reguler sebagai gantinya. Contoh:
|
RequestResource
Menjelaskan properti resource VM klien yang mengakses load balancer aplikasi internal.
Representasi JSON |
---|
{ "tagValueIdSet": { object ( |
Kolom | |
---|---|
tagValueIdSet |
Opsional. Daftar ID permanen nilai tag resource yang akan dicocokkan dengan nilai tag pengelola resource yang terkait dengan VM sumber permintaan. |
iamServiceAccount |
Opsional. Akun layanan IAM yang akan dicocokkan dengan akun layanan sumber VM yang mengirim permintaan. |
TagValueIdSet
Menjelaskan kumpulan ID permanen nilai tag resource yang akan dicocokkan dengan nilai tag pengelola resource yang terkait dengan VM sumber permintaan.
Representasi JSON |
---|
{ "ids": [ string ] } |
Kolom | |
---|---|
ids[] |
Wajib. Daftar ID permanen nilai tag resource yang akan dicocokkan dengan nilai tag pengelola resource yang terkait dengan VM sumber permintaan. Pencocokan mengikuti semantik AND yang berarti semua ID harus cocok. Dibatasi hingga 5 kecocokan. |
Ke
Menjelaskan properti satu atau beberapa target permintaan.
Representasi JSON |
---|
{ "operations": [ { object ( |
Kolom | |
---|---|
operations[] |
Opsional. Menjelaskan properti satu atau beberapa target permintaan. Setidaknya salah satu dari operations atau notOperations harus ditentukan. Terbatas untuk 5 operasi. Kecocokan terjadi saat operasi APAPUN (dalam operasi atau notOperations) cocok. Dalam operasi, pencocokan mengikuti semantik AND di seluruh kolom dan semantik OR dalam kolom, yaitu pencocokan terjadi jika JALUR APA PUN cocok DAN header APA PUN cocok dan metode APA PUN cocok. |
notOperations[] |
Opsional. Menjelaskan properti yang dinegasikan dari target permintaan. Mencocokkan permintaan untuk operasi yang tidak cocok dengan kriteria yang ditentukan di kolom ini. Setidaknya salah satu dari operations atau notOperations harus ditentukan. |
RequestOperation
Menjelaskan properti satu atau beberapa target permintaan.
Representasi JSON |
---|
{ "headerSet": { object ( |
Kolom | |
---|---|
headerSet |
Opsional. Daftar header yang akan dicocokkan di header http. |
hosts[] |
Opsional. Daftar Host HTTP yang akan dicocokkan. Pencocokan dapat berupa salah satu dari persis, awalan, akhiran, atau berisi (pencocokan substring). Kecocokan selalu peka huruf besar/kecil, kecuali jika ignoreCase ditetapkan. Dibatasi hingga 5 kecocokan. |
paths[] |
Opsional. Daftar jalur yang akan dicocokkan. Pencocokan dapat berupa salah satu dari persis, awalan, akhiran, atau berisi (pencocokan substring). Kecocokan selalu peka huruf besar/kecil, kecuali jika ignoreCase ditetapkan. Dibatasi hingga 5 kecocokan. Perhatikan bahwa kecocokan jalur ini menyertakan parameter kueri. Untuk layanan gRPC, ini harus berupa nama yang sepenuhnya memenuhi syarat dalam bentuk /package.service/method. |
methods[] |
Opsional. Daftar metode HTTP yang akan dicocokkan. Setiap entri harus berupa nama metode HTTP yang valid (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). Pencocokan ini hanya mengizinkan pencocokan persis dan selalu peka huruf besar/kecil. |
HeaderSet
Menjelaskan kumpulan header HTTP yang akan dicocokkan.
Representasi JSON |
---|
{
"headers": [
{
object ( |
Kolom | |
---|---|
headers[] |
Wajib. Daftar header yang akan dicocokkan di header http. Pencocokan dapat berupa salah satu dari persis, awalan, akhiran, atau berisi (pencocokan substring). Pencocokan mengikuti semantik AND yang berarti semua header harus cocok. Kecocokan selalu peka huruf besar/kecil, kecuali jika ignoreCase ditetapkan. Dibatasi hingga 5 kecocokan. |
HeaderMatch
Menentukan cara header HTTP harus dicocokkan.
Representasi JSON |
---|
{
"name": string,
"value": {
object ( |
Kolom | |
---|---|
name |
Opsional. Menentukan nama header dalam permintaan. |
value |
Opsional. Menentukan cara pencocokan header akan dilakukan. |
AuthzAction
Tindakan yang akan diterapkan ke kebijakan ini. Nilai yang valid adalah ALLOW
, DENY
, CUSTOM
.
Enum | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
Tindakan tidak ditentukan. |
ALLOW |
Izinkan permintaan diteruskan ke backend. |
DENY |
Tolak permintaan dan tampilkan HTTP 404 ke klien. |
CUSTOM |
Mendelegasikan keputusan otorisasi ke mesin otorisasi eksternal. |
CustomProvider
Memungkinkan mendelegasikan keputusan otorisasi ke Cloud IAP atau ke Ekstensi Layanan.
Representasi JSON |
---|
{ "cloudIap": { object ( |
Kolom | |
---|---|
cloudIap |
Opsional. Mendelegasikan keputusan otorisasi ke Cloud IAP. Hanya berlaku untuk load balancer terkelola. Mengaktifkan Cloud IAP di tingkat AuthzPolicy tidak kompatibel dengan setelan Cloud IAP di BackendService. Mengaktifkan IAP di kedua tempat tersebut akan mengakibatkan kegagalan permintaan. Pastikan IAP diaktifkan di AuthzPolicy atau BackendService, tetapi tidak di kedua tempat. |
authzExtension |
Opsional. Mendelegasikan keputusan otorisasi ke Ekstensi Layanan yang dibuat pengguna. Hanya salah satu dari cloudIap atau authzExtension yang dapat ditentukan. |
CloudIap
Jenis ini tidak memiliki kolom.
Opsional. Mendelegasikan keputusan otorisasi ke Cloud IAP. Hanya berlaku untuk load balancer terkelola. Mengaktifkan Cloud IAP di tingkat AuthzPolicy tidak kompatibel dengan setelan Cloud IAP di BackendService. Mengaktifkan IAP di kedua tempat tersebut akan mengakibatkan kegagalan permintaan. Pastikan IAP diaktifkan di AuthzPolicy atau BackendService, tetapi tidak di kedua tempat.
AuthzExtension
Opsional. Mendelegasikan keputusan otorisasi ke ekstensi yang dibuat pengguna. Hanya salah satu dari cloudIap atau authzExtension yang dapat ditentukan.
Representasi JSON |
---|
{ "resources": [ string ] } |
Kolom | |
---|---|
resources[] |
Wajib. Daftar referensi ke ekstensi otorisasi yang akan dipanggil untuk permintaan yang cocok dengan kebijakan ini. Dibatasi hingga 1 penyedia kustom. |
Metode |
|
---|---|
|
Membuat AuthzPolicy baru di project dan lokasi tertentu. |
|
Menghapus satu AuthzPolicy. |
|
Mendapatkan detail satu AuthzPolicy. |
|
Mencantumkan AuthzPolicies di project dan lokasi tertentu. |
|
Memperbarui parameter satu AuthzPolicy. |