敏感範圍驗證

如果應用程式要求使用 Google API 存取 Google 使用者資料的權限,您可能需要先完成驗證程序,才能首次公開發布應用程式。

這項規定是否適用於您的應用程式,主要取決於兩項因素:

  1. 您存取的使用者資料類型,例如公開個人資料、日曆項目、雲端硬碟檔案、特定健康與運動資料等。
  2. 您需要的存取權層級,例如唯讀、讀取和寫入等。

使用 OAuth 2.0 取得 Google 帳戶的資料存取權限時,您會使用稱為「範圍」的字串,指定要代表使用者存取的資料類型。如果應用程式要求的範圍屬於機密或受限制類別,您可能需要完成驗證程序,除非應用程式的使用方式符合例外情況。

機密範圍的例子包括讀取 Google 日曆中儲存的活動、在 Google 聯絡人中儲存新聯絡人,或刪除 YouTube 影片。如要進一步瞭解可用的範圍及其分類,請參閱應用程式呼叫的 API 端點參考文件,以及為 API 發布的任何相關授權指南。

您必須要求存取權限最低的範圍,才能存取提供該功能所需的使用者資料。舉例來說,如果應用程式只需要讀取資料,且 API 和相關端點有更小的範圍,則應用程式不得要求讀取、寫入和刪除內容的存取權。您從 Google API 接收的資料,只能依據 API 政策使用,且使用方式必須符合您在應用程式動作和隱私權政策中向使用者聲明的方式。

在規劃應用程式或任何需要新範圍的新功能時,請務必考量完成驗證所需的時間。敏感範圍驗證程序最多需要 10 天才能完成。請注意,您的應用程式可能符合品牌驗證資格,可做為敏感範圍驗證要求的一部分。


瞭解機密範圍

敏感範圍必須先經過 Google 審查,任何 Google 帳戶才能授予存取權。Google Workspace 組織管理員可能會限制機密範圍的存取權,防止組織未明確標示為信任的 OAuth 用戶端 ID 存取。

瞭解範圍用途

  • 查看應用程式目前或預計使用的範圍。如要找出目前使用的範圍,請檢查應用程式的原始碼,看看是否有任何範圍與授權要求一併傳送。
  • 確認要求的每個範圍都是應用程式功能預期動作所必需,並使用提供該功能所需的最小權限。Google API 通常會在產品的 Google Developers 頁面提供端點的參考文件,其中包含呼叫端點或其中特定屬性所需的範圍。如要進一步瞭解應用程式呼叫的 API 端點所需的存取權範圍,請參閱這些端點的參考文件。
  • 您從 Google API 取得的資料,只能依據 API 政策使用,且使用方式必須符合您在應用程式動作和隱私權政策中向使用者聲明的方式。
  • 請參閱 API 說明文件,進一步瞭解各個範圍,包括潛在的機密或受限狀態。
  • 在 Cloud 控制台的「Data Access」(資料存取) 頁面中,宣告應用程式使用的所有範圍。您指定的範圍會分組為機密或受限制的類別,以醒目顯示任何必要的額外驗證。
  • 找出最符合整合功能所用資料的範圍、瞭解其用途、在測試環境中重新確認一切仍可正常運作,然後準備提交驗證。
表格會顯示 API 名稱、其中一個機密範圍,以及該範圍涵蓋內容的說明。
圖 1. OAuth 同意畫面設定範圍頁面中顯示的敏感範圍範例。

驗證準備步驟

凡是使用 Google API 要求存取資料的應用程式,都必須執行下列步驟,完成品牌驗證:

  1. 確認您的應用程式不屬於「驗證規定的例外狀況」一節中的任何用途。
  2. 請確認應用程式符合相關 API 或產品的品牌規定。舉例來說,請參閱 Google 登入範圍的品牌宣傳指南。
  3. 在 Google Search Console 中,驗證專案授權網域的擁有權。請使用與 API 控制台專案相關聯的 Google 帳戶,並具備「擁有者」或「編輯者」權限。
  4. 請確認 OAuth 同意畫面上的所有品牌資訊 (例如應用程式名稱、支援電子郵件地址、首頁 URI、隱私權政策 URI 等) 均準確代表應用程式的身分。

