準備 Azure Stack Hub PKI 憑證以進行部署或輪替

注意

本文僅適用於準備外部憑證,用來保護外部基礎結構和服務上的端點。 內部憑證會在憑證輪替流程期間個別管理。

注意

如果您要安裝 Azure Container Registry (ACR) ,建議您將外部 ACR 憑證的到期日與其他外部 Azure Stack Hub 憑證的到期日對齊。 此外,建議您使用您用來保護其他外部憑證 PFX 的相同密碼來保護您的 PFX for ACR。

必須使用與 Azure Stack Hub 憑證需求符合的屬性,來匯入和匯出取自憑證授權單位 (CA) 的憑證檔案。

在本文中,您將瞭解如何匯入、封裝和驗證外部憑證,以準備進行 Azure Stack Hub 部署或秘密輪替。

必要條件

在封裝 Azure Stack Hub 部署的 PKI 憑證之前,您的系統應該符合下列必要條件:

  • 從憑證授權單位單位傳回的憑證,會以 .cer 格式儲存在單一目錄中 (其他可設定的格式例如 .cert、.sst 或 .pfx)。
  • Windows 10、Windows Server 2016 或更新版本。
  • 使用產生憑證簽署要求的相同系統 (除非您將預先封裝的憑證設為 PFX 目標)。
  • 使用提升權限的 PowerShell 工作階段。

繼續進行準備憑證 (Azure Stack 整備檢查程式)準備憑證 (手動步驟) 章節的適當步驟。

準備憑證 (Azure Stack 整備檢查程式)

進行下列步驟,使用 Azure Stack 整備檢查程式的 PowerShell Cmdlet 來封裝憑證:

  1. 藉由執行下列 Cmdlet,從 PowerShell 提示字元 (5.1 或更新版本) 安裝 Azure Stack 整備檢查程式模組:

        Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  2. 指定憑證檔案的路徑。 例如:

        $Path = "$env:USERPROFILE\Documents\AzureStack"
    
  3. 宣告 pfxPassword。 例如:

        $pfxPassword = Read-Host -AsSecureString -Prompt "PFX Password"
    
  4. 宣告要將產生的 PFX 匯出至其中的 ExportPath。 例如:

        $ExportPath = "$env:USERPROFILE\Documents\AzureStack"
    
  5. 將憑證轉換為 Azure Stack Hub 憑證。 例如:

        ConvertTo-AzsPFX -Path $Path -pfxPassword $pfxPassword -ExportPath $ExportPath
    
  6. 檢閱輸出:

    ConvertTo-AzsPFX v1.2005.1286.272 started.
    
    Stage 1: Scanning Certificates
        Path: C:\Users\[*redacted*]\Documents\AzureStack Filter: CER Certificate count: 11
        adminmanagement_east_azurestack_contoso_com_CertRequest_20200710235648.cer
        adminportal_east_azurestack_contoso_com_CertRequest_20200710235645.cer
        management_east_azurestack_contoso_com_CertRequest_20200710235644.cer
        portal_east_azurestack_contoso_com_CertRequest_20200710235646.cer
        wildcard_adminhosting_east_azurestack_contoso_com_CertRequest_20200710235649.cer
        wildcard_adminvault_east_azurestack_contoso_com_CertRequest_20200710235642.cer
        wildcard_blob_east_azurestack_contoso_com_CertRequest_20200710235653.cer
        wildcard_hosting_east_azurestack_contoso_com_CertRequest_20200710235652.cer
        wildcard_queue_east_azurestack_contoso_com_CertRequest_20200710235654.cer
        wildcard_table_east_azurestack_contoso_com_CertRequest_20200710235650.cer
        wildcard_vault_east_azurestack_contoso_com_CertRequest_20200710235647.cer
    
    Detected ExternalFQDN: east.azurestack.contoso.com
    
    Stage 2: Exporting Certificates
        east.azurestack.contoso.com\Deployment\ARM Admin\ARMAdmin.pfx
        east.azurestack.contoso.com\Deployment\Admin Portal\AdminPortal.pfx
        east.azurestack.contoso.com\Deployment\ARM Public\ARMPublic.pfx
        east.azurestack.contoso.com\Deployment\Public Portal\PublicPortal.pfx
        east.azurestack.contoso.com\Deployment\Admin Extension Host\AdminExtensionHost.pfx
        east.azurestack.contoso.com\Deployment\KeyVaultInternal\KeyVaultInternal.pfx
        east.azurestack.contoso.com\Deployment\ACSBlob\ACSBlob.pfx
        east.azurestack.contoso.com\Deployment\Public Extension Host\PublicExtensionHost.pfx
        east.azurestack.contoso.com\Deployment\ACSQueue\ACSQueue.pfx
        east.azurestack.contoso.com\Deployment\ACSTable\ACSTable.pfx
        east.azurestack.contoso.com\Deployment\KeyVault\KeyVault.pfx
    
    Stage 3: Validating Certificates.
    
    Validating east.azurestack.contoso.com-Deployment-AAD certificates in C:\Users\[*redacted*]\Documents\AzureStack\east.azurestack.contoso.com\Deployment 
    
    Testing: KeyVaultInternal\KeyVaultInternal.pfx
    Thumbprint: E86699****************************4617D6
        PFX Encryption: OK
        Expiry Date: OK
        Signature Algorithm: OK
        DNS Names: OK
        Key Usage: OK
        Key Length: OK
        Parse PFX: OK
        Private Key: OK
        Cert Chain: OK
        Chain Order: OK
        Other Certificates: OK
    Testing: ARM Public\ARMPublic.pfx
        ...
    Log location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log
    ConvertTo-AzsPFX Completed
    

    注意

    如需其他使用方式,請使用 Get-help ConvertTo-AzsPFX-Full 以獲得進階使用方式,例如針對不同的憑證格式停用驗證或進行篩選。

    您可以在不需要額外步驟的情況下,為部署或輪替作業提供成功的驗證憑證。

