設定機構限制

本頁面說明輸出 Proxy 設定的必要條件、如何取得機構 ID、新增機構限制標頭,以及如何使用目標網址清單設定 Proxy。

Trusted Cloud by S3NS 管理員 (負責管理) Trusted Cloud by S3NS和設定輸出 Proxy 的輸出 Proxy 管理員必須共同設定組織限制。如要瞭解通過機構限制驗證的合作夥伴解決方案,請參閱「通過驗證的合作夥伴解決方案」。

事前準備

如果您是輸出 Proxy 管理員,請先完成下列先決條件,再設定輸出 Proxy 來新增機構限制標頭:

  • 如果貴機構的 Trusted Cloud by S3NS 管理員和輸出 Proxy 管理員角色不同,請確保 Trusted Cloud by S3NS 管理員與輸出 Proxy 管理員合作設定輸出 Proxy。

  • 設定貴機構的防火牆規則,或設定受管理裝置,確保貴機構所有使用者的輸出流量都通過輸出 Proxy。

  • 請確保貴機構的外向代理伺服器具備下列功能:

    • 插入標題:在透過輸出 Proxy 傳輸的傳出要求中插入自訂 HTTP 標頭。
    • TLS 檢查。如果輸出 Proxy 的流量經過加密,輸出 Proxy 必須先解密封包、插入標頭,然後重新加密封包,再傳送至目標。
    • 篩選及插入標題。(選用步驟) 支援下列一或多個篩選器,然後只為符合篩選條件的要求新增標頭:

      • 目標網址:外向 Proxy 可比對的目標網址清單。
      • 裝置 ID:可供輸出 Proxy 比對的裝置 ID 清單。 裝置 ID 必須傳播至輸出 Proxy。
      • 使用者 ID。外向 Proxy 可以比對的使用者 ID 清單。使用者 ID 必須傳播至輸出 Proxy。

取得機構 ID

Trusted Cloud by S3NS 管理員必須取得 Trusted Cloud by S3NS機構 ID,才能將其新增至機構限制標頭。

如要找出機構資源 ID,請執行下列指令:

   gcloud organizations list

這個指令會列出您所屬的所有機構資源,以及對應的機構資源 ID。

取得機構 ID 後,您可以新增機構限制標頭,或與輸出 Proxy 系統管理員合作新增標頭。

新增機構限制標頭

輸出 Proxy 系統管理員如要將機構權限限制標頭新增至輸出要求,請按照下列步驟操作:

  • 建立標頭。
  • 對標頭進行編碼。
  • 設定輸出 Proxy。

建立標頭

以以下格式建立標頭的 JSON 表示法: X-Goog-Allowed-Resources: HEADER_VALUE

HEADER_VALUE 包含以半形逗號分隔的授權機構 ID 清單。 Trusted Cloud by S3NS接著,該值必須以網頁安全 Base64 編碼

HEADER_VALUE 的 JSON 結構如下:

  {
  "resources": [string,..],
  "options": string
  }
  • resources。字串清單。這個清單中的每個字串都必須參照 Trusted Cloud by S3NS機構 ID。評估期間,系統會將這份清單中的機構 ID 視為授權機構。
  • options:字串,包含下列其中一個值:
    • "strict"。針對所有要求類型,強制執行支援 Trusted Cloud by S3NS 服務的機構限制標頭。
    • "cloudStorageReadAllowed". 允許對 Cloud Storage 提出讀取要求,但會對所有其他要求類型強制執行機構限制標頭,以存取支援的服務 Trusted Cloud by S3NS 。這個選項可允許存取下列 Cloud Storage 讀取作業:
      • storage.objects.get
      • storage.objects.list
      • storage.objects.getIamPolicy
      • storage.buckets.get
      • storage.buckets.list
      • storage.buckets.getIamPolicy

為示範這個選項,假設 Alex 是 Example Organization 的管理員,而 Lee 是該機構的員工。假設 altostrat.com 這類網站將靜態內容儲存在公開的 Cloud Storage 值區,且不屬於 Example Organization。如果 Alex 使用 strict 選項,將 Lee 的存取權限制為僅限 Example Organization,Lee 就無法存取 altostrat.com 中位於公開 Cloud Storage 值區的靜態內容。這會影響 Lee 瀏覽網站的效率,而且任何使用公開 Cloud Storage 儲存靜態內容的網站,都會發生相同情況。如要允許 Lee 查看 altostrat.com 中的靜態內容,並限制所有其他 Trusted Cloud by S3NS 存取權僅限 Example Organization,Alex 會使用 cloudStorageReadAllowed 選項。

以下是有效的機構限制標頭範例:

  {
  "resources": ["organizations/1234", "organizations/3456"],
  "options": "strict"
  }

將標頭編碼

以網頁安全 Base64 格式編碼機構 ID。編碼必須符合 RFC 4648 第 5 節的規格

舉例來說,如果標頭值的 JSON 表示法儲存在 authorized_orgs.json 檔案中,如要編碼該檔案,請執行下列 basenc 指令:

     $ cat authorized_orgs.json | basenc --base64url -w0
ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

以下是編碼機構 ID 後的標頭範例:

// Encoded representation
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

// Plain-text representation (As HTTP disallows some characters, encode the organization ID)
// Plain-text representation is included here only for readability
X-Goog-Allowed-Resources: {"resources": ["organizations/1234", "organizations/3456"], "options": "strict"}

設定輸出 Proxy

如要將標頭插入來自受管理裝置的要求,請設定輸出 Proxy。

請確保如果貴機構中的使用者明確提供 HTTP 標頭,輸出 Proxy 會以管理員提供的值覆寫使用者提供的值。 Trusted Cloud by S3NS Trusted Cloud by S3NS

為避免將這個標頭新增至 Trusted Cloud by S3NS以外的目標,請設定輸出 Proxy,只將機構限制標頭新增至下列目標的要求:

  • *.google.com
  • *.googleapis.com
  • *.gcr.io
  • *.pkg.dev
  • *.cloudfunctions.net
  • *.run.app
  • *.tunnel.cloudproxy.app
  • *.datafusion.googleusercontent.com

如要瞭解因違反機構限制而出現的錯誤訊息,請參閱錯誤訊息

後續步驟