應用程式首頁規定

請確認首頁符合下列規定:

  • 首頁必須公開,不能只開放給已登入網站的使用者。
  • 首頁與送審應用程式的關聯性必須明確。
  • Google Play 商店中的應用程式資訊頁面或 Facebook 專頁,不算是有效的應用程式首頁。

應用程式隱私權政策連結規定

請確認應用程式的隱私權政策符合下列規定:

  • 隱私權政策必須向使用者公開,並與應用程式首頁位於相同網域,且連結至 Google API 控制台的 OAuth 同意畫面。請注意,首頁必須包含應用程式功能說明,以及隱私權政策和服務條款 (選用) 的連結。
  • 隱私權政策必須揭露應用程式存取、使用、儲存或分享 Google 使用者資料的方式。使用 Google 使用者資料時,必須遵守已發布之隱私權政策中揭露的做法。

如何將應用程式送交品牌驗證

Google Cloud 控制台專案可整理所有 Cloud 控制台資源。專案包含一組有權執行專案作業的相關聯 Google 帳戶、一組已啟用的 API,以及這些 API 的計費、驗證和監控設定。舉例來說,專案可以包含一或多個 OAuth 用戶端、設定這些用戶端使用的 API,以及設定向使用者顯示的 OAuth 同意畫面,讓使用者授權存取您的應用程式。

如果任何 OAuth 用戶端尚未準備好用於正式環境,建議您從要求驗證的專案中刪除這些用戶端。您可以在「客戶」頁面執行這項操作。

如要提交驗證,請按照下列步驟操作:

  1. 確認應用程式符合《Google API 服務條款》和《Google API 服務使用者資料政策》的規定。
  2. 請在 Cloud 控制台中,隨時更新專案相關帳戶的擁有者和編輯者角色,以及 OAuth 同意畫面的使用者支援電子郵件和開發人員聯絡資訊。這可確保團隊中的正確成員收到任何新要求的通知。
  3. 前往 Cloud 控制台的 OAuth 品牌宣傳頁面。
  4. 按一下「Project selector」(專案選取器) 按鈕。
  5. 在隨即顯示的「Select from」(選取來源) 對話方塊中,選取所需專案。如果找不到專案,但知道專案 ID,可以在瀏覽器中按照下列格式建立網址:

    https://console.developers.google.com/auth/branding?project=[PROJECT_ID]
    

    將 [PROJECT_ID] 替換為要使用的專案 ID。

  6. 在「Branding」(品牌宣傳) 頁面中,提供應用程式的品牌資訊,包括應用程式名稱、標誌、開發人員聯絡資訊和相關連結。您所做的任何變更都會儲存為「品牌宣傳草稿」。

  7. 按一下「驗證品牌宣傳」按鈕,即可開始評估程序。自動審查通常會在幾分鐘內完成。

  8. 評估完成後,請查看狀態。如果成功,狀態會變更為「Ready to publish」(可發布)。如果自動驗證失敗,您可以查看偵測到的問題,並加以修正或申請人工審查。

  9. 按一下「發布品牌宣傳」按鈕,即可發布新的品牌宣傳。

  10. 如果應用程式也需要驗證機密或受限制的範圍,請前往 OAuth 驗證中心追蹤資料存取狀態,並提供任何要求的額外資訊,例如示範影片。請注意,您必須先發布品牌資訊,才能要求驗證資料存取權。

  11. 使用「Add or remove scopes」按鈕,宣告應用程式要求的所有範圍。系統會在「Non-sensitive scopes」部分預填 Google 登入所需的一組初始範圍。新增的範圍會分類為非機密、機密或受限制。

  12. 針對應用程式中的相關功能,您最多可以提供三個相關說明文件的連結。

  13. 在後續步驟中,提供應用程式所需的任何其他資訊。

    1. 針對要求的每項機密範圍,請準備詳細的理由,並說明為何較小的範圍不夠。例如:「我的應用程式會使用 https://www.googleapis.com/auth/calendar,在應用程式的排程畫面上顯示使用者的 Google 日曆資料。這樣一來,使用者就能透過我的應用程式管理自己的時間表,並將變更同步到 Google 日曆。」
    2. 準備一部影片,完整示範使用者如何啟動並授予所要求範圍的存取權,並詳細說明應用程式如何使用已授予的機密和受限制範圍。將影片上傳至 YouTube 工作室,並將「瀏覽權限」設為「不公開」。您必須在 YouTube 連結欄位中提供示範影片的連結。
      1. 以英文呈現使用者會經歷的 OAuth 授權程序。 包括同意聲明流程,以及登入流程 (如果您使用 Google 登入)。
      2. 證明 OAuth 同意畫面正確顯示應用程式名稱。
      3. OAuth 同意畫面的瀏覽器網址列正確顯示應用程式的 OAuth 用戶端 ID。
      4. 如要說明資料的使用方式,請示範您要求的每個敏感範圍所啟用的功能。

