啟用 IAP 以叫用私人內部部署系統、Compute Engine、GKE 或其他端點

您可以為端點啟用 Identity-Aware Proxy (IAP),從而從工作流程叫用私人內部端點、Compute Engine、Google Kubernetes Engine (GKE) 或其他 Google Cloud 端點。IAP 可用於強制執行存取權控管政策,並讓您為透過 HTTPS 存取的應用程式建立中央授權層,因此,您可以使用應用程式層級的存取權控管模型,而非依賴網路層級防火牆。詳情請參閱 IAP 總覽和下列說明:

或者,您也可以使用 Service Directory 的服務註冊表搭配工作流程,指定工作流程執行作業的 HTTP 呼叫私人端點。在虛擬私有雲 (VPC) 網路中建立私人端點,即可讓端點符合 VPC 服務控管規定。詳情請參閱「呼叫符合 VPC Service Controls 規範的私人端點」。

發出 HTTP 要求

透過 Workflow 呼叫或叫用私人端點,可透過 HTTP 要求完成。最常見的 HTTP 要求方法都有呼叫快捷方式 (例如 http.gethttp.post),但您可以將 call 欄位設為 http.request,並使用 method 欄位指定要求類型,藉此發出任何類型的 HTTP 要求。詳情請參閱「發出 HTTP 要求」。

使用具備必要權限的服務帳戶

向其他 Google Cloud 服務提出要求時,工作流程必須與已授予一或多個身分與存取權管理 (IAM) 角色的服務帳戶相關聯,這些角色包含存取要求資源所需的權限。如要瞭解與現有工作流程相關聯的服務帳戶,請參閱「驗證工作流程的相關聯服務帳戶」。

設定服務帳戶時,您可以將要求身分與要授予存取權的資源建立關聯,也就是將要求身分設為資源的主要使用者 (或使用者),然後指派適當的角色。角色會定義身分在資源情境中的權限。當應用程式或資源受到 IAP 保護時,只有具有正確角色的主體才能透過 Proxy 存取。

舉例來說,驗證之後,IAP 會套用相關的許可政策,檢查主體是否已獲授權,可以存取要求的資源。如果主體擁有資源所在的 Google Cloud 控制台專案上的「IAP-Secured Web App User」(受 IAP 保護的網路應用程式使用者) 角色 (roles/iap.httpsResourceAccessor),表示其已獲授權,可以存取應用程式。

您可以透過 IAP 頁面,將 Workflows 服務帳戶新增為實體,藉此設定 IAP 保護資源的存取權。詳情請參閱「管理受 IAP 保護資源的存取權」。

在工作流程中加入驗證資訊

為確保安全,HTTP 要求預設不會包含身分或存取權存證。您必須明確地將驗證資訊加入工作流程定義。向私人端點提出要求時,請使用 OIDC 透過 IAP 進行驗證。

如要使用 OIDC 提出 HTTP 要求,請在指定網址後,將 auth 部分新增至工作流程定義的 args 部分。

YAML

  - step_A:
      call: http.get
      args:
          url: https://www.example.com/endpoint
          body:
              someValue: "Hello World"
              anotherValue: 123
          auth:
              type: OIDC
              audience: OIDC_AUDIENCE
    

JSON

    [
      {
        "step_A": {
          "call": "http.get",
          "args": {
            "url": "https://www.example.com/endpoint",
            "body": {
              "someValue": "Hello World",
              "anotherValue": 123
            },
            "auth": {
              "type": "OIDC",
              "audience": "OIDC_AUDIENCE"
            }
          }
        }
      }
    ]
      

您可以使用 audience 參數指定權杖的 OIDC 目標對象。在叫用啟用 IAP 的端點時,您必須指定為應用程式設定的 OAuth 2.0 用戶端 ID。您可以前往「憑證」頁面取得這組金鑰。

後續步驟