資源:AuthorizationPolicy
AuthorizationPolicy 資源可指定伺服器授權傳入連線的方式。除非附加至目標 HTTPS Proxy 或端點設定選取器資源,否則這項資源本身不會影響設定。
JSON 表示法 |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
欄位 | |
---|---|
name |
這是必要旗標,AuthorizationPolicy 資源的名稱。符合模式 |
description |
(選用步驟) 資源的自由格式文字說明。 |
createTime |
僅供輸出。資源的建立時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
updateTime |
僅供輸出。資源更新時間的時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 個小數位數。系統也接受「Z」以外的偏移量。例如: |
labels |
(選用步驟) 與 AuthorizationPolicy 資源相關聯的標籤標記集。 包含 |
action |
這是必要旗標,找到符合規則的內容時要採取的動作。可能的值為「ALLOW」或「DENY」。 |
rules[] |
(選用步驟) 要比對的規則清單。請注意,至少要符合其中一項規則,才會採取「動作」欄位中指定的動作。如果來源和目的地相符,系統就會判定規則相符。如果留空,系統會在每個要求中套用 |
動作
可能的值,用於定義要採取的動作。
列舉 | |
---|---|
ACTION_UNSPECIFIED |
預設值。 |
ALLOW |
授予存取權。 |
DENY |
拒絕存取。除非用於提供預設的「拒絕所有」遞補,否則應避免使用拒絕規則。 |
規則
規則規格。
JSON 表示法 |
---|
{ "sources": [ { object ( |
欄位 | |
---|---|
sources[] |
(選用步驟) 流量來源的屬性清單。所有來源都必須相符。如果主體和 ipBlocks 都相符,來源即為相符。如果未設定,系統會套用「動作」欄位中指定的動作,且不會對來源進行任何規則檢查。 |
destinations[] |
(選用步驟) 流量目的地的屬性清單。所有目的地都必須相符。如果要求符合所有指定的主機、連接埠、方法和標頭,即為相符目的地。如果未設定,系統會套用「動作」欄位中指定的動作,且不會對目的地進行任何規則檢查。 |
來源
流量來源屬性規格。
JSON 表示法 |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
欄位 | |
---|---|
principals[] |
(選用步驟) 要比對授權的對等身分清單。至少須符合一個主體。每個對等互連可以是完全比對、前置碼比對 (例如「namespace/*」)、後置碼比對 (例如「*/service-account」) 或存在比對「*」。根據主體名稱授權,且未進行憑證驗證 (由 ServerTlsPolicy 資源設定) 的做法不安全。 |
ipBlocks[] |
(選用步驟) 根據來源 IP 位址比對的 CIDR 範圍清單。至少一個 IP 區塊應相符。單一 IP (例如 「1.2.3.4」) 和 CIDR (例如 「1.2.3.0/24」)。請避免僅根據來源 IP 授權。任何負載平衡器或 Proxy 的 IP 位址都應視為不受信任。 |
目的地
流量目的地屬性規格。
JSON 表示法 |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
欄位 | |
---|---|
hosts[] |
這是必要旗標,要比對的主機名稱清單。與 HTTP 要求的「:authority」標頭相符。至少須符合一個主機。每個主機可以是完全相符、前置字元相符 (例如「mydomain.*」)、後置字元相符 (例如「*.myorg.com」),或是存在 (任何) 相符「*」。 |
ports[] |
這是必要旗標,要比對的目的地通訊埠清單。至少要有一個通訊埠相符。 |
paths[] |
(選用步驟) 要比對的 HTTP 路徑清單。gRPC 方法必須以完整名稱呈現,格式為「/packageName.serviceName/methodName」。至少應符合一個路徑。每個路徑可以是完全相符、前置字元相符 (例如「/packageName.serviceName/*」)、後置字元相符 (例如「*/video」),或是存在 (任何) 相符「*」。 |
methods[] |
(選用步驟) 要比對的 HTTP 方法清單。至少應符合一種方法。不應為 gRPC 服務設定。 |
httpHeaderMatch |
(選用步驟) 比對 HTTP 標頭中的鍵/值組合。根據 HTTP 標頭提供彈性比對,適用於進階用途。至少要有一個標頭相符。除非有強烈保證要求是透過可信任的用戶端或 Proxy 傳送,否則請避免使用標頭比對來做出授權決策。 |
HttpHeaderMatch
HTTP 標頭比對屬性規格。
JSON 表示法 |
---|
{ "headerName": string, // Union field |
欄位 | |
---|---|
headerName |
這是必要旗標,要比對的 HTTP 標頭名稱。如要比對 HTTP 要求的授權,請使用 headerMatch,並將標頭名稱設為「:authority」。如要比對要求的 method,請使用「:method」headerName。 |
聯集欄位
|
|
regexMatch |
這是必要旗標,標頭的值必須符合 regexMatch 中指定的規則運算式。如需規則運算式語法,請參閱:en.cppreference.com/w/cpp/regex/ecmascript。如要比對 HTTP 要求中指定的通訊埠,請使用 headerMatch,並將 headerName 設為 Host,以及符合 RFC2616 主機標頭通訊埠指定符的規則運算式。 |
方法 |
|
---|---|
|
在指定專案和位置中建立新的 AuthorizationPolicy。 |
|
刪除單一 AuthorizationPolicy。 |
|
取得單一 AuthorizationPolicy 的詳細資料。 |
|
列出指定專案和位置中的 AuthorizationPolicy。 |
|
更新單一 AuthorizationPolicy 的參數。 |