初始化叢集 - AWS CloudHSM

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

初始化叢集

完成下列主題中的步驟,以初始化 AWS CloudHSM 叢集。

注意

初始化叢集之前,請檢閱您可以用來驗證 HSM 的身分和真實性的程序。此程序為選擇性,且只能在叢集初始化前使用。將叢集初始化後,您無法使用此程序來取得您的憑證或驗證 HSM。

取得叢集 CSR

初始化叢集之前,您必須下載並簽署憑證簽署請求 (CSR),CSR 是由叢集的第一個 HSM 產生。如果您之前已依照驗證叢集的 HSM 身分中的步驟操作,則您已有 CSR,可以直接簽署。否則,請立即使用主AWS CloudHSM 控台AWS Command Line Interface (AWS CLI) 或 AWS CloudHSM API 取得 CSR。

重要

如要初始化叢集,您的信任錨點必須符合 RFC 5280 並符合下列需求:

  • 如使用 X509v3 延伸功能,則必須存在 X509v3 基本限制條件延伸。

  • 信任錨點必須是自我簽署的憑證。

  • 延伸值不得相互衝突。

取得 CSR (主控台)
  1. 請在以下位置開啟 AWS CloudHSM 主控台。 https://console.aws.amazon.com/cloudhsm/home

  2. 選取您要驗證的 HSM 叢集 ID 旁的選項按鈕。

  3. 選取動作。從下拉式功能表中,選擇初始化

  4. 如果您未完成上一個步驟來建立 HSM,請為您正在建立的 HSM 選擇一個可用區域 (AZ)。然後選取建立

  5. 當 CSR 準備好,您會看到可下載它的連結。

    在主控台下載憑證簽署要求頁 AWS CloudHSM 面。
  6. 選擇 Cluster CSR (叢集 CSR) 以下載並儲存 CSR。

取得 CSR (AWS CLI)
  • 在命令提示字元,執行下列 describe-clusters 命令,其會擷取 CSR 並將它儲存到檔案。將 <cluster ID> 取代為先前建立的叢集 ID。

    $ aws cloudhsmv2 describe-clusters --filters clusterIds=<cluster ID> \ --output text \ --query 'Clusters[].Certificates.ClusterCsr' \ > <cluster ID>_ClusterCsr.csr
若要取得企業社會責任 (AWS CloudHSM API)
  1. 傳送 DescribeClusters 要求。

  2. 擷取並儲存來自回應的 CSR。

簽署 CSR

現在,您必須建立自我簽署的簽署憑證,並使用它來簽署您的叢集 CSR。您不需要執 AWS CLI 行此步驟,而且殼層不需要與您的 AWS 帳戶建立關聯。若要簽署 CSR,您必須執行以下操作:

  1. 完成上一節 (請參閱 取得叢集 CSR)。

  2. 建立私有金鑰。

  3. 使用私有金鑰來建立簽署憑證。

  4. 簽署您的叢集 CSR。

建立私有金鑰。

注意

針對生產叢集,應使用信任的隨機來源以安全的方式建立您想建立的金鑰。我們建議您使用安全的離站和離線 HSM 或其他同等項目。安全地存放金鑰。金鑰會建立叢集的身分識別,以及您對叢集所包含的 HSM 的唯一控制權。

在開發和測試時,您可以使用任何方便的工具 (如 OpenSSL) 來建立和簽署叢集憑證。下列範例說明如何建立金鑰。在使用該金鑰建立自我簽署憑證 (請見以下) 後,您應該妥善存放它。若要登入 AWS CloudHSM 執行個體,憑證必須存在,但私密金鑰不存在。

使用下列命令來建立私有金鑰。初始化 AWS CloudHSM 叢集時,您必須使用 RSA 2048 憑證或 RSA 4096 憑證。

$ openssl genrsa -aes256 -out customerCA.key 2048 Generating RSA private key, 2048 bit long modulus ........+++ ............+++ e is 65537 (0x10001) Enter pass phrase for customerCA.key: Verifying - Enter pass phrase for customerCA.key:

使用私有金鑰來建立自我簽署憑證。

您用來建立生產叢集私有金鑰的信任硬體,也應該提供軟體工具來產生使用該金鑰的自我簽署憑證。以下範例使用 OpenSSL 和您在上個步驟中建立的私有金鑰來建立簽署憑證。憑證有效期限是 10 年 (3652 天)。請閱讀畫面上的指示,並依照提示操作。

