- 資源:AuthzPolicy
- 目標
- LoadBalancingScheme
- AuthzRule
- RequestSource
- IpBlock
- RequestResource
- TagValueIdSet
- StringMatch
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- 方法
資源:AuthzPolicy
AuthzPolicy
是可將流量轉送至呼叫後端的資源,後端會掃描流量以確保安全。
JSON 表示法 |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
欄位 | |
---|---|
name |
這是必要旗標,ID。 |
createTime |
僅供輸出。資源的建立時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「Z」以外的偏移值。例如: |
updateTime |
僅供輸出。資源更新時間的時間戳記。 使用 RFC 3339,產生的輸出內容一律會經過 Z 標準化,並使用 0、3、6 或 9 小數位數。系統也接受「Z」以外的偏移值。例如: |
description |
(選用步驟) 使用者可理解的資源說明。 |
labels |
(選用步驟) 與 格式必須符合下列規定。 包含 |
target |
這是必要旗標,指定要套用這項政策的一組資源。 |
httpRules[] |
(選用步驟) 與傳入要求比對的授權 HTTP 規則清單。如果至少有一項 HTTP 規則與要求相符,或是政策中未指定任何 HTTP 規則,就會發生政策比對。至少需要一個 HTTP 規則才能執行允許或拒絕動作。最多 5 個規則。 |
action |
這是必要旗標,可以是 如果動作為 如果動作為 如果動作為 收到要求後,系統會按照以下順序評估政策:
|
customProvider |
(選用步驟) 如果動作為 |
目標
指定要套用這項政策的目標組合。
JSON 表示法 |
---|
{
"loadBalancingScheme": enum ( |
欄位 | |
---|---|
loadBalancingScheme |
這是必要旗標,這項政策和擴充功能參照的所有閘道和轉送規則,都必須共用相同的負載平衡器配置。支援的值: |
resources[] |
這是必要旗標,參照清單,列出要套用這項政策的轉送規則。 |
LoadBalancingScheme
AuthzPolicy
資源支援的負載平衡架構。有效值為 INTERNAL_MANAGED
和 EXTERNAL_MANAGED
。詳情請參閱「後端服務總覽」。
列舉 | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
預設值。請勿使用。 |
INTERNAL_MANAGED |
表示這項設定適用於區域內部或跨區域內部應用程式負載平衡。 |
EXTERNAL_MANAGED |
表示這是用於全域外部或區域外部應用程式負載平衡。 |
INTERNAL_SELF_MANAGED |
表示此值用於 Cloud Service Mesh。僅供 CSM GKE 控制器使用。 |
AuthzRule
與傳入要求相符的條件。
JSON 表示法 |
---|
{ "from": { object ( |
欄位 | |
---|---|
from |
(選用步驟) 說明要求來源的屬性。 |
to |
(選用步驟) 說明要求目標的屬性。 |
when |
(選用步驟) CEL 運算式,說明動作必須滿足的條件。CEL 運算式的結果會與 from 和 to 執行 AND 運算。如需可用屬性的清單,請參閱 CEL 語言參考資料。 |
寄件者
說明要求的一或多個來源的屬性。
JSON 表示法 |
---|
{ "sources": [ { object ( |
欄位 | |
---|---|
sources[] |
(選用步驟) 說明要求來源的屬性。至少須指定一個 sources 或 notSources。最多 1 個來源。當任何來源 (在 sources 或 notSources 中) 與要求相符時,就會發生比對。在單一來源中,相符條件會遵循跨欄位 AND 語意和單一欄位 OR 語意,也就是說,當「任何主體」相符且「任何 ipBlocks」相符時,就會出現相符條件。 |
notSources[] |
(選用步驟) 說明要求來源的否定屬性。比對來源不符合此欄位所指定條件的要求。至少須指定一個 sources 或 notSources。 |
RequestSource
說明單一來源的屬性。
JSON 表示法 |
---|
{ "ipBlocks": [ { object ( |
欄位 | |
---|---|
ipBlocks[] |
(選用步驟) 與要求來源 IP 位址比對的 IP 位址或 IP 位址範圍清單。最多 5 個 ipBlocks。 |
resources[] |
(選用步驟) 與要求來源 VM 資源相符的資源清單。資源數量上限為 5 項。 |
IpBlock
代表 IP 位址範圍。
JSON 表示法 |
---|
{ "prefix": string, "length": integer } |
欄位 | |
---|---|
prefix |
這是必要旗標,地址前置字串。 |
length |
這是必要旗標,地址範圍的長度。 |
RequestResource
說明存取內部應用程式負載平衡器的用戶端 VM 資源屬性。
JSON 表示法 |
---|
{ "tagValueIdSet": { object ( |
欄位 | |
---|---|
tagValueIdSet |
(選用步驟) 資源標記值永久 ID 清單,用於比對與要求來源 VM 相關聯的資源管理工具標記值。 |
iamServiceAccount |
(選用步驟) 與傳送要求的 VM 來源服務帳戶相符的 IAM 服務帳戶。 |
TagValueIdSet
說明一組資源標記值永久 ID,用於比對與要求來源 VM 相關聯的資源管理工具標記值。
JSON 表示法 |
---|
{ "ids": [ string ] } |
欄位 | |
---|---|
ids[] |
這是必要旗標,資源標記值永久 ID 清單,用於比對與要求來源 VM 相關聯的資源管理工具標記值。比對會依照 AND 語意進行,也就是說所有 ID 都必須相符。最多 5 個相符項目。 |
StringMatch
決定字串值的配對方式。
JSON 表示法 |
---|
{ "ignoreCase": boolean, // Union field |
欄位 | |
---|---|
ignoreCase |
如果為 true,表示完全相符/前置字串/後置字串/包含的字串比對應不區分大小寫。舉例來說,如果設為 true,比對器 |
聯集欄位
|
|
exact |
輸入的字串必須與這裡指定的字串完全相符。 範例:
|
prefix |
輸入字串必須包含此處指定的前置字串。注意:系統不允許使用空白前置字串,請改用規則運算式。 範例:
|
suffix |
輸入字串必須包含此處指定的後置字串。注意:系統不允許使用空白前置字串,請改用規則運算式。 範例:
|
contains |
輸入字串必須包含此處指定的子字串。注意:系統不允許使用空白包含比對,請改用正規表示式。 範例:
|
收件者
說明要求的一或多個目標屬性。
JSON 表示法 |
---|
{ "operations": [ { object ( |
欄位 | |
---|---|
operations[] |
(選用步驟) 說明要求的一或多個目標屬性。至少須指定一個 operations 或 notOperations。最多 1 項作業。只要任一項作業 (在 operations 或 notOperations 中) 相符,就會發生比對。在作業中,比對會依據各欄位中的 AND 語意和欄位內的 OR 語意,也就是當任一路徑、任一標頭和任一方法都符合條件時,系統就會比對。 |
notOperations[] |
(選用步驟) 說明要求目標的否定屬性。比對不符合此欄位所指定條件的作業要求。必須至少指定一個 operations 或 notOperations。 |
RequestOperation
說明要求的一或多個目標屬性。
JSON 表示法 |
---|
{ "headerSet": { object ( |
欄位 | |
---|---|
headerSet |
(選用步驟) 要比對 HTTP 標頭的標頭清單。 |
hosts[] |
(選用步驟) 要比對的 HTTP 主機清單。比對方式可以是完全比對、前置字串、後置字串或包含 (子字串比對)。除非設定了 ignoreCase,否則比對結果一律會區分大小寫。最多 5 個相符項目。 |
paths[] |
(選用步驟) 要比對的路徑清單。比對方式可以是完全比對、前置字串、後置字串或包含 (子字串比對)。除非設定了 ignoreCase,否則比對結果一律會區分大小寫。最多 5 個相符項目。請注意,這個路徑比對會包含查詢參數。對於 gRPC 服務,這應為完整的名稱,格式為 /package.service/method。 |
methods[] |
(選用步驟) 要比對的 HTTP 方法清單。每個項目都必須是有效的 HTTP 方法名稱 (GET、PUT、POST、HEAD、PATCH、DELETE、OPTIONS)。這類比對只允許完全比對,且一律區分大小寫。 |
HeaderSet
說明要比對的一組 HTTP 標頭。
JSON 表示法 |
---|
{
"headers": [
{
object ( |
欄位 | |
---|---|
headers[] |
這是必要旗標,要比對 HTTP 標頭的標頭清單。比對方式可以是完全比對、前置字串、後置字串或包含 (子字串比對)。比對結果會遵循 AND 語意,也就是所有標頭都必須相符。除非設定了 ignoreCase,否則比對結果一律會區分大小寫。最多 5 個相符項目。 |
HeaderMatch
決定如何比對 HTTP 標頭。
JSON 表示法 |
---|
{
"name": string,
"value": {
object ( |
欄位 | |
---|---|
name |
(選用步驟) 指定要求中的標頭名稱。 |
value |
(選用步驟) 指定標頭比對的執行方式。 |
AuthzAction
要套用至這項政策的動作。有效值為 ALLOW
、DENY
、CUSTOM
。
列舉 | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
不明確的動作。 |
ALLOW |
允許要求傳送至後端。 |
DENY |
拒絕要求,並傳回 HTTP 404 給用戶端。 |
CUSTOM |
將授權決定權委派給外部授權引擎。 |
CustomProvider
允許將授權決定權委派給 Cloud IAP 或 Service Extensions。
JSON 表示法 |
---|
{ "cloudIap": { object ( |
欄位 | |
---|---|
cloudIap |
(選用步驟) 將授權決定權委派給 Cloud IAP。僅適用於受管理的負載平衡器。在 AuthzPolicy 層級啟用 Cloud IAP 與 BackendService 中的 Cloud IAP 設定不相容。如果在兩個位置都啟用 IAP,要求就會失敗。請確認在 AuthzPolicy 或 BackendService 中啟用 IAP,但不要同時在兩個位置啟用。 |
authzExtension |
(選用步驟) 將授權決定權委派給使用者撰寫的服務擴充功能。只能指定 cloudIap 或 authzExtension 其中一個。 |
CloudIap
這個類型沒有任何欄位。
(選用步驟) 將授權決定權委派給 Cloud IAP。僅適用於受管理的負載平衡器。在 AuthzPolicy 層級啟用 Cloud IAP 與 BackendService 中的 Cloud IAP 設定不相容。如果在兩個位置都啟用 IAP,要求就會失敗。請確認在 AuthzPolicy 或 BackendService 中啟用 IAP,但不要同時在兩個位置啟用。
AuthzExtension
(選用步驟) 將授權決定權委派給使用者撰寫的擴充功能。只能指定 cloudIap 或 authzExtension 其中一個。
JSON 表示法 |
---|
{ "resources": [ string ] } |
欄位 | |
---|---|
resources[] |
這是必要旗標,授權擴充功能參照清單,系統會針對符合這項政策的要求叫用這些擴充功能。僅限 1 個自訂提供者。 |
方法 |
|
---|---|
|
在指定的專案和位置中建立新的 AuthzPolicy。 |
|
刪除單一 AuthzPolicy。 |
|
取得單一 AuthzPolicy 的詳細資料。 |
|
列出指定專案和位置中的 AuthzPolicy。 |
|
更新單一 AuthzPolicy 的參數。 |