Google OAuth 會與 Identity and Access Management (IAM) 搭配使用,驗證 Looker (Google Cloud Core) 使用者。
使用 OAuth 進行驗證時,Looker (Google Cloud Core) 會透過 OAuth 2.0 通訊協定驗證使用者。您可以在建立執行個體時,使用任何 OAuth 2.0 用戶端建立授權憑證。舉例來說,本頁面將逐步說明如何使用 Google Cloud 控制台建立 OAuth 憑證,為 Looker (Google Cloud Core) 執行個體設定驗證。
如果主要驗證方式是其他方法,Google OAuth 預設會是備用驗證方式。此外,Cloud Customer Care 提供支援服務時,也會使用 Google OAuth 驗證方法。
用於驗證的 OAuth 用戶端必須與設定執行個體時使用的 OAuth 用戶端相同。
使用 OAuth 和 IAM 進行驗證及授權
搭配 OAuth 使用時,Looker (Google Cloud Core) IAM 角色會為特定 Google Cloud 專案中的所有 Looker (Google Cloud Core) 執行個體,提供下列層級的驗證和授權。根據您要授予主體的存取層級,為每個主體指派下列其中一個 IAM 角色:
IAM 角色 | 驗證 | 授權 |
---|---|---|
Looker 執行個體使用者 (roles/looker.instanceUser ) |
可登入 Looker (Google Cloud Core) 執行個體 |
首次登入 Looker (Google Cloud Core) 時,系統會授予「新使用者的角色」中設定的預設 Looker 角色。 無法在 Google Cloud 控制台中存取 Looker (Google Cloud Core) 資源。 |
Looker 檢視者 (roles/looker.viewer ) |
可登入 Looker (Google Cloud Core) 執行個體 | 首次登入 Looker (Google Cloud Core) 時,系統會授予「新使用者的角色」中設定的預設 Looker 角色。 在 Google Cloud 控制台中查看 Looker (Google Cloud Core) 執行個體清單和執行個體詳細資料 |
Looker 管理員 (roles/looker.admin ) |
可登入 Looker (Google Cloud Core) 執行個體 | 首次登入 Looker (Google Cloud Core) 時,系統會授予「新使用者的角色」中設定的預設 Looker 角色。 每次登入使用主要 OAuth 或備份 OAuth 的 Looker (Google Cloud Core),以及每次使用者呼叫 Looker API 時,這個角色 (或包含 「透過 IAM 指派的管理員」角色包含「管理員」 Looker 角色的所有權限和功能。這個角色無法在 Looker (Google Cloud Core) 執行個體中移除或重新指派。如要移除「透過 IAM 管理」角色,請將主體重新指派給 Looker 管理員 ( |
此外,如果使用者帳戶具備專案的 owner
角色,就能登入並管理該專案中的任何 Looker (Google Cloud Core) 執行個體。系統會將 管理員 Looker 角色授予這些使用者。
如果預先定義的角色未提供您需要的權限集,您也可以建立自己的自訂角色。
首次登入 Looker (Google Cloud Core) 執行個體時,系統會建立 Looker (Google Cloud Core) 帳戶。
管理員 Looker 角色與透過 IAM 指派的管理員 Looker 角色
在 Looker (Google Cloud Core) 執行個體中,有兩個角色使用管理員權限集,並在執行個體中授予相同的管理員權限。下表摘要列出這兩個角色的相似與相異之處。
屬性 | 管理員 Looker 角色 | 透過 IAM 指派的 Looker 管理員角色 |
---|---|---|
具公信力的來源 | 由 Looker (Google Cloud Core) 執行個體中的其他管理員授予 | 直接連結至 Looker 管理員 IAM 角色 |
是否可在 Looker (Google Cloud Core) 執行個體中新增或移除? | 是 | 否 |
可透過 IAM 新增或移除嗎? | 否 | 是 |
Looker (Google Cloud Core) 內的權限 | 所有權限 | 所有權限 |
Google Cloud 控制台中的權限 | 無 | 具備所有 Looker (Google Cloud Core) 資源的完整存取權 |
角色驗證 | 持續在 Looker (Google Cloud Core) 執行個體中 | 每次登入 Looker (Google Cloud Core) 執行個體和每次呼叫 Looker API 時。透過 IAM 變更角色可能需要幾分鐘才會生效。 |
範圍 | 個別 Looker (Google Cloud Core) 執行個體 | Google Cloud 專案中的所有 Looker (Google Cloud Core) 執行個體 |
使用者可以同時擁有「管理員」和「透過 IAM 管理員」Looker 角色。因此,如要撤銷管理員權限,請務必移除 IAM 角色和 Looker (Google Cloud Core) 執行個體中的「管理員」角色。
在 Looker (Google Cloud Core) 執行個體中設定 OAuth
在 Looker (Google Cloud Core) 執行個體中,您可以在「管理」選單的「驗證」部分,透過「Google 驗證」頁面設定部分 Google OAuth 設定。您必須具備 Admin Looker 角色。
合併使用者帳戶
在「使用以下方式合併使用者」欄位中,指定要用來將首次 OAuth 登入合併至現有使用者帳戶的方法。使用者首次透過 OAuth 登入時,這個選項會找出電子郵件地址相符的帳戶,將使用者連結至現有帳戶。如果使用者沒有帳戶,系統會建立新的使用者帳戶。
您可以合併下列系統中的使用者:
- SAML
- OIDC
如果有多個系統,您可以在這個欄位中指定要合併的多個系統。Looker (Google Cloud Core) 會按照指定系統的順序,從列出的系統中尋找使用者。舉例來說,如果您先使用 OIDC 建立一些使用者,然後再使用 SAML,當使用者首次嘗試透過 OAuth 登入時,Looker (Google Cloud Core) 會先使用 OIDC 尋找使用者,如果找不到相符的使用者,就會使用 SAML 尋找使用者。
如果不想讓 Looker (Google Cloud Core) 合併使用者,請將這個欄位留空。
同步處理 Google 群組
如果您管理 Google 群組,Looker (Google Cloud Core) 可以建立 Looker 群組,並反映 Google 群組的成員資格。也就是說,您不必直接在 Looker (Google Cloud Core) 中設定使用者,只要管理 Google 群組的成員資格,就能管理使用者存取權。此外,Looker 群組可用於指派角色給群組成員、設定內容存取權控管、控管功能和資料存取權,以及指派使用者屬性。
系統會在使用者首次登入 Looker (Google Cloud Core) 執行個體時,將對應的 Looker 群組 (以及任何相關聯的角色和存取權) 套用至新使用者。這些群組不會套用至既有使用者。如果使用者在首次登入後,從 Looker (Google Cloud Core) 的帳戶中移除這些群組,系統就不會再次套用。
建議您只為 Looker (Google Cloud Core) 的主要驗證方式啟用群組鏡像。如果您使用 OAuth 做為備用驗證方法,請勿為 OAuth 啟用群組鏡像功能。如果同時為主要和次要驗證方法啟用群組鏡像功能,系統會出現下列行為:
- 如果使用者已合併身分,無論登入時實際使用的驗證方法為何,群組鏡像都會比對主要驗證方法。
- 如果使用者沒有合併的身分,群組鏡像會比對登入時使用的驗證方法。
啟用鏡像群組的步驟
如要啟用群組鏡像輸出功能,請完成下列步驟:
- 在 Google Cloud 控制台中,於包含 OAuth 用戶端的 Google Cloud 專案中啟用 Cloud Identity API。您必須具備「服務使用情形管理員」 (
roles/serviceusage.serviceUsageAdmin
) IAM 角色,才能啟用 API。 在 Google Cloud 控制台中,更新 OAuth 用戶端的同意畫面,加入
https://www.googleapis.com/auth/cloud-identity.groups.readonly
範圍。您必須具備clientauthconfig.clients.update
IAM 權限,才能新增範圍。如要更新同意畫面,請完成下列步驟:- 前往 OAuth 用戶端。
- 選擇「資料存取」頁面。
- 按一下「新增或移除範圍」按鈕。系統會開啟「更新所選範圍」面板。
- 找出
https://www.googleapis.com/auth/cloud-identity.groups.readonly
範圍,然後勾選旁邊的核取方塊。 - 按一下「更新」按鈕,即可新增範圍。
關閉面板,然後在「資料存取權」頁面上按一下「儲存」,即可儲存範圍。
在 Looker (Google Cloud Core) 執行個體中,前往「Google Authentication」(Google 驗證) 頁面,然後啟用「Mirror Google Groups」(鏡像 Google 群組) 切換按鈕。這項切換鈕預設為停用。填寫下列欄位:
- 在「Looker Group Name」(Looker 群組名稱) 欄位中,新增 Looker 群組的名稱。這個名稱會顯示在 Looker (Google Cloud Core) 的「Groups」(群組) 頁面。
- 在「Google Group ID」(Google 群組 ID) 欄位中,輸入要鏡像的 Google 群組名稱或電子郵件地址。
- 在「角色」欄位中,輸入要指派給該群組成員的 Looker 角色。
Looker (Google Cloud Core) 會為新增至「Google Authentication」(Google 驗證) 頁面的每個 Google 群組建立一個 Looker 群組。您可以在 Looker (Google Cloud Core) 的「群組」頁面中查看這些 Looker 群組。
編輯鏡像群組
變更 Google 網路論壇成員後,系統會自動將變更傳播至對應的 Looker 群組成員,並在每位使用者下次登入時驗證。
如果您在「Google Authentication」(Google 驗證) 頁面編輯指派給群組的「Custom name」(自訂名稱) 或「Role」(角色) 欄位,鏡像 Looker 群組的名稱在 Looker (Google Cloud Core) 的「Groups」(群組) 頁面中會隨之變更,指派給群組的角色也會變更,但群組成員不會變更。
如果您在「Google 驗證」頁面的「Google 群組 ID」欄位中,將名稱或電子郵件地址變更為新的 Google 群組 ID,系統會將對應的 Looker 群組成員變更為新的 Google 群組成員,但會保留「Google 驗證」頁面中定義的群組名稱和角色。
如果編輯鏡像群組,下次使用者登入 Looker (Google Cloud Core) 時,系統就會套用這些編輯內容。
停用鏡像群組
如要停止在 Looker (Google Cloud Core) 中鏡像處理 Google 群組,請在 Looker (Google Cloud Core) 執行個體的「Google Authentication」(Google 驗證) 頁面中,停用「Mirror Google Groups」(鏡像處理 Google 群組) 切換鈕。停用切換鈕會導致下列行為:
- 如果鏡像 Google 群組沒有任何使用者,系統會立即刪除。
- 如果鏡像 Google 群組沒有任何使用者,就會標示為孤立群組。如果這個群組的使用者在 31 天內都沒有登入,系統就會刪除該群組。使用者無法再新增或移除孤立的 Google 群組。
進階角色管理
如果啟用「Mirror Google Groups」切換鈕,「Google Authentication」頁面會顯示「Advanced Role Management」設定。這個部分的選項會決定 Looker 管理員在設定從 Google 鏡像處理的 Looker 群組和使用者時,可享有多大的彈性。
如要讓 Looker 群組和使用者設定與 Google 群組設定完全一致,請開啟所有「進階角色管理」選項。啟用所有選項後,Looker 管理員就無法修改鏡像群組成員資格,只能透過 Google 群組指派使用者角色。
如要在 Looker (Google Cloud Core) 中更彈性地自訂群組,請關閉這些選項。Looker (Google Cloud Core) 群組仍會反映 Google 群組設定,但您可以在 Looker (Google Cloud Core) 中執行其他群組和使用者管理作業,例如將 Google 使用者新增至 Looker 群組,或直接將 Looker 角色指派給 Google 使用者。
對於 Looker (Google Cloud Core) 執行個體,這些選項預設為關閉。
「Advanced Role Management」(進階角色管理) 部分包含下列選項:
防止個別 Google 使用者取得直接角色:開啟這個選項後,Looker 管理員就無法直接將 Looker 角色指派給 Google 使用者。Google 使用者只能透過群組成員身分取得角色。如果允許 Google 使用者加入內建 (非同步處理) Looker 群組,他們仍可從同步處理的 Google 群組和內建 Looker 群組沿用角色。先前直接獲派角色的 Google 使用者,下次登入時將移除這些角色。
如果關閉這個選項,Looker 管理員可以直接在 Looker (Google Cloud Core) 執行個體中,將 Looker 角色指派給 Google 使用者。
禁止非 Google 群組直接取得成員資格:這個選項可防止 Looker 管理員將鏡像群組的成員,直接新增至內建的 Looker 群組。這些群組並非 Google 驗證頁面鏡像群組設定的一部分。
如果選取這個選項,先前指派給內建 Looker 群組的 Google 使用者,下次登入時就會從這些群組中移除。
如果取消勾選這個選項,Looker 管理員可以直接將 Google 使用者新增至內建的 Looker 群組。
禁止從非 Google 群組繼承角色:這個選項可防止鏡像群組的成員從內建 Looker 群組繼承角色。如果允許同步處理的 Google 群組成為內建 Looker 群組的成員,Google 使用者可能會保留任何內建 Looker 群組的成員資格。先前從內建 Looker 群組繼承角色的 Google 使用者,下次登入時將失去這些角色。
如果關閉這個選項,系統會將指派給內建 Looker 群組的角色,套用至新增為內建 Looker 群組成員的鏡像群組或 Google 使用者。
需要角色授權:如果開啟這個選項,Google 使用者必須獲派 Looker 角色,如果 Google 使用者未獲指派任何角色,就無法登入 Looker (Google Cloud Core)。
如果關閉這個選項,即使未獲指派任何角色,Google 使用者仍可向 Looker (Google Cloud Core) 進行驗證。如果使用者未獲指派任何角色,就無法在 Looker (Google Cloud Core) 中查看任何資料或採取任何動作,但可以登入 Looker (Google Cloud Core)。
設定預設 Looker 角色
如果停用「鏡像 Google 群組」切換鈕,「Google 驗證」頁面就會顯示「新使用者的角色」設定。這項設定可讓您設定預設的 Looker 角色,當使用者帳戶首次登入 Looker (Google Cloud Core) 執行個體時,系統會將該角色授予具有 Looker 執行個體使用者 (roles/looker.instanceUser
) IAM 角色或 Looker 檢視者 (roles/looker.viewer
) IAM 角色的使用者帳戶。如要設定預設角色,請按照下列步驟操作:
- 前往「管理」選單的「驗證」部分,然後前往「Google 驗證」頁面。
- 在「新使用者的角色」設定中,選取要預設授予所有新使用者的角色。這項設定包含 Looker (Google Cloud Core) 執行個體中的所有預設角色和自訂角色清單。
管理員角色無法設為預設角色。具有 Looker 管理員 (roles/looker.admin
) IAM 角色的使用者帳戶,在首次登入時,除了新使用者角色設定中選取的角色外,還會獲得「透過 IAM 指派的管理員」Looker 角色。
自訂「新使用者的角色」設定後,如果啟用「鏡像 Google 群組」切換鈕,系統會在使用者下次登入時,移除透過「新使用者的角色」設定指派給使用者的角色,並改為透過「鏡像 Google 群組」設定指派角色。
測試使用者驗證機制
按一下「測試 Google 驗證」按鈕,測試設定。測試會重新導向至 Google 的 OAuth 伺服器,並開啟瀏覽器分頁。分頁會顯示下列資訊:
- Looker (Google Cloud Core) 是否能與伺服器通訊並進行驗證。
- Looker (Google Cloud Core) 從伺服器取得的使用者資訊。您必須驗證伺服器是否傳回正確結果。
- 追蹤記錄,顯示資訊的搜尋方式。如果資訊有誤,請使用追蹤記錄進行疑難排解。如需其他資訊,可以讀取原始 XML 伺服器檔案。
- 收到的 ID 權杖 (已解碼和原始版本)。這些資訊可用於確認使用者詳細資料和 Google 設定。
儲存並套用設定
輸入資訊並通過所有測試後,請選取「我已確認上述設定,並想啟用全域套用功能」核取方塊,然後按一下「提交」儲存。
將使用者新增至 Looker (Google Cloud Core) 執行個體
建立 Looker (Google Cloud Core) 執行個體後,即可透過 IAM 新增使用者。如要新增使用者,請按照下列步驟操作:
- 請確認您具備專案 IAM 管理員角色,或其他可管理 IAM 存取權的角色。
前往 Looker (Google Cloud Core) 執行個體所在的 Google Cloud 控制台專案。
前往 Google Cloud 控制台的「IAM & Admin」(IAM 與管理) >「IAM」(身分與存取權管理) 專區。
選取「授予存取權」。
在「新增主體」部分,新增下列一或多項:
- Google 帳戶電子郵件地址
- 一個 Google 網路論壇
- Google Workspace 網域
在「指派角色」部分,選取其中一個預先定義的 Looker (Google Cloud Core) IAM 角色,或是您新增的自訂角色。
按一下 [儲存]。
通知新的 Looker (Google Cloud Core) 使用者已授予存取權,並提供執行個體的網址。接著,他們就能登入執行個體,系統也會建立帳戶。系統不會傳送任何自動通訊內容。
變更使用者的 IAM 角色後,IAM 角色會在幾分鐘內傳播至 Looker (Google Cloud Core) 執行個體。如果使用者已有 Looker 帳戶,其 Looker 角色將維持不變。
所有使用者都必須透過先前所述的 IAM 步驟佈建,但有一個例外:您可以在 Looker (Google Cloud Core) 執行個體中建立僅限 Looker API 的服務帳戶。
使用 OAuth 登入 Looker (Google Cloud Core)
首次登入時,系統會要求使用者透過 Google 帳戶登入。授予存取權時,他們應使用 Looker 管理員在「新增主體」欄位中列出的帳戶。使用者會看到在建立 OAuth 用戶端時設定的 OAuth 同意畫面。使用者同意授權畫面後,系統就會在 Looker (Google Cloud Core) 執行個體中建立帳戶,並登入帳戶。
之後,使用者會自動登入 Looker (Google Cloud Core),除非授權過期或遭使用者撤銷。在這些情況下,使用者會再次看到 OAuth 同意畫面,並被要求同意授權。
部分使用者可能會獲派 API 憑證,用於擷取 API 存取權杖。如果這些使用者的授權到期或遭到撤銷,API 憑證就會失效。所有目前的 API 存取權杖也會停止運作。如要解決這個問題,使用者必須重新授權憑證,方法是針對每個受影響的 Looker (Google Cloud Core) 執行個體,重新登入 Looker (Google Cloud Core) 使用者介面。或者,使用僅限 API 的服務帳戶,有助於避免 API 存取權杖的憑證授權失敗。
移除 Looker (Google Cloud Core) 的 OAuth 存取權
如果您有可管理 IAM 存取權的角色,可以撤銷授予存取權的 IAM 角色,藉此移除 Looker (Google Cloud Core) 執行個體的存取權。移除使用者帳戶的 IAM 角色後,變更會在幾分鐘內傳播至 Looker (Google Cloud Core) 執行個體。使用者將無法再向執行個體進行驗證。不過,使用者帳戶在「使用者」頁面中仍會顯示為有效。如要從「使用者」頁面移除使用者帳戶,請在 Looker (Google Cloud Core) 執行個體中刪除該使用者。
使用 OAuth 做為備用驗證方式
如果主要驗證方法是 SAML 或 OIDC,OAuth 就是備用驗證方法。
如要將 OAuth 設為備用驗證方法,請授予每個 Looker (Google Cloud Core) 使用者適當的 IAM 角色,讓他們登入執行個體。
設定備份方法後,使用者可以按照下列步驟存取備份:
- 在登入頁面選取「使用 Google 帳戶驗證」。
- 系統會顯示對話方塊,確認 Google 驗證。在對話方塊中選取「確認」。
使用者隨後即可使用 Google 帳戶登入。首次使用 OAuth 登入時,系統會提示使用者接受在建立執行個體時設定的 OAuth 同意畫面。
後續步驟
- 將 Looker (Google Cloud Core) 連線至資料庫
- 設定 Looker (Google Cloud Core) 執行個體
- Looker (Google Cloud Core) 管理員設定
- 透過 Google Cloud 控制台管理 Looker (Google Cloud Core) 執行個體