本頁面說明如何透過程式輔助方式建立要與 IAP 搭配使用的 OAuth 用戶端,讓您能以程式輔助方式為內部應用程式設定 IAP。
已知限制
使用這個 API 以程式輔助方式建立 OAuth 用戶端時,有幾項限制:
透過 API 建立的 OAuth 用戶端只能使用 API 修改。如果 OAuth 用戶端是透過 API 建立,則無法透過 Google Cloud 控制台修改。
API 建立的 OAuth 用戶端會鎖定,僅供 IAP 使用,因此 API 不允許更新重新導向 URI 或其他屬性。
API 不會對使用 Google Cloud 控制台建立的 OAuth 用戶端執行操作。
使用 API 時,每項專案最多只能有 500 個 OAuth 用戶端。
透過 API 建立的 OAuth 同意畫面品牌有特定限制。詳情請參閱「瞭解品牌和品牌宣傳狀態」。
瞭解品牌和品牌宣傳狀態
OAuth 同意畫面包含使用者的品牌資訊,稱為品牌。品牌可以限定內部使用者或公開使用者存取。內部品牌可讓與專案屬於相同 Google Workspace 組織的使用者存取 OAuth 流程。公開品牌會向網際網路上的所有人開放 OAuth 流程。
品牌可以手動建立,也可以透過 API 以程式輔助方式建立。透過 API 建立的品牌會採用下列預設設定:
內部:品牌預設為內部。必須手動設為公開。
未審核:品牌處於「未審核」狀態,必須觸發品牌審核。
如要手動將內部品牌設為公開:
開啟「OAuth 同意畫面」。
從下拉式選單中選取專案。
在「OAuth consent screen」(OAuth 同意畫面) 頁面上,請注意「User Type」(使用者類型) 會自動設為「Internal」(內部)。如要將其設為「Public」(公開),請按一下「Edit App」(編輯應用程式)。系統會顯示更多設定選項。
在「Application type」(應用程式類型) 下方,按一下「Public」(公開)。
如要對透過 API 建立且未經審查的品牌觸發品牌審查,請按照下列步驟操作:
開啟「OAuth 同意畫面」。
從下拉式選單中選取您的專案。
在「OAuth consent screen」(OAuth 同意畫面) 頁面中輸入任何必要資訊,然後按一下「Submit for verification」(提交驗證)。
驗證程序最多可能需要數週,期間你會收到電子郵件通知,瞭解最新進度。進一步瞭解驗證。驗證程序進行期間,您仍可在 Google Workspace 組織中使用該應用程式。進一步瞭解應用程式在通過驗證前的行為。
事前準備
建立用戶端前,請先確認呼叫端已取得下列權限:
clientauthconfig.brands.listclientauthconfig.brands.createclientauthconfig.brands.getclientauthconfig.clients.createclientauthconfig.clients.listWithSecrets(僅在列出含有密鑰的 OAuth 用戶端時才需要)。clientauthconfig.clients.getWithSecretclientauthconfig.clients.deleteclientauthconfig.clients.update
編輯者 (roles/editor) 和擁有者 (roles/owner) 基本角色包含這些權限,但建議您建立包含這些權限的自訂角色,並將其授予呼叫端。
設定 IAP 的 OAuth
下列步驟說明如何設定同意畫面,以及為 IAP 建立 OAuth 用戶端。
設定同意畫面
使用 list 指令,確認你是否已有現有品牌。每個專案只能有一個品牌。
gcloud iap oauth-brands list
如果品牌存在,以下是 gcloud 回應範例:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true如果沒有品牌,請使用 create 指令:
gcloud iap oauth-brands create --application_title=APPLICATION_TITLE --support_email=SUPPORT_EMAIL
supportEmail:OAuth 同意畫面上顯示的支援電子郵件地址。 這個電子郵件地址可以是使用者的地址,也可以是 Google 群組別名。 服務帳戶也有電子郵件地址,但並非實際有效的電子郵件地址,因此無法用於建立品牌。不過,服務帳戶可以成為 Google 群組的擁有者。建立新的 Google 群組,或設定現有群組,並將所需服務帳戶設為群組擁有者。applicationTitle:顯示在 OAuth 同意畫面上的應用程式名稱。
回應包含下列欄位:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_ID] applicationTitle: [APPLICATION_TITLE] supportEmail: [SUPPORT_EMAIL] orgInternalOnly: true
建立 IAP OAuth 用戶端
使用 create 指令建立用戶端。使用上一個步驟的品牌
name。gcloud iap oauth-clients create projects/PROJECT_NUMBER/brands/BRAND-ID --display_name=NAME
回應包含下列欄位:
name: projects/[PROJECT_NUMBER]/brands/[BRAND_NAME]/identityAwareProxyClients/[CLIENT_ID] secret: [CLIENT_SECRET] displayName: [NAME]
使用用戶端 ID (上例中的 client_id) 和 secret 啟用 IAP。如要進一步瞭解如何使用剛建立的憑證啟用 IAP,請參閱下列主題: