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 ditayangkan 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. Pola 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 hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat resource diperbarui.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. 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(tidak ada pemeriksaan otorisasi) untuk endpoint ini.

endpointMatcher

object (EndpointMatcher)

Wajib. Pencocok yang memilih endpoint tempat kebijakan akan diterapkan.

trafficPortSelector

object (TrafficPortSelector)

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

description

string

Opsional. Deskripsi teks bebas tentang resource. Panjang maksimum 1.024 karakter.

serverTlsPolicy

string

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

clientTlsPolicy

string

Opsional. URL yang merujuk ke resource ClientTlsPolicy. ClientTlsPolicy dapat ditetapkan untuk menentukan autentikasi untuk traffic dari proxy ke endpoint yang sebenarnya. Lebih khusus lagi, kebijakan ini diterapkan pada traffic keluar dari proxy ke endpoint. Ini biasanya digunakan untuk model sidecar, tempat proxy mengidentifikasi dirinya sebagai endpoint ke bidang kontrol, dengan koneksi antara sidecar dan endpoint yang memerlukan autentikasi. Jika kolom ini tidak ditetapkan, 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 sidecar.
GRPC_SERVER Merepresentasikan backend gRPC tanpa proxy.

EndpointMatcher

Definisi pencocok 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 pencocok yang digunakan untuk pencocok endpoint ini. matcher_type hanya ada berupa salah satu diantara berikut:
metadataLabelMatcher

object (MetadataLabelMatcher)

Pencocok didasarkan pada metadata node yang ditampilkan oleh klien xDS.

MetadataLabelMatcher

Pencocok yang didasarkan pada metadata node yang ditampilkan 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 salah satu Label yang ditentukan dalam matcher harus cocok dengan metadata yang ditampilkan oleh klien xDS. MATCH_ALL: Metadata yang ditampilkan 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 sebagai 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 kecocokan terbaik, (misalnya, jika konfigurasi P4 dengan pemilih <A:1,D:1> ada dan jika klien dengan label <A:1,B:1,D:1> terhubung), pilih konfigurasi dengan waktu pembuatan yang lebih lama.

metadataLabels[]

object (MetadataLabels)

Daftar pasangan nilai label yang harus cocok dengan label dalam metadata yang diberikan berdasarkan filterMatchCriteria Daftar ini dapat berisi maksimum 64 entri. Daftar dapat kosong jika kriteria kecocokan adalah MATCH_ANY, untuk menentukan kecocokan karakter pengganti (yaitu kecocokan dengan klien mana pun).

MetadataLabelMatchCriteria

Kemungkinan nilai kriteria yang menentukan logika 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 ditampilkan 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 dalam Metadata Node xDS.

labelValue

string

Wajib. Nilai label ditampilkan sebagai nilai yang sesuai dengan kunci di atas, di 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 (misalnya, [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 di project dan lokasi tertentu.

patch

Memperbarui parameter satu EndpointPolicy.

setIamPolicy

Menetapkan kebijakan kontrol akses pada resource yang ditentukan.

testIamPermissions

Menampilkan izin yang dimiliki pemanggil pada resource yang ditentukan.