REST Resource: projects.locations.endpointPolicies

Resource: EndpointPolicy

EndpointPolicy adalah resource yang membantu menerapkan konfigurasi yang diinginkan pada endpoint yang cocok dengan kriteria tertentu. Misalnya, resource ini dapat digunakan untuk menerapkan "konfigurasi autentikasi" ke semua endpoint yang berfungsi di port 8080.

Representasi JSON
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "type": enum (EndpointPolicyType),
  "authorizationPolicy": string,
  "endpointMatcher": {
    object (EndpointMatcher)
  },
  "trafficPortSelector": {
    object (TrafficPortSelector)
  },
  "description": string,
  "serverTlsPolicy": string,
  "clientTlsPolicy": string
}
Kolom
name

string

Wajib. Nama resource EndpointPolicy. Hasil ini cocok dengan pola projects/{project}/locations/global/endpointPolicies/{endpointPolicy}.

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 EndpointPolicy.

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

type

enum (EndpointPolicyType)

Wajib. Jenis kebijakan endpoint. Ini terutama digunakan untuk memvalidasi konfigurasi.

authorizationPolicy

string

Opsional. Kolom ini menentukan URL resource AuthorizationPolicy yang menerapkan kebijakan otorisasi ke traffic masuk di endpoint yang cocok. Lihat Otorisasi. Jika kolom ini tidak ditentukan, otorisasi akan dinonaktifkan(tanpa pemeriksaan authz) untuk endpoint ini.

endpointMatcher

object (EndpointMatcher)

Wajib. Pencocok yang memilih endpoint tempat kebijakan harus diterapkan.

trafficPortSelector

object (TrafficPortSelector)

Opsional. Pemilih port untuk endpoint (yang cocok). Jika tidak ada pemilih port yang disediakan, konfigurasi yang cocok akan diterapkan ke semua port.

description

string

Opsional. Deskripsi teks bebas resource. Panjang maksimal 1024 karakter.

serverTlsPolicy

string

Opsional. URL yang merujuk ke resource ServerTlsPolicy. ServerTlsPolicy digunakan untuk menentukan kebijakan autentikasi yang akan diterapkan guna menghentikan traffic masuk pada backend yang diidentifikasi. Jika kolom ini tidak disetel, autentikasi akan dinonaktifkan(terbuka) untuk endpoint ini.

clientTlsPolicy

string

Opsional. URL yang merujuk ke resource ClientTlsPolicy. ClientTlsPolicy dapat ditetapkan untuk menentukan autentikasi traffic dari proxy ke endpoint yang sebenarnya. Lebih khusus lagi, kebijakan ini diterapkan ke traffic keluar dari proxy ke endpoint. Ini biasanya digunakan untuk model file bantuan dengan proxy mengidentifikasi dirinya sebagai endpoint ke bidang kontrol, dengan koneksi antara file bantuan dan endpoint memerlukan autentikasi. Jika kolom ini tidak disetel, autentikasi akan dinonaktifkan(terbuka). Hanya berlaku jika EndpointPolicyType adalah SIDECAR_PROXY.

EndpointPolicyType

Jenis kebijakan endpoint.

Enum
ENDPOINT_POLICY_TYPE_UNSPECIFIED Nilai default. Tidak boleh digunakan.
SIDECAR_PROXY Merepresentasikan proxy yang di-deploy sebagai file bantuan.
GRPC_SERVER Merepresentasikan backend gRPC tanpa proxy.

EndpointMatcher

Definisi matcher yang memilih endpoint tempat kebijakan harus diterapkan.

Representasi JSON
{

  // Union field matcher_type can be only one of the following:
  "metadataLabelMatcher": {
    object (MetadataLabelMatcher)
  }
  // End of list of possible types for union field matcher_type.
}
Kolom
Kolom union matcher_type. Menentukan jenis matcher yang digunakan untuk matcher endpoint ini. matcher_type hanya ada berupa salah satu diantara berikut:
metadataLabelMatcher

