本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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