API 金鑰的最佳管理做法

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

為金鑰新增 API 金鑰限制

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

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

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

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

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

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

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

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

請勿在實際工作環境中使用繫結至服務帳戶的 API 金鑰

與服務帳戶繫結的 API 金鑰,旨在加快開發人員探索 API 的初始體驗。 Google Cloud 請勿在正式環境中使用。請改為規劃遷移至更安全的替代方案,例如身分與存取權管理 (IAM) 政策和短期服務帳戶憑證,並遵循最低權限安全做法。

以下說明為何應盡快從使用繫結至服務帳戶的 API 金鑰,改用更安全的做法:

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

  • API 金鑰是持有人憑證,也就是說,如果有人竊取繫結至服務帳戶的 API 金鑰,就能使用該金鑰以服務帳戶的身分通過驗證,並存取服務帳戶可存取的資源。

  • 繫結至服務帳戶的 API 金鑰會遮蓋稽核記錄中的使用者身分。如要追蹤個別使用者的動作,請確保每位使用者都有自己的憑證。

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

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

隔離 API 金鑰

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

定期輪替 API 金鑰

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

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

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

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