REST Resource: projects.locations.authorizationPolicies

Referensi: AuthorizationPolicy

AuthorizationPolicy adalah resource yang menentukan cara server mengizinkan koneksi yang masuk. Resource ini sendiri tidak mengubah konfigurasi kecuali jika dilampirkan ke resource pemilih konfigurasi endpoint atau proxy https target.

Representasi JSON
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "action": enum (Action),
  "rules": [
    {
      object (Rule)
    }
  ],
  "internalCaller": boolean
}
Kolom
name

string

Wajib. Nama resource AuthorizationPolicy. Hasil ini cocok dengan pola projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy>.

description

string

Opsional. Deskripsi teks bebas resource.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource dibuat.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource diupdate.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Opsional. Kumpulan tag label yang terkait dengan resource AuthorizationPolicy.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

action

enum (Action)

Wajib. Tindakan yang harus diambil jika ditemukan kecocokan aturan. Nilai yang mungkin adalah "ALLOW" atau "DENY".

rules[]

object (Rule)

Opsional. Daftar aturan yang akan dicocokkan. Perlu diketahui bahwa setidaknya salah satu aturan harus cocok agar tindakan yang ditentukan di kolom 'tindakan' dapat diambil. Aturan dianggap cocok jika terdapat sumber dan tujuan yang cocok. Jika dibiarkan kosong, tindakan yang ditentukan di kolom action akan diterapkan pada setiap permintaan.

internalCaller

boolean

Opsional. Tanda yang ditetapkan untuk mengidentifikasi pengontrol internal. Setelan ini akan memicu pemeriksaan P4SA untuk memvalidasi pemanggil berasal dari P4SA layanan yang diizinkan meskipun kolom opsional lainnya tidak disetel.

Tindakan

Nilai yang mungkin yang menentukan tindakan yang akan diambil.

Enum
ACTION_UNSPECIFIED Nilai default.
ALLOW Berikan akses.
DENY Tolak akses. Aturan penolakan harus dihindari kecuali jika digunakan untuk menyediakan penggantian "tolak semua" default.

Aturan

Spesifikasi aturan.

Representasi JSON
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Kolom
sources[]

object (Source)

Opsional. Daftar atribut untuk sumber traffic. Semua sumber harus cocok. Sumber dianggap cocok jika akun utama dan ipBlocks cocok. Jika tidak disetel, tindakan yang ditentukan dalam kolom 'tindakan' akan diterapkan tanpa pemeriksaan aturan apa pun untuk sumbernya.

destinations[]

object (Destination)

Opsional. Daftar atribut untuk tujuan traffic. Semua tujuan harus cocok. Tujuan dianggap cocok jika permintaan cocok dengan semua host, port, metode, dan header yang ditentukan. Jika tidak disetel, tindakan yang ditentukan dalam kolom 'tindakan' akan diterapkan tanpa pemeriksaan aturan untuk tujuan.

Sumber

Spesifikasi atribut sumber traffic.

Representasi JSON
{
  "principals": [
    string
  ],
  "ipBlocks": [
    string
  ]
}
Kolom
principals[]

string

Opsional. Daftar identitas sejawat yang akan dicocokkan untuk otorisasi. Setidaknya satu akun utama harus cocok. Setiap peer dapat berupa pencocokan persis, atau pencocokan awalan (contoh, "namespace/*") atau pencocokan akhiran (contoh, "*/service-account") atau kecocokan kehadiran "*". Otorisasi berdasarkan nama utama tanpa validasi sertifikat (dikonfigurasi oleh resource ServerTlsPolicy) dianggap tidak aman.

ipBlocks[]

string

Opsional. Daftar rentang CIDR yang akan dicocokkan berdasarkan alamat IP sumber. Setidaknya satu blok IP harus cocok. IP tunggal (mis., "1.2.3.4") dan CIDR (mis., "1.2.3.0/24") didukung. Otorisasi berdasarkan IP sumber saja harus dihindari. Alamat IP dari load balancer atau proxy harus dianggap tidak tepercaya.