object (MetadataLabelMatcher)

Pencocok didasarkan pada metadata node yang disajikan oleh klien xDS.

MetadataLabelMatcher

Pencocok yang didasarkan pada metadata node yang disajikan oleh klien xDS.

Representasi JSON
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
Kolom
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

Menentukan cara pencocokan harus dilakukan.

Nilai yang didukung adalah: MATCH_ANY: Setidaknya satu Label yang ditentukan dalam matcher harus cocok dengan metadata yang disajikan oleh klien xDS. MATCH_ALL: Metadata yang disajikan oleh klien xDS harus berisi semua label yang ditentukan di sini.

Pilihan ditentukan berdasarkan kecocokan terbaik. Misalnya, ada tiga resource EndpointPolicy P1, P2, dan P3, dan jika P1 memiliki pencocok seperti MATCH_ANY <A:1, B:1>, P2 memiliki MATCH_ALL <A:1,B:1>, dan P3 memiliki MATCH_ALL <A:1,B:1,C:1>.

Jika klien dengan label <A:1> terhubung, konfigurasi dari P1 akan dipilih.

Jika klien dengan label <A:1,B:1> terhubung, konfigurasi dari P2 akan dipilih.

Jika klien dengan label <A:1,B:1,C:1> terhubung, konfigurasi dari P3 akan dipilih.

Jika ada lebih dari satu yang paling cocok, (misalnya, jika konfigurasi P4 dengan pemilih <A:1,D:1> ada dan jika klien dengan label <A:1,B:1,D:1> terhubung), ambil konfigurasi dengan waktu pembuatan yang lebih lama.

metadataLabels[]

object (MetadataLabels)

Daftar pasangan nilai label yang harus cocok dengan label di metadata yang disediakan berdasarkan filterMatchKriteria Daftar ini dapat memiliki maksimal 64 entri. Daftar ini boleh kosong jika kriteria pencocokan adalah MATCH_ANY, untuk menentukan pencocokan karakter pengganti (yaitu cocok dengan klien apa pun).

MetadataLabelMatchCriteria

Nilai kriteria yang mungkin yang menentukan logika tentang cara pencocokan dilakukan.

Enum
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Nilai default. Tidak boleh digunakan.
MATCH_ANY Setidaknya salah satu Label yang ditentukan dalam matcher harus cocok dengan metadata yang ditampilkan oleh klien xDS.
MATCH_ALL Metadata yang disajikan oleh klien xDS harus berisi semua label yang ditentukan di sini.

MetadataLabels

Menentukan nilai pasangan nama untuk satu label.

Representasi JSON
{
  "labelName": string,
  "labelValue": string
}
Kolom
labelName

string

Wajib. Nama label ditampilkan sebagai kunci di Metadata Node xDS.

labelValue

string

Wajib. Nilai label ditampilkan sebagai nilai yang sesuai dengan kunci di atas, dalam Metadata Node xDS.

TrafficPortSelector

Spesifikasi pemilih berbasis port.

Representasi JSON
{
  "ports": [
    string
  ]
}
Kolom
ports[]

string

Opsional. Daftar port. Dapat berupa nomor port atau rentang port (contoh, [80-90] menentukan semua port dari 80 hingga 90, termasuk 80 dan 90) atau port bernama atau * untuk menentukan semua port. Jika daftar kosong, semua port akan dipilih.

Metode

create

Membuat EndpointPolicy baru di project dan lokasi tertentu.

delete

Menghapus satu EndpointPolicy.

get

Mendapatkan detail satu EndpointPolicy.

getIamPolicy

Mendapatkan kebijakan kontrol akses untuk resource.

list

Mencantumkan EndpointPolicies dalam project dan lokasi tertentu.

patch

Memperbarui parameter untuk sebuah EndpointPolicy.

setIamPolicy

Menetapkan kebijakan kontrol akses pada resource yang ditentukan.

testIamPermissions

Menampilkan izin yang dimiliki pemanggil atas resource yang ditentukan.