發布品牌宣傳資訊或提交資料存取要求後,Google 信任與安全團隊可能會透過電子郵件與您聯絡,要求您提供其他資訊或完成必要步驟。請查看「開發人員聯絡資訊」部分中的電子郵件地址,以及 OAuth 同意畫面中的支援電子郵件地址,確認是否有要求提供更多資訊的通知。您也可以查看專案的「品牌宣傳」或「驗證中心」頁面,確認專案目前的審查狀態,包括審查程序是否因等待您回覆而暫停。

驗證規定的例外狀況

如果您的應用程式將用於下列各節所述的任何情境,則不需提交審查。

個人使用

舉例來說,如果您是應用程式的唯一使用者,或應用程式僅供少數人使用,且您都認識這些人,您和少數使用者可能不介意略過未經驗證的應用程式畫面,並授予個人帳戶應用程式存取權。

用於開發、測試或預備環境層級的專案

為遵守 Google OAuth 2.0 政策,建議您為測試和正式環境建立不同的專案。建議您只有在想讓所有 Google 帳戶使用者都能存取應用程式時,才提交應用程式進行驗證。因此,如果應用程式處於開發、測試或預備階段,就不需要驗證。

如果應用程式處於開發或測試階段,您可以將「Publishing Status」(發布狀態) 保持在預設設定「 Testing」(測試中)。這項設定表示應用程式仍在開發階段,只有測試使用者清單中的人員可以存取。您必須管理參與應用程式開發或測試的 Google 帳戶清單。

警告訊息,指出 Google 尚未驗證正在測試的應用程式。
圖 2. 測試人員警告畫面

僅限服務擁有的資料

如果應用程式使用服務帳戶,且只存取自己的資料,不存取任何使用者資料 (連結至 Google 帳戶),則不需提交驗證。

如要瞭解什麼是服務帳戶,請參閱 Google Cloud 說明文件中的「服務帳戶」。如需使用服務帳戶的操作說明,請參閱「針對伺服器對伺服器應用程式使用 OAuth 2.0」。

內部專用

這表示只有 Google Workspace 或 Cloud Identity 組織中的人員才能使用該應用程式。專案必須由組織擁有,且 OAuth 同意畫面必須設為內部使用者類型。在這種情況下,應用程式可能需要組織管理員核准。詳情請參閱「Google Workspace 的其他注意事項」。

全網域安裝

如果您的應用程式只會指定 Google Workspace 或 Cloud Identity 機構的使用者,且一律使用全網域安裝,則不需要進行品牌驗證。不過,如果應用程式使用受限或敏感範圍,則須進行應用程式驗證。這是因為全網域安裝可讓網域管理員授權第三方和內部應用程式存取使用者資料。只有組織管理員帳戶可以將應用程式加入許可清單,供網域內使用。

如要瞭解如何將應用程式設為全網域安裝,請參閱常見問題「我的應用程式有來自其他 Google Workspace 網域的公司帳戶使用者」。