Tujuan

Spesifikasi atribut tujuan traffic.

Representasi JSON
{
  "hosts": [
    string
  ],
  "ports": [
    integer
  ],
  "paths": [
    string
  ],
  "methods": [
    string
  ],
  "httpHeaderMatch": {
    object (HttpHeaderMatch)
  }
}
Kolom
hosts[]

string

Wajib. Daftar nama host yang akan dicocokkan. Cocok dengan header ":authority" di permintaan http. Setidaknya satu host harus cocok. Tiap host dapat berupa pencocokan persis, atau pencocokan awalan (contoh "domainsaya.*") atau pencocokan akhiran (contoh "*.myorg.com") atau pencocokan kehadiran (apa saja) cocok dengan "*".

ports[]

integer (uint32 format)

Wajib. Daftar port tujuan yang akan dicocokkan. Setidaknya satu port harus cocok.

paths[]

string

Opsional. Daftar jalur HTTP yang akan dicocokkan. Metode gRPC harus ditampilkan sebagai nama yang sepenuhnya memenuhi syarat dalam bentuk "/packageName.serviceName/methodName". Setidaknya satu jalur harus cocok. Setiap jalur dapat berupa pencocokan persis, atau pencocokan awalan (contoh, "/packageName.serviceName/*") atau pencocokan akhiran (contoh, "*/video") atau kecocokan keberadaan (apa saja) dengan "*".

methods[]

string

Opsional. Daftar metode HTTP yang akan dicocokkan. Setidaknya satu metode harus cocok. Tidak boleh ditetapkan untuk layanan gRPC.

httpHeaderMatch

object (HttpHeaderMatch)

Opsional. Mencocokkan pasangan key:value di header http. Memberikan pencocokan fleksibel berdasarkan header HTTP, untuk kasus penggunaan yang berpotensi lanjutan. Minimal satu header harus cocok. Hindari penggunaan kecocokan header untuk membuat keputusan otorisasi kecuali jika ada jaminan kuat bahwa permintaan diterima melalui klien atau proxy yang tepercaya.

HttpHeaderMatch

Spesifikasi atribut pencocokan header HTTP.

Representasi JSON
{
  "headerName": string,

  // Union field type can be only one of the following:
  "regexMatch": string
  // End of list of possible types for union field type.
}
Kolom
headerName

string

Wajib. Nama header HTTP yang akan dicocokkan. Untuk mencocokkan dengan otoritas permintaan HTTP, gunakan headerMatch dengan nama header ":authority". Untuk mencocokkan metode permintaan, gunakan headerName ":method".

Kolom union type.

type hanya dapat berupa salah satu dari yang berikut:

regexMatch

string

Wajib. Nilai header harus cocok dengan ekspresi reguler yang ditentukan dalam regexMatch. Untuk tata bahasa ekspresi reguler, lihat: en.cppreference.com/w/cpp/regex/ecmascript Untuk pencocokan dengan port yang ditentukan dalam permintaan HTTP, gunakan headerMatch dengan headerName yang disetel ke Host dan ekspresi reguler yang memenuhi specifier port header RFC2616 Host.

Metode

create

Membuat AuthorizationPolicy baru di project dan lokasi tertentu.

delete

Menghapus satu AuthorizationPolicy.

get

Mendapatkan detail satu AuthorizationPolicy.

getIamPolicy

Mendapatkan kebijakan kontrol akses untuk resource.

list

Mencantumkan AuthorizationPolicies dalam project dan lokasi tertentu.

patch

Memperbarui parameter satu AuthorizationPolicy.

setIamPolicy

Menetapkan kebijakan kontrol akses pada resource yang ditentukan.

testIamPermissions

Menampilkan izin yang dimiliki pemanggil atas resource yang ditentukan.