

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

# AWS 私有 CA 最佳實務
<a name="ca-best-practices"></a>

最佳實務是可協助您 AWS 私有 CA 有效使用 的建議。下列最佳實務是以目前 AWS Certificate Manager 和 AWS 私有 CA 客戶的真實體驗為基礎。

## 記錄 CA 結構和政策
<a name="document-ca"></a>

AWS 建議記錄您操作 CA 的所有政策和實務。這可能包括：
+ CA 結構決策的理由
+ 顯示 CA 及其關係的圖表
+ CA 有效期間的政策
+ CA 繼承規劃
+ 路徑長度政策
+ 許可目錄
+ 管理控制結構的說明
+ 安全

您可以在兩份文件中擷取此資訊，稱為認證原則 (CP) 和認證實務聲明 (CPS)。如需了解擷取 CA 操作重要資訊的框架，請參閱 [RFC 3647](https://www.ietf.org/rfc/rfc3647.txt)。

## 盡可能減少根 CA 的使用
<a name="minimize-root-use"></a>

一般而言，根 CA 應僅用於發行中繼 CA 的憑證。這可以讓您透過不會造成損害的方式存放根 CA，並讓中繼 CA 執行發行終端實體憑證的日常任務。

不過，如果您組織的目前實務是直接從根 CA 發行終端實體憑證， AWS 私有 CA 可以支援此工作流程，同時改善安全性和操作控制。在此案例中發行終端實體憑證需要 IAM 許可政策，允許您的根 CA 使用終端實體憑證範本。如需 IAM 政策的資訊，請參閱 [的 Identity and Access Management (IAM) AWS 私有憑證授權單位](security-iam.md)。

**注意**  
此組態會強加可能導致操作挑戰的限制。例如，如果您的根 CA 遭到洩露或遺失，您必須建立新的根 CA，並將其分配到您環境中所有的用戶端。在完成此復原程序前，您將無法發行新的憑證。直接從根 CA 發行憑證也會讓您無法限制存取及限制從您根發行的憑證數，即使這兩種皆是管理根 CA 的最佳實務。

## 為根 CA 提供自己的 AWS 帳戶
<a name="isolate-root-account"></a>

在兩個不同的 AWS 帳戶中建立根 CA 和次級 CA 是建議的最佳實務。如此可以為您提供額外的保護，以及您根 CA 的存取控制。您可以透過將 CSR 從一個帳戶中的次級 CA 匯出，然後在不同帳戶中使用根 CA 進行簽署。這種方法的優點是您可以根據帳戶區別 CA 的控制。缺點是您無法使用 AWS 管理主控台 精靈簡化從根 CA 簽署次級 CA 的 CA 憑證的程序。

**重要**  
強烈建議您隨時存取時使用多重驗證 (MFA) AWS 私有 CA。

## 個別管理員和發行者角色
<a name="role-separation"></a>

CA 管理員角色應與只需要發行終端實體憑證的使用者分開。如果您的 CA 管理員和憑證發行者位於相同的 中 AWS 帳戶，您可以透過專門為該目的建立 IAM 使用者來限制發行者許可。

## 實作憑證的受管撤銷
<a name="managed-revocation"></a>

當憑證遭到撤銷時，受管撤銷會自動向憑證用戶端提供通知。如果憑證的密碼編譯資訊遭到洩漏或發出錯誤，您可能需要撤銷憑證。用戶端通常會拒絕接受撤銷的憑證。 為受管撤銷 AWS 私有 CA 提供兩個標準選項：線上憑證狀態通訊協定 (OCSP) 和憑證撤銷清單 (CRLs)。如需詳細資訊，請參閱[規劃您的 AWS 私有 CA 憑證撤銷方法](revocation-setup.md)。

## 開啟 AWS CloudTrail
<a name="use-cloudtrail"></a>

在建立和開始操作私有 CA 之前，請開啟 CloudTrail 記錄。使用 CloudTrail，您可以擷取帳戶的 AWS API 呼叫歷史記錄，以監控您的 AWS 部署。此歷史記錄包含從 AWS 管理主控台、 AWS SDKs AWS Command Line Interface、 和更高層級 AWS 服務的 API 呼叫。您也可以找出哪些使用者和帳戶呼叫 PCA API 操作、發出呼叫的來源 IP 地址，以及呼叫的發生時間。您可以使用 API 將 CloudTrail 整合至應用程式，以自動建立組織的追蹤記錄、查看追蹤記錄的狀態，並控制管理員開啟和關閉 CloudTrail 記錄功能的方式。如需詳細資訊，請參閱[建立追蹤記錄](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)。前往 [使用 記錄 AWS 私有憑證授權單位 API 呼叫 AWS CloudTrail](logging-using-cloudtrail-pca.md) 查看 AWS 私有 CA 操作的範例線索。

## 管理 CA 金鑰和憑證
<a name="rotate-keys"></a>

您可以透過延長私有 CA 的有效期或輪換 CA 金鑰來管理私有 CA 的生命週期。

### 延長 CA 有效期間
<a name="extend-ca-validity"></a>

您可以匯入過期日期較長的新 CA 憑證，以延長 CA 的有效期。

### 輪換 CA 金鑰
<a name="rotate-ca-key"></a>

將私有 CA 取代為新的 CA，以定期輪換 CA 金鑰。建立新的 CA 之後，請將應用程式和服務中 CA ARN 的所有參考更新為新建立的 CA ARN，並使用新的 CA 憑證更新基礎設施中的信任存放區。

**注意**  
如果您取代 CA 本身，請注意 CA 的 ARN 會變更。自動化中的硬式編碼 ARN 參考將會中斷。

## 刪除未使用的 CAs
<a name="delete-unused-ca"></a>

您可以永久刪除私有 CA。如果您不再需要 CA，或想要以具有較新私密金鑰的 CA 取代現有 CA，可執行此動作。若要安全刪除 CA，我們建議您依照 [刪除您的私有 CA](PCADeleteCA.md) 中所述的流程操作。

**注意**  
AWS 會向您收取 CA 的費用，直到 CA 刪除為止。

## 封鎖公開存取您的 CRLs
<a name="bpa-crl"></a>

AWS 私有 CA 建議在包含 CRLs儲存貯體上使用 Amazon S3 封鎖公開存取 (BPA) 功能。這可避免不必要地將私有 PKI 的詳細資訊公開給潛在的對手。BPA 是 S3 [最佳實務](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)，預設為在新儲存貯體上啟用。在某些情況下，需要額外設定。如需詳細資訊，請參閱[使用 CloudFront 啟用 S3 封鎖公開存取 (BPA)](crl-planning.md#s3-bpa)。

## Amazon EKS 應用程式最佳實務
<a name="kubernetes"></a>

使用 AWS 私有 CA 以 X.509 憑證佈建 Amazon EKS 時，請遵循《[Amazon EKS 最佳實務指南](https://aws.github.io/aws-eks-best-practices/security/docs/multitenancy/#kubernetes-as-a-service)》中的保護多租戶環境的建議。如需 AWS 私有 CA 整合 Kubernetes 的一般資訊，請參閱 [使用 保護 Kubernetes AWS 私有憑證授權單位](PcaKubernetes.md)。