受限制範圍驗證

某些 Google API (接受敏感或受限制範圍的 API) 對於要求存取消費者資料權限的應用程式設有規定。這些受限範圍的額外規定要求應用程式證明其為允許的應用程式類型,並提交額外審查,其中可能包括安全性評估。

API 內受限制範圍的適用性,主要取決於應用程式提供相關功能所需的存取權限程度:唯讀、唯寫、讀取和寫入等。

使用 OAuth 2.0 取得 Google 帳戶的資料存取權限時,您會使用稱為「範圍」的字串,指定要存取的資料類型和所需存取權限。如果應用程式要求敏感或受限制範圍,您必須完成驗證程序,除非應用程式的使用方式符合例外狀況。

受限範圍的數量比敏感範圍少。OAuth API 驗證常見問題包含目前的敏感和受限範圍清單。這些範圍可廣泛存取 Google 使用者資料,因此您必須先完成範圍驗證程序,才能向任何 Google 帳戶要求這些範圍。如要瞭解這項規定,請參閱《Google API 服務使用者資料政策》和特定 API 範圍的其他規定,或特定產品的 Google Developers 頁面。如果您在伺服器上儲存或傳輸受限範圍資料,則必須完成安全性評估。


瞭解受限制的範圍

如果應用程式要求任何受限範圍,且不符合例外狀況資格,您必須遵守《Google API 服務使用者資料政策》中特定 API 範圍的額外規定,或產品 Google 開發人員頁面上的產品特定規定,這需要更廣泛的審查程序。

瞭解範圍用途

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

在規劃應用程式或任何需要新範圍的新功能時,請務必考量完成驗證所需的時間。其中一項額外規定是,如果應用程式會從伺服器或透過伺服器存取 Google 使用者資料,或具備這類存取能力,在這種情況下,系統必須每年接受 Google 核准的獨立第三方評估人員進行安全性評估。因此,受限範圍驗證程序可能需要數週才能完成。請注意,如果品牌資訊自上次通過 OAuth 同意畫面驗證後有所變更,所有應用程式都必須先完成品牌驗證步驟,這通常需要 2 到 3 個工作天。


允許的應用程式類型

某些應用程式類型可以存取各項產品的受限制範圍。如要瞭解應用程式類型,請前往產品專屬的 Google Developers 頁面 (例如 Gmail API 政策)。

您有責任瞭解並判斷應用程式類型。 不過,如果您不確定應用程式類型,可以在提交應用程式進行驗證時,不選取「您將使用哪些功能?」問題的任何選項。Google API 驗證團隊會判斷應用程式類型。


Security assessment

凡是要求存取 Google 使用者受限資料,且能透過第三方伺服器存取資料的應用程式,都必須接受 Google 指定安全性評估人員的安全性評估。這項評估可確保所有存取 Google 使用者資料的應用程式,都能安全處理資料,並在使用者要求時刪除資料,進而保護 Google 使用者的資料安全。

為標準化安全性評估,我們採用應用程式防禦聯盟和雲端應用程式安全性評估架構 (CASA)。

如前所述,為保有任何已驗證受限制範圍的存取權,應用程式必須重新驗證是否符合規範,並在評估人員核准評估信 (LOA) 後,至少每 12 個月完成一次安全性評估。如果應用程式新增受限制範圍,且該範圍未包含在先前的安全性評估中,則可能需要重新評估應用程式,以涵蓋額外範圍。

Google 審查團隊會在應用程式需要重新認證時,傳送電子郵件通知您。為確保團隊中的正確成員收到這項年度強制執行通知,請將其他 Google 帳戶與 Cloud 控制台專案建立關聯,並指派擁有者或編輯者角色。此外,也請務必更新 Google Cloud 控制台 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 API 服務使用者資料政策》和受限範圍的用途限制規定。使用 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. 請確保應用程式符合特定 API 範圍的額外規定,包括在應用程式透過第三方伺服器存取受限制範圍的 Google 使用者資料時,接受年度安全性評估。
    2. 請確認您的應用程式屬於「特定 API 範圍的其他規定」頁面「有限使用」一節中指定的允許類型。
    3. 如果您的應用程式是工作自動化平台,示範影片必須展示如何建立多個 API 工作流程並自動執行,以及使用者資料的流向。
    4. 準備一部影片,完整示範使用者如何啟動並授予所要求範圍的存取權,並詳細說明應用程式如何使用已授予的機密和受限制範圍。將影片上傳至 YouTube 工作室,並將「瀏覽權限」設為「不公開」。您必須在 YouTube 連結欄位中提供示範影片的連結。
      1. 以英文呈現使用者會經歷的 OAuth 授權程序。 包括同意聲明流程,以及登入流程 (如果您使用 Google 登入)。
      2. 證明 OAuth 同意畫面正確顯示應用程式名稱。
      3. OAuth 同意畫面的瀏覽器網址列正確顯示應用程式的 OAuth 用戶端 ID。
      4. 為說明資料的使用方式,請示範您要求的每個機密和受限範圍所啟用的功能。
      5. 如果您使用多個用戶端,因此有多個 OAuth 用戶端 ID,請說明每個 OAuth 用戶端如何存取資料。
    5. 從「您要使用哪些功能?」清單中,選取許可的應用程式類型。
    6. 說明您將如何在應用程式中使用受限制的範圍,以及為何較受限的範圍不敷使用。

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

驗證規定的例外狀況

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

個人使用

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

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

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

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

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

僅限服務擁有的資料

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

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

內部專用

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

全網域安裝

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

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