在 Looker 24.20 之前,設定 Google BigQuery 連線的 OAuth 驗證時,Looker 會建立 OAuth 憑證,允許資料庫使用者要求讀取和寫入範圍。從 Looker 24.20 版開始,對於任何新的 BigQuery OAuth 連線、現有 BigQuery OAuth 連線的新 OAuth 授權,以及現有 BigQuery OAuth 連線的重新授權,Looker 都會要求 OAuth 唯讀範圍。
請注意,如果 Google BigQuery 連線採用唯讀範圍,會有以下限制:
- 使用者無法在 SQL Runner 中執行寫入作業。
- 如果 Google BigQuery 連線設定為 OAuth 驗證,則不支援終止查詢。
自 2025 年 3 月 1 日起,如果使用者未透過 OAuth 唯讀範圍重新授權,Looker 會將使用者從所有對應的 BigQuery 連線登出。這會導致任何依附這些連線的排程失敗。這些使用者都必須重新授權 OAuth 連線憑證,確保排程能順利傳送。您也可以將排程重新指派給已重新授權 OAuth 連線憑證的使用者。
為確保順利轉換至更新後的 OAuth 憑證,請按照後續章節的步驟操作:
重新授權 OAuth 連線憑證
如要更新 OAuth 憑證,改用唯讀範圍,請按照下列步驟操作:
- 前往「帳戶」頁面。
- 在「OAuth 連線憑證」部分,按一下每組憑證旁的「重新授權」。
- 系統會提示您重新授權 Looker 存取 BigQuery 資料。確認畫面應列出「查看您的 Google BigQuery 資料」權限,而非「查看及管理您的 Google BigQuery 資料」。
如果使用者擁有 BigQuery 連線的 OAuth 憑證,就必須完成這些步驟。
產生所有可能受影響排程的使用者名單
如要產生所有使用者清單,列出在 BigQuery 連線中建立排程,但沒有唯讀 OAuth 憑證的使用者,請前往下列系統活動探索,並將 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 執行個體中強制使用唯讀範圍
如要登出所有使用者,並從任何 BigQuery 連線中移除允許讀寫範圍的 OAuth 憑證,請按照下列步驟操作:
這個程序不會讓使用者重新登入 BigQuery。下次使用者執行以 BigQuery 連線模型為基礎的查詢時,系統會提示他們登入 BigQuery。使用者登入前,任何依賴這些連線的排程都會失敗。您也可以將排程重新指派給自己,或是已重新授權 OAuth 連線憑證的其他使用者。