受限制範圍驗證

如果應用程式要求存取消費者資料,某些 Google API (接受 敏感 受限制 範圍) 的相關規定如下。這些受限制範圍的其他規定需要應用程式證明其為許可的應用程式類型,且必須提交額外審查,包括可能的安全性評估。

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

使用 OAuth 2.0 透過 Google 帳戶取得這項資料時,您可以使用名為「範圍」的字串來指定要存取的資料類型以及需要的存取權。如果您的應用程式要求使用「機密」 「受限制」範圍,除非應用程式的用途符合 例外狀況條件,否則您就必須完成驗證程序。

相較於敏感範圍,受限制範圍的數量較少。 驗證 OAuth API 驗證常見問題提供了機密和受限制範圍目前的清單。這些範圍可讓您廣泛存取 Google 使用者資料,並要求您必須完成範圍驗證程序,才能向任何 Google 帳戶要求範圍。如要進一步瞭解這項規定,請參閱《Google API 服務使用者資料政策》和特定 API 範圍的其他規定,或是 特定產品的 Google 開發人員頁面。如果您在伺服器上儲存或傳輸受限制的範圍資料,就必須完成安全性評估

瞭解受限制的範圍

如果您的應用程式要求了任何受限制的範圍,且不符合例外狀況的資格,您必須符合 Google API 服務使用者資料政策中特定 API 範圍的其他規定,或是產品的 Google 開發人員頁面中產品相關規定,這樣需要進一步的審查程序。

瞭解範圍使用情形

  • 查看應用程式使用或想使用的範圍。如要瞭解現有的範圍用量,請檢查應用程式原始碼,找出與授權要求一併傳送的所有範圍。
  • 確認每個要求的範圍對於應用程式功能執行的動作都必須具備所需範圍,並使用提供該功能所需的最低權限。Google API 通常可在產品的 Google 開發人員頁面上,提供其端點的參考說明文件,包括呼叫端點或其中特定屬性所需的範圍。如要進一步瞭解應用程式呼叫的 API 端點必要存取權範圍,請參閱這些端點的參考說明文件。 For example, for an app that only uses Gmail APIs to occasionally send emails on a user's behalf, don't request the scope that provides full access to the user's email data.
  • 從 Google API 收到的資料必須遵循 API 政策,而且必須透過應用程式的動作和隱私權政策向使用者呈現。
  • 如要進一步瞭解各個範圍,包括其潛在的 sensitive or restricted 狀態,請參閱 API 說明文件。
  • 在 API Console的 OAuth 同意畫面設定範圍頁面中,宣告應用程式使用的所有範圍。您指定的範圍會分組為敏感或受限類別,醒目顯示所有必要的額外驗證。
  • 找出與整合作業使用的資料相符的最佳範圍,瞭解其用途,然後重新確認一切在測試環境中都能正常運作,然後準備提交驗證用資料。

請務必考量到完成應用程式發布計畫所需的時間,或是需要推出新範圍的任何新功能。如果應用程式會透過伺服器存取 Google 使用者資料,或能夠透過伺服器存取 Google 使用者資料,就會發生其中一項額外要求。在這類情況下,系統必須接受 Google 核准的獨立第三方評估人員年度安全性評估。因此,受限制範圍的驗證程序可能需要數週才能完成。請注意,所有應用程式都必須先完成品牌驗證步驟 (如果品牌資訊自上次核准的 OAuth 同意畫面驗證後有異動),通常需要 2 至 3 個工作天。

允許的應用程式類型

部分應用程式類型可以存取每項產品的受限制範圍。您可以在產品的 Google 開發人員頁面 (例如 Gmail API 政策) 中查看應用程式類型。

您有責任瞭解並判斷應用程式類型。不過,如果不確定應用程式屬於哪個類型,那麼提交應用程式進行驗證時,請勿在「您要使用的功能」問題中選取任何選項。Google API 的驗證團隊將決定應用程式類型。

安全性評估

