將 Google BigQuery 連線的 OAuth 範圍限制為唯讀

在 Looker 24.20 之前,為 Google BigQuery 連線設定 OAuth 驗證時,Looker 會建立 OAuth 憑證,讓資料庫使用者要求讀取和寫入範圍。從 Looker 24.20 開始,Looker 會改為針對任何新的 BigQuery OAuth 連線、現有 BigQuery OAuth 連線的新 OAuth 授權,以及現有 BigQuery OAuth 連線的重新授權,要求 OAuth 唯讀範圍。

自 2025 年 3 月 1 日起,Looker 會將所有未透過 OAuth 唯讀範圍重新授權的使用者登出,並從所有對應的 BigQuery 連線登出。這會導致任何依賴這些連線的排程失敗。每位使用者都必須重新授權 OAuth 連線憑證,才能確保排程持續運作。您也可以將排程重新指派給使用者,前提是使用者已重新授權 OAuth 連結憑證。

為確保順利轉換至更新版 OAuth 憑證,請按照後續章節中的步驟操作:

重新授權 OAuth 連線憑證

如要更新 OAuth 憑證,以便使用唯讀權限範圍,請按照下列步驟操作:

  1. 前往「帳戶頁面。
  2. 在「OAuth 連線憑證」專區,按一下每組憑證旁的「重新授權」
  3. 系統會提示您重新授權 Looker 存取 BigQuery 資料。確認畫面應列出「查看您的 Google BigQuery 資料」權限,而非「查看及管理您的 Google BigQuery 資料」。

每位具備 BigQuery 連線 OAuth 憑證的使用者都必須完成這些步驟。

產生可能受影響排程的所有使用者清單

如要產生一份清單,列出所有未使用唯讀 OAuth 憑證,但已在 BigQuery 連線中建立排程的使用者,請前往下列「系統活動探索」頁面,並將 INSTANCE_NAME 替換為 Looker 例項的地址 (例如 https://example.cloud.looker.com)。

INSTANCE_NAME/explore/system__activity/scheduled_plan_oauth_events?fields=user.name,count,query.model&f[query.model]=-NULL&f[count]=0&sorts=user.name&limit=500&column_limit=50&query_timezone=America%2FLos_Angeles&vis=%7B%22show_view_names%22%3Afalse%2C%22show_row_numbers%22%3Atrue%2C%22transpose%22%3Afalse%2C%22truncate_text%22%3Atrue%2C%22hide_totals%22%3Afalse%2C%22hide_row_totals%22%3Afalse%2C%22size_to_fit%22%3Atrue%2C%22table_theme%22%3A%22white%22%2C%22limit_displayed_rows%22%3Afalse%2C%22enable_conditional_formatting%22%3Afalse%2C%22header_text_alignment%22%3A%22left%22%2C%22header_font_size%22%3A12%2C%22rows_font_size%22%3A12%2C%22conditional_formatting_include_totals%22%3Afalse%2C%22conditional_formatting_include_nulls%22%3Afalse%2C%22x_axis_gridlines%22%3Afalse%2C%22y_axis_gridlines%22%3Atrue%2C%22show_y_axis_labels%22%3Atrue%2C%22show_y_axis_ticks%22%3Atrue%2C%22y_axis_tick_density%22%3A%22default%22%2C%22y_axis_tick_density_custom%22%3A5%2C%22show_x_axis_label%22%3Atrue%2C%22show_x_axis_ticks%22%3Atrue%2C%22y_axis_scale_mode%22%3A%22linear%22%2C%22x_axis_reversed%22%3Afalse%2C%22y_axis_reversed%22%3Afalse%2C%22plot_size_by_field%22%3Afalse%2C%22trellis%22%3A%22%22%2C%22stacking%22%3A%22%22%2C%22legend_position%22%3A%22center%22%2C%22point_style%22%3A%22none%22%2C%22show_value_labels%22%3Afalse%2C%22label_density%22%3A25%2C%22x_axis_scale%22%3A%22auto%22%2C%22y_axis_combined%22%3Atrue%2C%22ordering%22%3A%22none%22%2C%22show_null_labels%22%3Afalse%2C%22show_totals_labels%22%3Afalse%2C%22show_silhouette%22%3Afalse%2C%22totals_color%22%3A%22%23808080%22%2C%22type%22%3A%22looker_grid%22%2C%22defaults_version%22%3A1%2C%22series_types%22%3A%7B%7D%2C%22hidden_fields%22%3A%5B%22count%22%5D%7D&filter_config=%7B%22query.model%22%3A%5B%7B%22type%22%3A%22%21null%22%2C%22values%22%3A%5B%7B%7D%2C%7B%7D%5D%2C%22id%22%3A0%7D%5D%2C%22count%22%3A%5B%7B%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%7B%22constant%22%3A%220%22%7D%2C%7B%7D%5D%2C%22id%22%3A1%7D%5D%2C%22__%21internal%21__%22%3A%5B%22OR%22%2C%5B%5B%22AND%22%2C%5B%5B%22FILTER%22%2C%7B%22field%22%3A%22query.model%22%2C%22value%22%3A%22-NULL%22%2C%22type%22%3A%22%21null%22%7D%5D%2C%5B%22FILTER%22%2C%7B%22field%22%3A%22count%22%2C%22value%22%3A%220%22%7D%5D%5D%5D%5D%5D%7D&dynamic_fields=%5B%7B%22category%22%3A%22measure%22%2C%22expression%22%3Anull%2C%22label%22%3A%22Count%22%2C%22value_format%22%3Anull%2C%22value_format_name%22%3Anull%2C%22based_on%22%3A%22event_attribute.value%22%2C%22_kind_hint%22%3A%22measure%22%2C%22measure%22%3A%22count%22%2C%22type%22%3A%22count_distinct%22%2C%22_type_hint%22%3A%22number%22%2C%22filters%22%3A%7B%22event_attribute.value%22%3A%22%25%2Fauth%2Fbigquery.readonly%25%22%7D%7D%5D&origin=share-expanded

每位使用者都必須重新授權 OAuth 連線憑證,才能確保排程持續運作。

(選用) 強制在 Looker 執行個體中使用唯讀範圍

如要登出所有擁有 OAuth 憑證的使用者,這些使用者可透過任何 BigQuery 連線的讀取和寫入範圍,請按照下列步驟操作:

  1. 前往「管理員設定 - 一般設定 」頁面。
  2. 將「強制使用 BigQuery 唯讀範圍」切換至「已啟用」,然後按一下「更新」

這個程序不會讓使用者重新登入 BigQuery。下次使用者執行以 BigQuery 連線模型為基礎的查詢時,系統會提示他們登入 BigQuery。在使用者登入前,所有依賴這些連線的排程都會失敗。您也可以重新指派排程給自己或其他已重新授權 OAuth 連線憑證的使用者。