$ openssl req -new -x509 -days 3652 -key customerCA.key -out customerCA.crt Enter pass phrase for customerCA.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:

此命令會建立名為 customerCA.crt 的憑證檔案。將此憑證放在要連線至 AWS CloudHSM 叢集的每部主機上。如果您替檔案取了其他名稱,或將其存放在主機根目錄以外的路徑,請據此編輯您的用戶端組態檔案。使用您剛建立的憑證和私有金鑰來簽署後續步驟中的叢集憑證簽署請求 (CSR)。

簽署叢集 CSR

您用來建立生產叢集私有金鑰的信任硬體,也應該提供工具來簽署使用該金鑰的 CSR。以下範例會使用 OpenSSL 來簽署叢集的 CSR。範例會使用您的私有金鑰和以及在先前步驟中建立的自我簽署憑證。

$ openssl x509 -req -days 3652 -in <cluster ID>_ClusterCsr.csr \ -CA customerCA.crt \ -CAkey customerCA.key \ -CAcreateserial \ -out <cluster ID>_CustomerHsmCertificate.crt Signature ok subject=/C=US/ST=CA/O=Cavium/OU=N3FIPS/L=SanJose/CN=HSM:<HSM identifer>:PARTN:<partition number>, for FIPS mode Getting CA Private Key Enter pass phrase for customerCA.key:

此命令會建立名為 <cluster ID>_CustomerHsmCertificate.crt 的檔案。初始化叢集時,使用這個檔案做為已簽署的憑證。

初始化叢集

使用已簽署的 HSM 憑證和簽署憑證來初始化您的叢集。您可以使用AWS CloudHSM 主控台AWS CLI、或 AWS CloudHSM API。

初始化叢集 (主控台)
  1. 請在以下位置開啟 AWS CloudHSM 主控台。 https://console.aws.amazon.com/cloudhsm/home

  2. 選取您要驗證的 HSM 叢集 ID 旁的選項按鈕。

  3. 選取動作。從下拉式功能表中,選擇初始化

  4. 如果您未完成上一個步驟來建立 HSM,請為您正在建立的 HSM 選擇一個可用區域 (AZ)。然後選取建立

  5. Download certificate signing request (下載憑證簽署請求) 頁面上,選擇 Next (下一步)。如果無法使用 Next (下一步),先選擇其中一個 CSR 或憑證連結。然後選擇下一步

  6. Sign certificate signing request (簽署憑證簽署請求) 頁面上,選擇 Next (下一步)

  7. Upload the certificates (上傳憑證) 頁面上,執行下列動作:

    1. 選擇 Cluster certificate (叢集憑證) 旁的 Upload file (上傳檔案)。然後,尋找並選取您之前簽署的 HSM 憑證。如果您已完成先前區段的步驟,請選取 <cluster ID>_CustomerHsmCertificate.crt 檔案。

    2. 選擇 Issuing certificate (發行憑證) 旁的 Upload file (上傳檔案)。然後選擇您的簽署憑證。如果您已完成先前區段的步驟,請選取 customerCA.crt 檔案。

    3. 選擇 Upload and initialize (上傳並初始化)

初始化叢集 (AWS CLI)
  • 在命令提示中,執行 initialize-cluster 命令。提供下列資訊:

    • 您先前建立之叢集的 ID。

    • 您先前簽署的 HSM 憑證。如果您已完成先前區段的步驟,它會儲存在名為 <cluster ID>_CustomerHsmCertificate.crt 的檔案中。

    • 您的簽署憑證。如果您已完成先前區段的步驟,簽署憑證會儲存在名為 customerCA.crt 的檔案中。

    $ aws cloudhsmv2 initialize-cluster --cluster-id <cluster ID> \ --signed-cert file://<cluster ID>_CustomerHsmCertificate.crt \ --trust-anchor file://customerCA.crt { "State": "INITIALIZE_IN_PROGRESS", "StateMessage": "Cluster is initializing. State will change to INITIALIZED upon completion." }
若要初始化叢集 (AWS CloudHSM API)
  • 使用下列項目傳送 InitializeCluster 請求:

    • 您先前建立之叢集的 ID。

    • 您先前簽署的 HSM 憑證。

    • 您的簽署憑證。