API 金鑰的最佳管理做法

在應用程式中使用 API 金鑰時,請確保儲存和傳輸期間的金鑰安全無虞。公開 API 金鑰可能會導致帳戶產生非預期的費用,或資料遭到未經授權的存取。為確保 API 金鑰安全,請實作下列最佳做法。

為金鑰新增 API 金鑰限制

新增限制後,您就能限制 API 金鑰的使用方式,減少遭盜用時造成的影響。

詳情請參閱「套用 API 金鑰限制」一文。

避免使用查詢參數將 API 金鑰提供給 Google API

以查詢參數的形式將 API 金鑰提供給 API 時,API 金鑰會包含在網址中,因此透過網址掃描可能會遭竊。請改用 x-goog-api-key HTTP 標頭用戶端程式庫

刪除不需要的 API 金鑰,盡可能避免遭受攻擊

只保留目前使用的 API 金鑰,盡可能縮小攻擊面。

請勿在用戶端程式碼加入 API 金鑰,也不要將 API 金鑰提交至程式碼存放區

如果 API 金鑰以硬式編碼方式寫入原始碼,或儲存在存放區中,不肖分子就可能攔截或竊取這些金鑰。用戶端應將要求傳遞至伺服器,伺服器可以新增憑證並發出要求。

請勿在正式環境中使用授權金鑰

授權金鑰可加快開發人員探索 API 的初始體驗。 Cloud de Confiance by S3NS 對於大多數 API,我們建議您不要在正式環境中使用授權金鑰。

改為規劃遷移至更安全的替代方案,例如身分與存取權管理 (IAM) 政策和短期服務帳戶憑證,並遵循最低權限安全做法。

以下說明為何應盡快從授權金鑰遷移至更安全的做法:

  • API 金鑰會與要求一併傳送。這會增加金鑰外洩或記錄的可能性。

  • API 金鑰是持有者憑證,也就是說,如果有人竊取授權金鑰,就能使用該金鑰以服務帳戶身分進行驗證,並存取該服務帳戶可存取的資源。

  • 授權金鑰會遮蓋稽核記錄中的使用者身分。如要追蹤個別使用者的動作,請確保每位使用者都有自己的憑證。

導入強大的監控和記錄功能

Monitoring API 使用量有助於在發生未經授權的使用行為時收到警報。詳情請參閱「Cloud Monitoring 總覽」和「Cloud Logging 總覽」。

隔離 API 金鑰

為每位團隊成員提供各應用程式專屬的 API 金鑰。這有助於控管存取權、提供稽核軌跡,並降低 API 金鑰遭盜用的影響。

定期輪替 API 金鑰

定期建立新的 API 金鑰,更新應用程式以使用新的 API 金鑰,然後刪除舊金鑰。

詳情請參閱「輪替 API 金鑰」一文。

建議採用更安全的授權存取方式

如需選擇驗證方式的相關說明,請參閱「驗證方式」一文。