資源:AuthorizationPolicy
「AuthorizationPolicy」這項資源可用於指定伺服器應如何授權傳入連線。除非附加至目標 HTTPS Proxy 或端點設定選取器資源,否則這項資源本身不會變更設定。
JSON 表示法 |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
欄位 | |
---|---|
name |
這是必要旗標,AuthorizationPolicy 資源的名稱。符合模式 |
description |
(非必要) 資源的自由文字說明。 |
createTime |
僅供輸出。資源建立時間的時間戳記。 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如: |
updateTime |
僅供輸出。資源更新時間的時間戳記。 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如: |
labels |
(非必要) 與 AuthorizationPolicy 資源相關聯的標籤標記集。 包含 |
action |
這是必要旗標,找到相符規則時要採取的行動。可能的值為「ALLOW」或「DENY」。 |
rules[] |
(非必要) 要比對的規則清單。請注意,至少必須有一個規則相符,系統才會執行「action」欄位中指定的動作。如果來源和目的地相符,系統就會判定規則相符。如果留空,系統會在每個要求中套用 |
動作
定義要採取哪些動作的可能值。
列舉 | |
---|---|
ACTION_UNSPECIFIED |
預設值。 |
ALLOW |
授予存取權。 |
DENY |
拒絕存取。除非用於提供預設的「拒絕所有」備用方案,否則應避免使用拒絕規則。 |
規則
規則規格。
JSON 表示法 |
---|
{ "sources": [ { object ( |
欄位 | |
---|---|
sources[] |
(非必要) 流量來源的屬性清單。所有來源都必須相符。如果主體和 IP 封鎖區皆相符,來源就會符合條件。如果未設定,系統會套用「action」欄位中指定的動作,而不會對來源進行任何規則檢查。 |
destinations[] |
(非必要) 流量目的地的屬性清單。所有目的地都必須相符。如果要求符合所有指定的主機、連接埠、方法和標頭,則會與目的地相符。如果未設定,系統會套用「action」欄位中指定的動作,但不會對目的地執行任何規則檢查。 |
來源
流量來源屬性規格。
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
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
欄位 | |
---|---|
hosts[] |
這是必要旗標,要比對的主機名稱清單。與 HTTP 要求中的「:authority」標頭相符。至少應有一個主機符合。每個主機都可以是完全比對、前置字元比對 (例如「mydomain.*」)、字尾比對 (例如「*.myorg.com」) 或存在 (任意) 比對「*」。 |
ports[] |
這是必要旗標,要比對的目的地通訊埠清單。至少應有一個符合的通訊埠。 |
methods[] |
(非必要) 要比對的 HTTP 方法清單。至少應有一個方法符合。不應為 gRPC 服務設定。 |
httpHeaderMatch |
(非必要) 比對 HTTP 標頭中的鍵/值組合。提供以 HTTP 標頭為基礎的彈性比對功能,以便支援進階用途。至少應有一個標頭相符。除非有充分保證,可確保要求是透過可信任的用戶端或 Proxy 傳送,否則請避免使用標頭比對功能做出授權決定。 |
HttpHeaderMatch
HTTP 標頭比對屬性規格。
JSON 表示法 |
---|
{ "headerName": string, // Union field |
欄位 | |
---|---|
headerName |
這是必要旗標,要比對的 HTTP 標頭名稱。如要比對 HTTP 要求的權限,請使用 headerMatch,並指定標頭名稱為「:authority」。如要比對要求的方法,請使用標頭名稱「:method」。 |
聯集欄位
|
|
regexMatch |
這是必要旗標,標頭的值必須符合 regexMatch 中指定的規則運算式。如需規則運算式文法,請參閱:en.cppreference.com/w/cpp/regex/ecmascript。如要比對 HTTP 要求中指定的通訊埠,請使用 headerMatch,並將 headerName 設為 Host,以及符合 RFC2616 Host 標頭通訊埠指定符的規則運算式。 |
方法 |
|
---|---|
|
在指定的專案和位置中建立新的 AuthorizationPolicy。 |
|
刪除單一 AuthorizationPolicy。 |
|
取得單一 AuthorizationPolicy 的詳細資料。 |
|
取得資源的存取權控管政策。 |
|
列出指定專案和位置中的 AuthorizationPolicy。 |
|
更新單一 AuthorizationPolicy 的參數。 |
|
設定指定資源的存取權控管政策。 |
|
傳回呼叫者在指定資源上擁有的權限。 |