本指南說明如何確保應用程式和使用者憑證安全無虞。
完成 OAuth 應用程式驗證
Google Ads API 的 OAuth 2.0 範圍屬於受限制範圍,因此您應該先完成 OAuth 應用程式驗證程序,再推出應用程式。詳情請參閱 Google Identity 說明文件和說明中心文章。
保護應用程式憑證
您應妥善保護應用程式的 OAuth 2.0 用戶端 ID 和用戶端密鑰。這些憑證可協助使用者和 Google 識別您的應用程式,因此應謹慎處理。您應該把這些應用程式憑證當做密碼處理。請勿透過不安全的機制分享憑證,例如:在公開論壇張貼、以電子郵件附件傳送含有這些憑證的設定檔、將憑證硬式編碼,或將憑證提交至程式碼存放區。建議您使用 Secret Manager,例如 Google Cloud Secret Manager 或 AWS Secret Manager。
如果您的 OAuth 2.0 用戶端密鑰外洩,可以重設。開發人員權杖也可以重設。
保護開發人員權杖
開發人員權杖可讓您向帳戶發出 API 呼叫,但可用來呼叫哪些帳戶並無限制。因此,其他人可能會使用遭入侵的開發人員權杖,呼叫歸因於您應用程式的呼叫。為避免這種情況,請採取下列預防措施:
請以密碼的形式處理開發人員權杖,請勿透過不安全的機制提供資訊,例如在公開論壇張貼,或是以電子郵件附件形式傳送包含開發人員權杖的設定檔。建議您使用密鑰管理工具,例如 Google Cloud Secret Manager 或 AWS Secret Manager。
如果您的開發人員權杖遭到入侵,請務必重設權杖。
- 登入您申請 Google Ads API 時使用的 Google Ads 管理員帳戶。
- 依序前往「工具與設定」>「API 中心」。
- 按一下「開發人員權杖」旁邊的下拉式箭頭。
- 按一下「重設權杖」連結。舊的開發人員權杖應該會立即停止運作。
- 更新應用程式的實際工作環境設定,使用新的開發人員權杖。
保護服務帳戶
服務帳戶需要全網域模擬,才能搭配 Google Ads API 正確運作。此外,您必須是 Google Workspace 客戶,才能設定全網域模擬。因此,建議您在進行 Google Ads API 呼叫時,不要使用服務帳戶。不過,如果您決定使用服務帳戶,請採取下列保護方式:
請將服務帳戶金鑰和 JSON 檔案視為密碼。請盡可能使用 Google Cloud Secret Manager 或 AWS Secret Manager 等密鑰管理工具來保護密鑰。
按照 Google Cloud 提供的其他最佳做法,保護及管理您的服務帳戶。
保護使用者權杖
如果您的應用程式授權多位使用者,則您應採取額外步驟,保護使用者的重新整理和存取權杖。將符記安全地儲存靜態,切勿以純文字傳送。請使用適用於您平台的安全儲存系統。
處理更新權杖撤銷和到期時間
如果您的應用程式在授權過程中要求 OAuth 2.0 更新憑證,您必須一併處理其撤銷或到期時間。重新整理權杖可能會因各種原因而失效,而應用程式應在下次登入工作階段中重新授權使用者,或視情況清除使用者資料,以正常回應。離線工作 (例如 Cron 工作) 應偵測並記錄更新權杖已過期的帳戶,而非持續發出失敗的要求。Google 可能會監控長期產生大量錯誤的應用程式,以維持 API 伺服器的穩定性。
管理多個範圍的同意聲明
如果您的應用程式要求多個 OAuth 2.0 範圍的授權,則使用者可能不會授予您要求的所有 OAuth 範圍。應用程式應停用相關功能,以處理阻斷範圍。只有在使用者明確指出使用需要該範圍的特定功能時,才能再次提示使用者。在這種情況下,請使用漸進式授權要求適當的 OAuth 範圍。
如果應用程式的基本功能需要多個範圍,請在顯示同意聲明前,先向使用者說明這項需求。