本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
最佳實務
最佳實務是可協助您更有效地使用 AWS Certificate Manager(AWS Certificate Manager) 的建議。以下最佳實務是根據目前 ACM 客戶的實際體驗。
帳戶層級分離
在您的政策中使用帳戶層級分隔來控制誰可以在帳戶層級存取憑證。將生產憑證保留在與測試和開發憑證不同的帳戶中。如果您無法使用帳戶層級區隔,您可以透過拒絕政策中的kms:CreateGrant動作來限制對特定角色的存取。這會限制帳戶中哪些角色可以高階簽署憑證。如需授予的相關資訊,包括授予術語,請參閱《 AWS Key Management Service開發人員指南》中的 中的授予AWS KMS。
如果您想要更精細的控制,而不是限制kms:CreateGrant帳戶使用 ,您可以使用 kms:EncryptionContext 條件金鑰限制kms:CreateGrant為特定憑證。指定 arn:aws:acm做為金鑰,以及要限制的 ARN 值。下列範例政策可防止使用特定憑證,但允許其他憑證。
AWS CloudFormation
透過 AWS CloudFormation,您可以建立範本來描述您想要使用AWS的資源。CloudFormation然後 會為您佈建和設定這些資源。CloudFormation 可以佈建 ACM 支援的資源,例如 Elastic Load Balancing、Amazon CloudFront 和 Amazon API Gateway。如需詳細資訊,請參閱使用整合式服務的受管自動化。
如果您使用 CloudFormation快速建立和刪除多個測試環境,建議您不要為每個環境建立單獨的 ACM 憑證。這樣做會快速用盡您的憑證配額。如需詳細資訊,請參閱配額。反之,建立一個涵蓋所有用於測試之網域名稱的萬用字元憑證。例如,如果您要重複為只有版本編號不同的網域名稱建立 ACM 憑證,像是 <version>.service.example.com,則請改為 <*>.service.example.com 建立單一萬用字元憑證。
重要
如果您使用的是 Amazon CloudFront 分佈,請注意 HTTP 驗證不支援萬用字元憑證。在CloudFormation範本中包含萬用字元憑證以搭配 Amazon CloudFront 使用時,您必須使用 DNS 驗證或電子郵件驗證。我們建議對自動續約功能進行 DNS 驗證。
在CloudFormation用於建立測試環境的 範本中包含萬用字元憑證。
自訂信任存放區
為了確保連線至受 ACM 憑證保護的端點,建議您的自訂信任存放區中包含 Amazon 根
憑證關聯
憑證關聯 (有時稱為 SSL 關聯) 是一個程序,可讓您在應用程式中直接與 X.509 憑證或公開金鑰關聯遠端主機來驗證該主機,而不是使用憑證階層。因此,應用程式會使用關聯來繞過 SSL/TLS 憑證鏈驗證。典型的 SSL 驗證程序會檢查整個憑證鏈的簽章,從根憑證授權機構 (CA) 憑證到次級 CA 憑證 (如果有)。還會在階層底部檢查遠端主機的憑證。反之,您的應用程式可以關聯至遠端主機的憑證,以表示只有該憑證受信任,而不信任根憑證或任何其他憑證鏈中的憑證。您可以在開發期間將遠端主機的憑證或公開金鑰新增至應用程式。應用程式也可以在第一次連線到主機時新增憑證或金鑰。
警告
我們建議應用程式不要關聯 ACM 憑證。ACM 會執行 中的受管憑證續約 AWS Certificate Manager 以在憑證過期前自動續約 Amazon 發行的 SSL/TLS 憑證。為了續約憑證,ACM 會產生新的公私有金鑰對。如果您的應用程式關聯 ACM 憑證,而且成功使用新的公有金鑰續約憑證,則應用程式可能會無法連線到網域。
如果您決定關聯憑證,以下選項不會阻礙應用程式連線到您的網域:
-
將自己的憑證匯入 ACM,然後將應用程式關聯至匯入的憑證。ACM 不會嘗試自動續約匯入的憑證。
-
如果您使用的是公有憑證,請將應用程式釘選到所有可用的 Amazon 根憑證
。如果您使用的是私有憑證,請將您的應用程式釘選到 CA 根憑證。
網域驗證
在 Amazon 憑證授權機構 (CA) 可以為您的網站發出憑證之前,AWS Certificate Manager(ACM) 必須驗證您擁有或控制您在請求中指定的所有網域。您可以使用電子郵件或 DNS 執行驗證。如需更多詳細資訊,請參閱「AWS Certificate Manager DNS 驗證」及「AWS Certificate Manager 電子郵件驗證」。
新增或刪除網域名稱
您無法從現有 ACM 憑證新增或移除網域名稱。反之,您必須使用修訂的網域名稱清單申請新憑證。例如,如果您的憑證有五個網域名稱,而且需要新增四個網域名稱,則必須使用九個網域名稱申請新憑證。如同使用任何新憑證,您必須驗證申請中所有網域名稱的所有權,包括先前為原始憑證驗證的名稱。
如果您使用電子郵件驗證,便會針對每個網域收到多達 8 封驗證電子郵件,至少其中 1 封必須在 72 個小時內執行。例如,使用五個網域名稱申請憑證時,您會收到多達 40 個驗證訊息,至少其中 5 封必須在 72 個小時內執行。隨著憑證申請的網域名稱數量增加,使用電子郵件驗證網域所有權的必要工作也因此增加。
如果使用 DNS 驗證,則必須為您要驗證的 FQDN 寫入一個新的 DNS 記錄到資料庫。ACM 會將要建立的記錄傳送給您,然後查詢資料庫以判斷是否已新增記錄。新增記錄會宣告您擁有或控制網域。在上述範例中,如果使用五個網域名稱申請憑證,則必須建立五個 DNS 記錄。我們建議您盡可能使用 DNS 驗證。
開啟AWS CloudTrail
開始使用 ACM 之前,請先開啟 CloudTrail 記錄。CloudTrail 可讓您透過擷取帳戶的 AWSAPI 呼叫歷史記錄來監控AWS部署,包括透過 AWS管理主控台、AWSSDKsAWS Command Line Interface、 和更高層級的 Amazon Web Services 進行的 API 呼叫。您也可以找出哪些使用者和帳戶呼叫過 ACM API、發出呼叫的來源 IP 地址,以及呼叫的發生時間。您可以使用 API 將 CloudTrail 整合至應用程式,以自動建立組織的追蹤記錄、查看追蹤記錄的狀態,並控制管理員開啟和關閉 CloudTrail 記錄功能的方式。如需詳細資訊,請參閱建立追蹤記錄。前往 搭配 使用 CloudTrail AWS Certificate Manager 查看 ACM 動作的追蹤記錄範例。