如果應用程式要求存取 Google 使用者的受限制資料,而且能夠從第三方伺服器或透過第三方伺服器存取資料,就必須通過 Google 安全性評估人員的安全性評估。這項評估會驗證所有存取 Google 使用者資料的應用程式,證明所有存取 Google 使用者資料的應用程式均具備安全處理資料的能力,以及依使用者要求刪除使用者資料的能力,藉此保護 Google 使用者的資料。

為了標準化我們的安全性評估作業,我們採用 App Defense Alliance 雲端應用程式安全性評估架構 (CASA)

如前所述,如要繼續存取任何通過驗證的受限制範圍,應用程式必須在評估人員通過評估文件 (LOA) 核准後,至少每 12 個月重新驗證一次,確保符合政策規範。如果您的應用程式新增受限制範圍,但先前未應用於之前的安全性評估,則可能需要重新評估應用程式以涵蓋額外的範圍。

當您需要重新認證應用程式時,Google 審查團隊會傳送電子郵件通知您。為了確保團隊成員能收到這項年度違規處置的通知,請將其他 Google 帳戶與您的 API Console 專案建立關聯,並指定為「擁有者」或「編輯者」。此外,當您需要即時掌握 Google API Console OAuth Consent Screen page中指定的使用者支援服務和開發人員聯絡電子郵件, 也能協助您取得最新資訊。

驗證準備步驟

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

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

應用程式首頁需求

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

  • 您的首頁必須開放所有人存取,且不得僅供已登入網站的使用者存取。
  • 首頁與審核中應用程式的關聯性必須明顯。
  • 系統不會將 Google Play 商店中的應用程式資訊連結或 Facebook 粉絲專頁的連結視為有效的應用程式首頁。

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

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

  • 您必須向使用者顯示隱私權政策,且該政策必須與應用程式首頁位於相同網域,而且須連結至 Google API Console的 OAuth 同意畫面。請注意,首頁必須包含應用程式功能說明、隱私權政策連結和選用服務條款。
  • 隱私權政策必須揭露您的應用程式存取、使用、儲存或分享 Google 使用者資料的方式。 The privacy policy must comply with the Google API Services User Data Policy and the Limited Use requirements for restricted scopes. 使用 Google 使用者資料的行為時,您必須遵循已發布隱私權政策揭露的做法。
  • Review example cases of privacy policies that don't meet the Limited Use requirements.

如何提交應用程式進行驗證

Google API Console 專案可整理您所有的 API Console 資源。專案是由一組相關聯的 Google 帳戶組成,這些帳戶具備執行專案作業的權限、一組已啟用的 API,以及這些 API 的計費、驗證和監控設定。舉例來說,一項專案可包含一或多個 OAuth 用戶端、設定 API 供這些用戶端使用,並在使用者授權存取您的應用程式前設定 OAuth 同意畫面

如有任何 OAuth 用戶端還無法投入實際工作環境,建議您將這些用戶端從要求驗證的專案中刪除。您可以在 Google API Console中執行這項操作。

