Looker Query ID API 修補程式通知

Looker 已提供強制性的安全性更新,以防範已驗證的 Looker 使用者在共用相同 LookML 模型時,發生中繼資料外洩的風險。如要在執行個體中啟用緩解措施,您可能需要變更特定 API 端點的用法。此修補程式會影響「官方支援的版本」文件中列出的所有支援 Looker 版本。

異動內容

Looker 已為您的系統套用強制性安全性更新。由於部分 API 端點的行為有所變更,您必須採取行動來啟用安全性更新,並調整對任何已更新 API 的使用方式,以免在 API 指令碼中造成錯誤。

針對由 Looker 代管的執行個體,此修補程式會新增舊版功能,稱為「Disallow Numeric Query IDs」。啟用這項舊版功能後,下列 API 端點的使用方式會有所變更:

對於客戶代管的執行個體,當執行個體升級至包含此修補程式的 Looker 版本時,系統會啟用先前的 API 端點變更。

我需要做些什麼?

Google Cloud 建議所有客戶完成下列兩項行動:

更新 API 指令碼

無論您使用的是哪個 Looker 版本或 API 版本,如果您使用的是下列 API 端點之一,可能就需要採取行動。建議的動作會因您使用 API 3.0 或 API 3.1API 4.0 而有所不同。

  • GET /queries/<query_id>
  • POST /render_tasks/queries/<query_id>/<result_format>
  • GET /running_queries

如果您使用的是 API 4.0

如果您使用的是 API 4.0,且使用上一節列出的其中一個端點,請進行下列應用程式程式碼變更:

  • 請將任何與 GET /queries/<query_id>POST /render_tasks/queries/<query_id>/<result_format> 端點搭配使用的數字 query_ids (例如 32、124 等) 替換為查詢的 slug 值。如要瞭解如何找出查詢的短標值,請參閱「如何找出查詢的短標值?」一節。
  • 使用 GET /running_queries 端點的任何應用程式,都只能由 Looker 管理員存取。

如果您使用的是 API 3.0 或 3.1

如果您使用的是 API 3.0 或 API 3.1,且使用的是上一節列出的其中一個端點,請進行以下應用程式程式碼變更:

  • GET /queries/<query_id>」端點將無法再運作。將 GET /queries/<query_id> 端點替換為 GET /queries/slug/<slug> 端點,即可擷取先前取得的相同查詢中繼資料。如要瞭解如何找出查詢的短標值,請參閱「如何找出查詢的短標值?」一節。
  • POST /render_tasks/queries/<query_id>/<result_format>」端點將無法再運作。支援 API 3.1 的 Looker SDK 將同時支援 API 3.1 和 API 4.0。如果您未使用 Looker 的 SDK,請修改 http request path,以便在該呼叫中使用 4.0 而非 3.1。然後將任何數字 query_ids (例如 32、124 等) 替換為查詢的 slug 值。如要瞭解如何找出查詢的短標值,請參閱「如何找出查詢的短標值?」一節。
  • 使用 GET /running_queries 端點的任何應用程式,都只能由 Looker 管理員存取。

如何查看查詢的短標值?

您可以透過下列方式找出查詢的短標值:

  • 如要取得探索專區的網址,請在網址中找到 qid= 變數後方的探索專區網址。

  • 您可以使用「系統活動」查看與數字查詢 ID 相關聯的短代碼值。

    1. 在 Looker 的「探索」選單中,依序選取「系統活動」 >「歷史記錄」

    2. 在「查詢」檢視畫面中,選取「ID」和「Link」維度。

    3. 您可以視需要在「ID」維度上新增篩選器,然後在「Query ID」篩選器欄位中輸入查詢的數字查詢 ID。

    4. 按一下「執行」

    5. 在「探索」結果中,按一下數字查詢 ID 旁的 [Query] 連結,即可開啟根據該數字查詢 ID 建立的探索。

    6. 接著,您可以在探索的網址中使用 slug,該網址會在網址中的 qid= 變數後方。

在 Looker 託管的 Looker (原始版本) 執行個體上啟用修補程式

Google Cloud 建議所有 Looker 代管客戶啟用新的「禁止使用數字查詢 ID」舊版功能

如要啟用「禁止使用數字查詢 ID」

  1. 在 Looker 的「管理」選單中,依序前往「管理」>「舊版」面板。

  2. 啟用「不允許數字查詢 ID」切換鈕:

在 Looker (Google Cloud Core) 執行個體上啟用修補程式

系統會自動為所有 Looker (Google Cloud Core) 執行個體啟用此修補程式。您不需要採取任何行動即可啟用此修補程式,但請務必更新任何包含任何更新版 API 端點的 API 指令碼

在客戶代管的執行個體上啟用修補程式

所有客戶代管的執行個體都應更新 Looker 執行個體,以便納入最新修補程式的 Looker 版本。這個修補程式已納入 Looker 23.18、23.20、24.0 和 24.2 最新更新版本,以及 Looker ESR 23.0、23.6、23.12 和 24.0 版本。請務必先更新任何包含更新 API 端點的 API 指令碼,再更新 Looker 執行個體。

如何判斷是否使用任何更新版 API 端點?

您可以使用 API 用量系統活動探索工具,查看對 Looker 執行個體發出的 API 呼叫清單。

  1. 在 Looker 的「探索」選單中,依序選取「系統活動」探索項目,然後選取「API 用量」檢視畫面。

  2. 選取「建立日期 > 日期」和「端點」維度,以及「總使用量」評估資料。

  3. 在「端點」維度上新增篩選器,並在篩選器欄位中加入下列端點:

    • /queries/:query_id
    • /render_tasks/queries/:query_id/:result_format
    • /running_queries
  4. 按一下「執行」。Looker 會顯示這些端點的使用資訊。

如果我需要更多時間更新 API 指令碼,該怎麼辦?

請在 2 月 21 日下午 5 點 (太平洋時間) 前與 Looker 支援團隊聯絡,並告知我們您希望停用「Disallow Numeric Query IDs」舊版功能,直到您更新 API 指令碼為止。

除了我需要為這起事件採取的行動之外,受影響的各方是否需要採取其他步驟,以減輕可能的負面影響?

Looker 採取了哪些措施,以免日後發生類似問題?

Looker 和 Google 會維護完善的安全防護計畫,主動防範並找出內部安全漏洞。如需瞭解詳情,請前往 https://cloud.google.com/looker/product/security

Looker 是否已通知監管機關?

Looker 會遵守所有相關的適用監管規定,揭露這類問題。