排解已簽署嵌入 404 錯誤、權限和內容存取問題

使用者嘗試存取嵌入內容時,可能會看到下列錯誤訊息:

找不到您要求的資訊主頁。原因是相關項目不存在,或是您沒有檢視權限。

本頁將說明如何排解這項錯誤,並避免日後發生,進而節省開發人員和使用者的時間,避免他們感到挫折。

排解錯誤

錯誤訊息會提供後續步驟,說明您需要驗證的項目。基本上,已簽署的內嵌網址已成功建立並驗證內嵌使用者,但發生下列其中一項錯誤:

  • 內容路徑已中斷。
  • 嵌入網址中指定的權限和內容存取權,不允許嵌入使用者查看嵌入的內容。

「管理」面板的「平台」部分的「嵌入」頁面中,有一個常用來排解嵌入網址問題的工具,稱為「嵌入 URI 驗證工具」。不過,由於驗證工具只會驗證嵌入網址是否有效,且能完成驗證步驟,因此您可以採取下列疑難排解步驟,確認發生哪一個問題:

  1. 確認內容路徑是否正確。
  2. 確認內容是否存在。
  3. 驗證嵌入網址的權限。
  4. 驗證使用者的內容存取權。

1. 確認內容路徑正確無誤

使用這個方法,判斷內容路徑是否中斷。視用於產生已簽署嵌入網址的方法而定,指定內容路徑的位置可能會有所不同。在大部分的劇本中,都有一個定義路徑的部分。舉例來說,如要嵌入名稱為 123 的資訊主頁,請使用路徑 /embed/dashboards/123

請參考已簽署嵌入說明文件頁面「嵌入網址」部分的範例,確認路徑已正確定義。

如果您使用 Create Signed Embed Url API 端點產生網址,同一個資訊主頁的目標網址參數會像這樣:

https://instance_name.looker.com<:optional_port>/dashboards/123

請仔細檢查嵌入網址產生指令碼中是否正確定義路徑。

2. 確認內容是否存在

確認內容路徑已正確定義後,請管理員確認內容是否確實位於該路徑。根據預設,管理員可以略過內容存取和權限限制,例如,可讓開發人員查看內容。如果管理員無法在該路徑中看到內容,表示該路徑中沒有該內容。

如果管理員可以查看該路徑的內容,表示您可能沒有向嵌入使用者授予正確的權限或內容存取權。如要判斷是否屬於這種情況,管理員可以在「管理」面板的「使用者」頁面中找到使用者,然後選取內嵌的「Sudo」選項。

管理員可以以其他使用者的身分登入,查看該使用者在特定權限、內容存取權和使用者屬性下看到的內容。如果管理員以嵌入使用者的身分執行 sudo 指令後,無法再查看內容,您就需要採取進一步的步驟,排解使用者的權限和內容存取問題。

確認內容存在且嵌入使用者無法查看後,請繼續檢查嵌入網址的權限和使用者的內容存取權。如果這兩項設定有誤,使用者就無法查看嵌入的內容。

3. 驗證嵌入網址的權限

這個步驟可讓您判斷嵌入網址中指定的權限是否不允許嵌入使用者查看嵌入內容。Looker 中的權限是可加總的,使用者必須同時具備多項權限,才能查看內容。舉例來說,查看嵌入的使用者定義資訊主頁時,嵌入使用者至少需要 access_datasee_lookssee_user_dashboards 權限才能查看。在這個步驟中,請仔細檢查在網址定義中嵌入使用者時所授予的權限,並判斷是否缺少任何權限的依附元件。然後檢查使用者在嵌入網址中指派的角色。

您可以透過下列任一方式建立嵌入使用者的角色:使用已簽署嵌入網址中的權限和模型集合存取權,或是使用者所屬群組 (如果這些群組有任何相關角色)。透過這兩種方式建立的角色都是加總的,就像在一般 Looker 環境中建立角色一樣。檢查 URL 規格中已指派給嵌入使用者的群組 (以及群組繼承的角色)。

提示:將嵌入使用者的權限和模型存取權資訊集中在一個位置 (Looker 群組的角色指派或已簽署的嵌入網址規格),有助於減少排解使用者問題時需要檢查的額外變數數量。舉例來說,如果公司在指派嵌入使用者權限時,利用與群組 ID 相關聯的角色,除了在已簽署的腳本中定義權限之外,嵌入使用者資訊也會同時儲存在 Looker 和上層應用程式 (透過已簽署的網址腳本) 中,而非儲存在其中一個中。有時,管理嵌入使用者角色的 Looker 管理員無法存取上層應用程式中的嵌入網址產生指令碼,因此無法徹底排除問題。在這種情況下,建議您為權限和模型參數傳遞空 آرایه و並透過群組指派專屬控管角色。

接著,請在「管理」面板的「使用者」頁面中找到使用者,然後選取「查看」,確認系統已正確將指定或沿用的角色和權限指派給使用者。

請注意,嵌入使用者無法存取一般 Looker 使用者具備的所有權限。如需完整的嵌入權限清單,請參閱「已簽署嵌入」說明文件頁面。

4. 驗證使用者的內容存取權

確認嵌入使用者擁有正確的權限和角色指派後,您需要檢查使用者的內容存取權。如要這樣做,請驗證下列資訊:

  • 嵌入的內容儲存在哪個資料夾中?
  • 嵌入使用者或指派給嵌入使用者的群組是否有這個資料夾的存取權 (View or Manage, Edit)?

如要確認內容儲存在哪個資料夾,最快的方法是在一般 Looker 環境中查看內容,然後在內容標頭中找到資料夾名稱。前往該資料夾後,選取右上角「管理存取權」下方的齒輪圖示。您可以授予特定嵌入使用者 View 對資料夾的存取權,快速判斷是否為內容存取問題導致 404 錯誤。

如果嵌入使用者 (或已指派給他們的群組,並且已簽署嵌入群組 ID) 未獲得存取權,使用者就無法查看儲存在資料夾中的任何內容。管理員 (或已獲授予資料夾 Manage Access, Edit 權限的非管理員) 可以在此時變更內容存取權設定,新增內嵌使用者或使用者群組。

當資訊主頁重複出現在多個資料夾中時,就可能發生常見的複雜問題。每個儀表板副本都有專屬 ID,因此請確認要嵌入的儀表板 ID 與使用者預期存取的儀表板 ID 相同。您可以在儀表板的網址中驗證 ID,格式如下:

~/embed/dashboards/<specific_content_id>

封閉系統

在檢查內容存取權方面,封閉式系統屬於特殊情況。封閉式系統會將個別群組的內容儲存在各自的封閉區中。對於每個 Powered By Looker 部署 (嵌入式資料分析),通常建議實作封閉式系統,做為最佳做法。這套系統的主要優點是,它會完全移除「所有使用者」群組,將所有個人資料夾設為私人,並防止使用者在執行個體中看到其他使用者或他們的內容 (除非所有使用者共用一個群組)。這麼做可為多個用戶端建立多租戶例項,讓這些用戶端無法存取其他使用者的內容或資訊,除非明確授予存取權。

請仔細確認受影響的嵌入使用者是否屬於正確的 Looker 群組,否則他們將無法查看機構的任何內容。

如要為執行個體啟用封閉式系統,請與 Google Cloud 銷售專員聯絡,或建立支援要求