送交驗證的步驟如下:

  1. 確認您的應用程式符合《Google API 服務條款》和《Google API 服務使用者資料政策》。
  2. 請在 API Console中保持專案關聯帳戶的擁有者和編輯者角色,以及 OAuth 同意畫面中的使用者支援電子郵件和開發人員聯絡資訊。確保團隊成員會收到任何新要求的通知。
  3. 前往 API ConsoleOAuth Consent Screen page
  4. 按一下「Project selector」按鈕。
  5. 在隨即顯示的「Select from」(可用的選項) 對話方塊中,選取您的專案。如果您找不到專案,但已經知道專案 ID,則可在瀏覽器中以下列格式建構網址:

    https://console.developers.google.com/apis/credentials/consent?project=[PROJECT_ID]

    [PROJECT_ID] 替換成您要使用的專案 ID。

  6. 選取「Edit App」按鈕。
  7. 在 OAuth 同意畫面上輸入必要資訊,然後選取「儲存並繼續」按鈕
  8. 使用「新增或移除範圍」按鈕,宣告應用程式要求的所有範圍。「非機密範圍」部分會預先填入 Google 登入作業所需的初始範圍組合。新增的範圍會歸類為非機密 sensitive, or restricted。
  9. 應用程式最多可提供三個連結,讓使用者連往相關的應用程式功能說明文件。
  10. 在後續步驟中,提供任何要求的應用程式相關資訊。

    1. Ensure your app complies with the Additional requirements for specific API scopes, which includes undergoing an annual security assessment if your app accesses restricted scope Google users' data from or through a third-party server.
    2. Ensure your app is one of the allowed types specified in the Limited Use section of the Additional requirements for specific API scopes page.
    3. If your app is a task automation platform, your demonstration video must showcase how multiple API workflows are created and automated, and in which directions user data flows.
    4. Prepare a video that fully demonstrates how a user initiates and grants access to the requested scopes and shows, in detail, the usage of the granted sensitive and restricted scopes in the app. Upload the video to YouTube Studio and set Visibility as Unlisted. You need to provide a link to the demonstration video in the YouTube link field.

      1. Show the OAuth grant process that users will experience, in English. This includes the consent flow and, if you use Google Sign-In, the sign-in flow.
      2. Show that the OAuth consent screen correctly displays the App Name.
      3. Show that the browser address bar of the OAuth consent screen correctly includes your app's OAuth client ID.
      4. To show how the data will be used, demonstrate the functionality that's enabled by each sensitive and restricted scope that you request.
      5. If you use multiple clients, and therefore have multiple OAuth client IDs, show how the data is accessed on each OAuth client.
    5. Select your permitted application type from the "What features will you use?" list.
    6. Describe how you will use the restricted scopes in your app and why more limited scopes aren't sufficient.
  11. 如果您提供的應用程式設定需要驗證,您可以提交應用程式進行驗證。填寫必填欄位,然後按一下「提交」,即可開始驗證程序。

在您提交應用程式後,Google 信任與安全團隊會透過電子郵件聯繫您,並提供他們所需的額外資訊或您必須完成的步驟。請查看「開發人員聯絡資訊」部分中的電子郵件地址,以及 OAuth 同意畫面的支援電子郵件地址,索取其他資訊。您也可以查看專案的 OAuth 同意畫面頁面,確認專案目前的審查狀態,包括在等待您的回應期間,審核程序是否已暫停。

驗證規定例外狀況

如果您的應用程式會在以下各節所述的任何情境中使用,則無須送交審查。

個人使用

其中一種用途是應用程式的唯一使用者,或應用程式只有少數使用者使用,所有使用者都能辨識您。您和少數使用者或許會願意透過未經驗證的應用程式畫面推動進階作業,並授予個人帳戶存取應用程式的權限。

用於開發、測試或測試環境的專案

遵守 Google OAuth 2.0 政策,建議您為測試和實際工作環境建立不同的專案。除非您想讓應用程式向任何擁有 Google 帳戶的使用者提供應用程式,否則建議您只提交應用程式進行驗證。因此,如果您的應用程式處於開發、測試或階段,就不必進行驗證。

如果應用程式處於開發或測試階段,您可以在「測試」的預設設定中保留「發布狀態」。這項設定表示您的應用程式仍處於開發階段,且僅供您新增至測試使用者清單的使用者使用。您必須管理與應用程式開發或測試相關的 Google 帳戶清單。

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

僅限服務擁有的資料

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

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

僅限內部使用

也就是說,只有您的 Google Workspace 或 Cloud Identity 機構的使用者能使用應用程式。專案必須為機構所有,且 OAuth 同意畫面需要設定「內部」使用者類型。在此情況下,您的應用程式可能需要取得機構管理員的核准。詳情請參閱「Google Workspace 的其他注意事項」。

全網域安裝

如果您打算應用程式只以 Google Workspace 或 Cloud Identity 機構的使用者為目標對象,而且一律使用全網域安裝功能,則應用程式不需要驗證應用程式。這是因為在網域層級安裝作業,網域管理員就能授權第三方和內部應用程式存取您使用者資料。只有機構管理員才能將應用程式加入許可清單,以在其網域中使用。

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