準備憑證 (手動步驟)

針對新 Azure Stack Hub PKI 憑證,使用下列手動步驟來封裝憑證。

匯入憑證

  1. 取自您所選 CA 的原始憑證版本複製到部署主機的目錄中。

    警告

    如果已透過任何方式匯入、匯出或修改從 CA 直接提供的檔案,則請勿複製該檔案。

  2. 以滑鼠右鍵按一下憑證,然後根據從 CA 傳遞憑證的方式選取 [安裝憑證] 或 [安裝 PFX]

  3. 在 [憑證匯入精靈] 中,選取 [本機電腦] 作為匯入位置。 選取 [下一步] 。 在下列畫面上,再次選取 [下一步]。

    憑證的本機電腦匯入位置

  4. 選擇 [將所有憑證放在下列存放區中],然後選取 [企業信任] 作為位置。 選取 [確定] 以關閉 [憑證存放區選取項目] 對話方塊,然後選取 [下一步]

    設定憑證存放區以進行憑證匯入

    a. 如果您要匯入 PFX,將會看到一個額外的對話方塊。 在私密金鑰保護頁面上,輸入憑證檔案的密碼,並啟用 [將此金鑰標示為可匯出] 選項,讓您可以在稍後備份或傳輸金鑰。 選取 [下一步] 。

    將索引鍵標示為可匯出

  5. 選取 [完成] 以完成匯入。

注意

匯入 Azure Stack Hub 的憑證之後,憑證的私密金鑰會在叢集存放區上儲存為 PKCS 12 檔案 (PFX)。

匯出憑證

開啟憑證管理員 MMC 主控台並連線到本機電腦憑證存放區。

  1. 開啟 Microsoft Management Console。 若要在 Windows 10 中開啟主控台,請以滑鼠右鍵按一下 [開始] 功能表,選取 [執行],輸入 mmc 並按下 Enter。

  2. 選取 [檔案]>[新增/移除嵌入式管理單元],選取 [憑證],然後選取 [新增]。

    在 Microsoft Management Console 中新增憑證嵌入式管理單元

  3. 選取 [電腦帳戶],然後選取 [下一步]。 選取 [本機電腦],然後選取 [完成]。 選取 [確定] 以關閉 [新增/移除嵌入式管理單元] 頁面。

    在 Microsoft Management Console 中針對 [新增憑證嵌入式管理單元] 選取帳戶

  4. 瀏覽至 [憑證]>[企業信任]>[憑證位置]。 請確認在右側看到您的憑證。

  5. 從 [憑證管理員主控台] 工作列中,選取 [動作]>[所有工作]>[匯出]。 選取 [下一步] 。

    注意

    視您有多少個 Azure Stack Hub 憑證而定,可能需要多次才能完成此程序。

  6. 選取 [是,匯出私密金鑰],並選取 [下一步]。

  7. 在 [匯出檔案格式] 區段中:

    • 選取 [如果可能的話,包含憑證路徑中所有的憑證]

    • 選取 [匯出所有延伸屬性]

    • 選取 [啟用憑證隱私權]

    • 選取 [下一步] 。

      選項已選取的憑證匯出精靈

  8. 選取 [密碼] 並提供憑證的密碼。 建立符合下列密碼複雜性需求的密碼:

    • 長度至少要有八個字元。
    • 至少有下列其中三個字元:大寫字母、小寫字母、0 到 9 的數字、特殊字元,大寫和小寫字母以外的字母字元。

    記下此密碼。 您會將其作為部署參數。

  9. 選取 [下一步] 。

  10. 選擇要匯出之 PFX 檔案的檔案名稱和位置。 選取 [下一步] 。

  11. 選取 [完成] 。

後續步驟

驗證 PKI 憑證