REST Resource: projects.locations.authorizationPolicies

資源:AuthorizationPolicy

「AuthorizationPolicy」這項資源可用於指定伺服器應如何授權傳入連線。除非附加至目標 HTTPS Proxy 或端點設定選取器資源,否則這項資源本身不會變更設定。

JSON 表示法
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "action": enum (Action),
  "rules": [
    {
      object (Rule)
    }
  ]
}
欄位
name

string

這是必要旗標,AuthorizationPolicy 資源的名稱。符合模式 projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy>

description

string

(非必要) 資源的自由文字說明。

createTime

string (Timestamp format)

僅供輸出。資源建立時間的時間戳記。

採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

僅供輸出。資源更新時間的時間戳記。

採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位,最多九個小數位數。例如:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

labels

map (key: string, value: string)

(非必要) 與 AuthorizationPolicy 資源相關聯的標籤標記集。

包含 "key": value 組合清單的物件。範例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

action

enum (Action)

這是必要旗標,找到相符規則時要採取的行動。可能的值為「ALLOW」或「DENY」。

rules[]

object (Rule)

(非必要) 要比對的規則清單。請注意,至少必須有一個規則相符,系統才會執行「action」欄位中指定的動作。如果來源和目的地相符,系統就會判定規則相符。如果留空,系統會在每個要求中套用 action 欄位中指定的動作。

動作

定義要採取哪些動作的可能值。

列舉
ACTION_UNSPECIFIED 預設值。
ALLOW 授予存取權。
DENY 拒絕存取。除非用於提供預設的「拒絕所有」備用方案,否則應避免使用拒絕規則。

規則

規則規格。

JSON 表示法
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
欄位
sources[]

object (Source)

(非必要) 流量來源的屬性清單。所有來源都必須相符。如果主體和 IP 封鎖區皆相符,來源就會符合條件。如果未設定,系統會套用「action」欄位中指定的動作,而不會對來源進行任何規則檢查。

destinations[]

object (Destination)

(非必要) 流量目的地的屬性清單。所有目的地都必須相符。如果要求符合所有指定的主機、連接埠、方法和標頭,則會與目的地相符。如果未設定,系統會套用「action」欄位中指定的動作,但不會對目的地執行任何規則檢查。

來源

流量來源屬性規格。

JSON 表示法
{
  "principals": [
    string
  ],
  "ipBlocks": [
    string
  ]
}
欄位
principals[]

string

(非必要) 授權時要比對的對等身分清單。至少應有一個主體相符。每個同級項目可以是完全比對、前置字元比對 (例如「namespace/*」)、後置字元比對 (例如「*/service-account」) 或存在比對「*」。如果沒有透過 ServerTlsPolicy 資源進行憑證驗證,則以主體名稱為依據的授權會被視為不安全。

ipBlocks[]

string

(非必要) 根據來源 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 (HttpHeaderMatch)
  }
}
欄位
hosts[]

string

這是必要旗標,要比對的主機名稱清單。與 HTTP 要求中的「:authority」標頭相符。至少應有一個主機符合。每個主機都可以是完全比對、前置字元比對 (例如「mydomain.*」)、字尾比對 (例如「*.myorg.com」) 或存在 (任意) 比對「*」。

ports[]

integer (uint32 format)

這是必要旗標,要比對的目的地通訊埠清單。至少應有一個符合的通訊埠。

methods[]

string

(非必要) 要比對的 HTTP 方法清單。至少應有一個方法符合。不應為 gRPC 服務設定。

httpHeaderMatch

object (HttpHeaderMatch)

(非必要) 比對 HTTP 標頭中的鍵/值組合。提供以 HTTP 標頭為基礎的彈性比對功能,以便支援進階用途。至少應有一個標頭相符。除非有充分保證,可確保要求是透過可信任的用戶端或 Proxy 傳送,否則請避免使用標頭比對功能做出授權決定。

HttpHeaderMatch

HTTP 標頭比對屬性規格。

JSON 表示法
{
  "headerName": string,

  // Union field type can be only one of the following:
  "regexMatch": string
  // End of list of possible types for union field type.
}
欄位
headerName

string

這是必要旗標,要比對的 HTTP 標頭名稱。如要比對 HTTP 要求的權限,請使用 headerMatch,並指定標頭名稱為「:authority」。如要比對要求的方法,請使用標頭名稱「:method」。

聯集欄位 type

type 只能是下列其中一項:

regexMatch

string

這是必要旗標,標頭的值必須符合 regexMatch 中指定的規則運算式。如需規則運算式文法,請參閱:en.cppreference.com/w/cpp/regex/ecmascript。如要比對 HTTP 要求中指定的通訊埠,請使用 headerMatch,並將 headerName 設為 Host,以及符合 RFC2616 Host 標頭通訊埠指定符的規則運算式。

方法

create

在指定的專案和位置中建立新的 AuthorizationPolicy。

delete

刪除單一 AuthorizationPolicy。

get

取得單一 AuthorizationPolicy 的詳細資料。

getIamPolicy

取得資源的存取權控管政策。

list

列出指定專案和位置中的 AuthorizationPolicy。

patch

更新單一 AuthorizationPolicy 的參數。

setIamPolicy

設定指定資源的存取權控管政策。

testIamPermissions

傳回呼叫者在指定資源上擁有的權限。