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 預設為備用驗證方法。Google OAuth 也是 Cloud Customer Care 提供支援時使用的驗證方法。
用於驗證的 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) 執行個體 |
使用者可以同時具備「Looker」和「透過 IAM 管理」角色。因此,如果您想撤銷管理員權限,請務必移除 Looker (Google Cloud Core) 執行個體中的 IAM 角色和 管理員角色。
管理。在 Looker (Google Cloud Core) 執行個體中設定 OAuth
在 Looker (Google Cloud Core) 執行個體中,您可以透過「Admin」選單的「Authentication」部分中的「Google Authentication」頁面,設定部分 Google OAuth 設定。您必須具備「Looker」管理員角色。
合併使用者帳戶
在「Merge Users Using」欄位中,指定要用來將首次 OAuth 登入資料合併至現有使用者帳戶的方法。當使用者首次透過 OAuth 登入時,這個選項會找到使用者現有帳戶的電子郵件地址,並將使用者連結至該帳戶。如果使用者沒有帳戶,系統會建立新的使用者帳戶。
您可以合併下列系統中的使用者:
- SAML
- OIDC
如果您有多個系統,可以在這欄中指定多個系統來合併。Looker (Google Cloud Core) 會按照系統指定的順序,從列出的系統中查詢使用者。舉例來說,如果您先使用 OIDC 建立一些使用者,然後再使用 SAML,當使用者首次嘗試透過 OAuth 登入時,Looker (Google Cloud 核心) 會先使用 OIDC 尋找使用者,如果沒有找到與 OIDC 相符的使用者,就會使用 SAML 尋找使用者。
如果不想讓 Looker (Google Cloud Core) 合併使用者,請將這個欄位留空。
同步處理 Google 群組
如果您管理 Google 網路論壇,Looker (Google Cloud Core) 可以建立 Looker 群組,以反映 Google 網路論壇的成員資格。也就是說,您不必直接在 Looker (Google Cloud Core) 中設定使用者,而是可以透過管理 Google 群組成員來管理使用者存取權。此外,您也可以使用 Looker 群組為群組成員指派角色、設定內容存取權控管、控管功能和資料存取權,以及指派使用者屬性。
鏡像 Looker 群組 (以及任何相關聯的角色和存取權) 會套用至首次登入 Looker (Google Cloud Core) 執行個體的新使用者。這些群組不會套用至既有使用者,如果在使用者首次登入後,從 Looker (Google Cloud 核心) 中移除這些群組,系統也不會重新套用這些群組。
建議您只針對 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 用戶端。
- 選擇「資料存取」頁面。
- 按一下「新增或移除範圍」按鈕。系統隨即會開啟「Update selected scopes」面板。
- 找出
https://www.googleapis.com/auth/cloud-identity.groups.readonly
範圍,然後勾選旁邊的核取方塊。 - 按一下「更新」按鈕,即可新增範圍。
關閉面板,然後點選「資料存取」頁面中的「儲存」,即可儲存範圍。
在 Looker (Google Cloud Core) 執行個體中,在「Google 驗證」頁面啟用「鏡像 Google 群組」切換按鈕。這個切換鈕預設為停用。填寫下列欄位:
Looker (Google Cloud Core) 會為加入 Google 驗證頁面的每個 Google 群組建立一個 Looker 群組。您可以在 Looker (Google Cloud Core) 的「群組」頁面查看這些 Looker 群組。
編輯鏡像群組
您對 Google 網路論壇成員資格所做的變更,會自動套用到鏡像 Looker 群組的成員資格,並在每位使用者下次登入時驗證。
如果您在「Google 驗證」頁面中編輯指派給群組的「自訂名稱」或「角色」欄位,系統會變更鏡像 Looker 群組名稱在 Looker (Google Cloud 核心) 的「Groups」頁面中顯示的方式,或指派給群組的角色,但不會變更群組成員。
如果您在「Google 驗證」頁面的「Google 群組 ID」欄位中,將名稱或電子郵件地址變更為新的 Google 群組 ID,系統就會將鏡像 Looker 群組的成員變更為新的 Google 群組成員,但會保留「Google 驗證」頁面中定義的群組名稱和角色。
對鏡像群組所做的任何編輯,會在該群組使用者下次登入 Looker (Google Cloud Core) 時套用。
停用鏡像群組
如要停止在 Looker (Google Cloud Core) 中鏡像 Google 群組,請在 Looker (Google Cloud Core) 執行個體的「Google 驗證」頁面中,停用「鏡像 Google 群組」切換按鈕。
停用這項選項後,Looker (Google Cloud Core) 仍可使用包含使用者的鏡像 Looker 群組,用於內容管理和角色指派。不過,一旦停用鏡像 Google 群組,就無法將使用者新增至鏡像 Looker 群組,也無法從中移除使用者。系統會刪除「不」含有使用者的鏡像 Looker 群組。
進階角色管理
如果啟用「鏡像 Google 網路論壇」切換鈕,則「Google 驗證」頁面會顯示「進階角色管理」設定。本節的選項會決定 Looker 管理員在設定 Looker 群組和從 Google 鏡像的使用者時,可享有的彈性程度。
如果您希望 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) 執行個體,這些選項預設為關閉。
「進階角色管理」部分包含下列選項:
防止個別 Google 使用者取得直接角色:開啟這項選項後,Looker 管理員就無法直接將 Looker 角色指派給 Google 使用者。Google 使用者只能透過群組成員身分取得角色。如果 Google 使用者可加入內建 (非同步處理) Looker 群組,他們仍可從同步處理的 Google 網路論壇群組和內建 Looker 群組繼承角色。先前直接指派角色的 Google 使用者,會在下次登入時移除這些角色。
如果這個選項已關閉,Looker 管理員可以直接將 Looker 角色指派給 Looker (Google Cloud Core) 執行個體中的 Google 使用者。
禁止非 Google 群組直接取得成員資格:這個選項可防止 Looker 管理員將鏡像群組成員直接加入內建 Looker 群組,因為這些群組不屬於「Google 驗證」頁面上的鏡像群組設定。
如果選取這個選項,所有先前指派至內建 Looker 群組的 Google 使用者,都會在下次登入時從這些群組中移除。
如果取消勾選這個選項,Looker 管理員就能直接將 Google 使用者新增至內建的 Looker 群組。
禁止從非 Google 群組繼承角色:這個選項可防止鏡像群組成員從內建 Looker 群組繼承角色。如果允許同步處理的 Google 群組成為內建 Looker 群組的成員,Google 使用者就能保留內建 Looker 群組的成員資格。先前從內建 Looker 群組繼承角色的 Google 使用者,會在下次登入時失去這些角色。
如果關閉這個選項,鏡像群組或新增為內建 Looker 群組成員的 Google 使用者,就會繼承指派給內建 Looker 群組的角色。
Auth Requires Role:如果啟用這個選項,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 群組」設定指派的角色。
測試使用者驗證機制
按一下「Test Google Authentication」按鈕,即可測試設定。測試會重新導向至 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」專區。
選取「授予存取權」。
在「新增主體」部分,新增下列一或多項:
- 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) UI 重新授權憑證。或者,您也可以使用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) 執行個體