View a markdown version of this page

API 金鑰的最佳實務 - Amazon Location Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

API 金鑰的最佳實務

遵循這些最佳實務來保護您的 API 金鑰並管理其生命週期。

管理 API 金鑰

API 金鑰包含純文字,可讓您存取 中的一或多個資源或 APIs AWS 帳戶。如果有人複製您的 API 金鑰,他們可以存取這些相同的資源和 APIs。若要將潛在影響降至最低,請檢閱下列最佳實務:

  • 限制 API 金鑰

    為了避免上述情況,最好限制您的 API 金鑰。建立金鑰時,您可以指定可使用金鑰的網域、Android 應用程式或 Apple 應用程式。

  • 管理 API 金鑰生命週期

    您可以建立無限期運作的 API 金鑰。不過,如果您想要建立暫時 API 金鑰、定期輪換 API 金鑰,或撤銷現有的 API 金鑰,您可以使用 API 金鑰過期

    • 您可以在建立或更新 API 金鑰時設定到期時間。

    • 當 API 金鑰達到到期時間時,金鑰會自動停用。非作用中金鑰無法再用於提出請求。

    • 您可以移除過期時間,將臨時金鑰變更為永久金鑰。

    • 您可以在停用 API 金鑰的 90 天後將其刪除。

    • 如果您嘗試停用過去七天內已使用的 API 金鑰,系統會提示您確認是否要進行變更。

    • 如果您使用的是 Amazon Location Service API 或 AWS CLI,請將 ForceUpdate 參數設定為 true,否則您會收到錯誤。

依請求原始伺服器限制 API 金鑰用量

您可以使用用戶端限制來設定 API 金鑰,以限制對特定網域或行動應用程式的存取。依網域限制時,只有在 HTTP 參考者標頭符合您提供的值時,才會授權請求。限制 Android 或 Apple 應用程式時,只有在應用程式識別符 HTTP 標頭欄位符合您提供的值時,才會授權請求。

如需詳細資訊,請參閱《Amazon Location Service API 參考》中的 ApiKeyRestrictions

Android 應用程式識別符:

  • X-Android-Package:

    Android 應用程式的唯一識別符,在應用程式的 build.gradle 檔案中定義,通常遵循反向網域格式。

    範例:

    com.mydomain.appname

  • X-Android-Cert:

    用來簽署 Android APK 之簽署憑證的 SHA-1 雜湊。

    範例:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75

Apple 應用程式識別符:

  • X-Apple-Bundle-Id :

    Apple (iOS、macOS 等) 應用程式的唯一識別符,在應用程式的 中定義Info.plist,通常遵循反向網域格式。

    範例:

    com.mydomain.appname