在 Looker 24.20 之前,設定 Google BigQuery 連線的 OAuth 驗證時,Looker 會建立 OAuth 憑證,允許資料庫使用者要求讀取和寫入範圍。自 Looker 24.20 起,Looker 會改為要求 OAuth 唯讀範圍,用於任何新的 BigQuery OAuth 連線、現有 BigQuery OAuth 連線的新 OAuth 授權,以及現有 BigQuery OAuth 連線的重新授權。
請注意,Google BigQuery 連線的範圍為唯讀:
- 使用者無法在 SQL Runner 中執行寫入作業。
- 如果 Google BigQuery 連線設定為 OAuth 驗證,則不支援終止查詢。
2025 年 3 月 1 日起,Looker 會將未重新授權 OAuth 唯讀範圍的使用者,從所有對應的 BigQuery 連線登出。 這會導致依附於這些連線的排程失敗。這些使用者必須重新授權 OAuth 連線憑證,確保排定的傳送作業不會中斷。您也可以將排程重新指派給已重新授權 OAuth 連線憑證的使用者。
為確保順利轉換至更新後的 OAuth 憑證,請按照下列各節的步驟操作:
重新授權 OAuth 連線憑證
如要更新 OAuth 憑證,改用唯讀範圍,請按照下列步驟操作:
- 前往「帳戶」頁面。
- 在「OAuth Connection Credentials」(OAuth 連線憑證) 部分,按一下每組憑證旁的「Reauthorize」(重新授權)。
- 系統會提示您重新授權 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 連線讀寫資料,請按照下列步驟操作:
這項程序不會讓使用者重新登入 BigQuery。下次使用者執行查詢時,如果查詢是以具備 BigQuery 連線的模型為基礎,系統就會提示他們登入 BigQuery。在使用者登入前,任何依賴這些連線的排程都會失敗。您也可以將排程重新指派給自己,或已重新授權 OAuth 連線憑證的其他使用者。