產生 Azure Stack Hub 的憑證簽署要求

您可以使用 Azure Stack Hub 整備檢查工具,建立適用於 Azure Stack Hub 部署,或現有部署憑證續約的憑證簽署要求 (CSR)。 請務必要求、產生及驗證憑證,並留下足夠的前置時間進行測試,然後才部署憑證。

此工具可用來根據本文頂端的選擇 CSR 憑證案例選取器來要求下列憑證:

  • 新部署的標準憑證:使用本文頂端的 [選擇 CSR 憑證案例] 選取器,選擇 [新增部署]。
  • 現有部署的續約憑證:使用本文頂端的 [選擇 CSR 憑證案例] 選取器,選擇 [續約]。
  • 平台即服務 (PaaS) 憑證:可以選擇性地使用標準和續約憑證來產生。 請參閱 Azure Stack Hub 公開金鑰基礎結構 (PKI) 憑證需求 - 選用的 PaaS 憑證以取得更多詳細資料。

必要條件

在為 Azure Stack Hub 部署產生 PKI 憑證的 CSR 之前,您的系統必須符合下列必要條件:

  • 您必須在具有 Windows 10 或更新版本,或 Windows Server 2016 或更新版本的電腦上操作。
  • 使用下列 Cmdlet,從 PowerShell 提示字元 (5.1 或更新版本) 安裝 Azure Stack 整備檢查工具
         Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • 您需要憑證的下列屬性:
    • 區域名稱
    • 外部完整網域名稱 (FQDN)
    • 主體

為新的部署憑證產生 CSR

注意

必須提高權限才能產生憑證簽署要求。 在無法提高權限的受限環境中,您可以使用此工具來產生純文字範本檔案,這些檔案會包含 Azure Stack Hub 外部憑證所需的所有資訊。 然後,您必須在提高權限的工作階段上使用這些範本檔案,以完成公開/私密金鑰組的產生作業。 詳細資訊請見下文。

若要為新的 Azure Stack Hub PKI 憑證準備 CSR,請完成下列步驟:

  1. 在您安裝整備檢查工具的電腦上開啟 PowerShell 工作階段。

  2. 宣告下列變數:

    注意

    <regionName>.<externalFQDN> 構成 Azure Stack Hub 中所有外部 DNS 名稱據以建立的基礎。 在下列範例中,入口網站會是 portal.east.azurestack.contoso.com

    $outputDirectory = "$ENV:USERPROFILE\Documents\AzureStackCSR" # An existing output directory
    $IdentitySystem = "AAD"                     # Use "AAD" for Azure Active Director, "ADFS" for Active Directory Federation Services
    $regionName = 'east'                        # The region name for your Azure Stack Hub deployment
    $externalFQDN = 'azurestack.contoso.com'    # The external FQDN for your Azure Stack Hub deployment
    

現在使用相同 PowerShell 工作階段產生 CSR。 這些指示是專屬於您在下列選取的 [主旨] 格式:

注意

將 Azure Stack Hub 服務的第一個 DNS 名稱設定到該憑證要求上的 CN 欄位。

  1. 宣告主旨,例如:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. 透過完成下列其中一項工作來產生 CSR:

    • 針對 生產部署環境,第一個腳本會產生部署憑證的 CSR:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
    • 如有需要,第二個腳本會使用 -IncludeContainerRegistry ,並針對部署憑證的 CSR 同時產生Azure Container Registry CSR:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • 第三個腳本會為您安裝的任何選擇性 PaaS 服務產生 CSR:

      # App Services
      New-AzsHubAppServicesCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory
      
      # DBAdapter (SQL/MySQL)
      New-AzsHubDbAdapterCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory
      
      # EventHubs
      New-AzsHubEventHubsCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory
      
      # Azure Container Registry
      New-AzsHubAzureContainerRegistryCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory 
      
    • 針對低權限環境,若要產生已宣告必要屬性的純文字憑證範本檔案,請新增 -LowPrivilege 參數:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
      
    • 針對開發和測試環境,若要產生有多個主體別名的單一 CSR,請新增 -RequestType SingleCSR 參數和值。

      重要

      我們建議在生產環境中使用此方法。

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -RequestType SingleCSR -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      

完成最後步驟:

  1. 檢閱輸出:

    Starting Certificate Request Process for Deployment
    CSR generating for following SAN(s): *.adminhosting.east.azurestack.contoso.com,*.adminvault.east.azurestack.contoso.com,*.blob.east.azurestack.contoso.com,*.hosting.east.azurestack.contoso.com,*.queue.east.azurestack.contoso.com,*.table.east.azurestack.contoso.com,*.vault.east.azurestack.contoso.com,adminmanagement.east.azurestack.contoso.com,adminportal.east.azurestack.contoso.com,management.east.azurestack.contoso.com,portal.east.azurestack.contoso.com
    Present this CSR to your Certificate Authority for Certificate Generation:  C:\Users\username\Documents\AzureStackCSR\Deployment_east_azurestack_contoso_com_SingleCSR_CertRequest_20200710165538.req
    Certreq.exe output: CertReq: Request Created
    
  2. 如果使用 -LowPrivilege 參數,則會在 C:\Users\username\Documents\AzureStackCSR 子目錄中產生 .inf 檔案。 例如:

    C:\Users\username\Documents\AzureStackCSR\Deployment_east_azurestack_contoso_com_SingleCSR_CertRequest_20200710165538_ClearTextTemplate.inf

    將該檔案複製到允許提高權限的系統,然後使用下列語法:certreq -new <example.inf> <example.req>,以 certreq 簽署每個要求。 接著在該提高權限的系統上完成其餘程序,因為其要求 CA 所簽署的新憑證必須與其私密金鑰相符,而這個私密金鑰是從提高權限的系統上所產生的。

  • 整備檢查程式將使用您系統的區域和外部網域名稱 (FQDN),來判斷從現有憑證擷取屬性的端點。 如果下列任一項適用於您的案例,您必須使用本文頂端的 [選擇 CSR 憑證案例] 選取器,並改為挑選本文的 [新部署] 版本:
    • 您想要變更端點上憑證的屬性,例如主體、金鑰長度和簽章演算法。
    • 您想要使用只包含通用名稱屬性的憑證主體。
  • 在開始之前,請先確認您有 Azure Stack Hub 系統的 HTTPS 連線能力。

產生續約憑證的 CSR

本節涵蓋 CSR 的準備,以續約現有的 Azure Stack Hub PKI 憑證。

產生 CSR

  1. 在您安裝整備檢查工具的電腦上開啟 PowerShell 工作階段。

  2. 宣告下列變數:

    注意

    整備檢查程式會使用 stampEndpoint 加上前面加上的字串來尋找現有的憑證。 例如,portal.east.azurestack.contoso.com 用於部署憑證、sso.appservices.east.azurestack.contoso.com 用於應用程式服務憑證等。

    $regionName = 'east'                                            # The region name for your Azure Stack Hub deployment
    $externalFQDN = 'azurestack.contoso.com'                        # The external FQDN for your Azure Stack Hub deployment    
    $stampEndpoint = "$regionName.$externalFQDN"
    $outputDirectory = "$ENV:USERPROFILE\Documents\AzureStackCSR"   # Declare the path to an existing output directory
    
  3. 透過完成下列一或多項工作來產生 CSR:

    • 針對 生產環境,第一個腳本會產生部署憑證的 CSR:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • 如有需要,第二個腳本會使用 -IncludeContainerRegistry ,並針對部署憑證的 CSR 同時產生Azure Container Registry CSR:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • 第三個腳本會為您安裝的任何選擇性 PaaS 服務產生 CSR:

      # App Services
      New-AzsHubAppServicesCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # DBAdapter
      New-AzsHubDBAdapterCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # EventHubs
      New-AzsHubEventHubsCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # Azure Container Registry
      New-AzsHubAzureContainerRegistryCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory 
      
    • 針對開發和測試環境,若要產生有多個主體別名的單一 CSR,請新增 -RequestType SingleCSR 參數和值。

      重要

      我們建議在生產環境中使用此方法。

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
      
  4. 檢閱輸出:

    Querying StampEndpoint portal.east.azurestack.contoso.com for existing certificate
    Starting Certificate Request Process for Deployment
    CSR generating for following SAN(s): *.adminhosting.east.azurestack.contoso.com,*.adminvault.east.azurestack.contoso.com,*.blob.east.azurestack.contoso.com,*.hosting.east.azurestack.contoso.com,*.queue.east.azurestack.contoso.com,*.table.east.azurestack.contoso.com,*.vault.east.azurestack.contoso.com,adminmanagement.east.azurestack.contoso.com,adminportal.east.azurestack.contoso.com,management.east.azurestack.contoso.com,portal.east.azurestack.contoso.com
    Present this CSR to your certificate authority for certificate generation: C:\Users\username\Documents\AzureStackCSR\Deployment_east_azurestack_contoso_com_SingleCSR_CertRequest_20200710122723.req
    Certreq.exe output: CertReq: Request Created
    

當您準備就緒後,將所產生的 .req 檔案提交至您的 CA (內部或公用)。 $outputDirectory 變數指定的目錄包含必須提交至 CA 的 CSR。 此目錄也包含一個子目錄供您參考,其中包含在產生憑證要求的期間所使用的 .inf 檔案。 請確定 CA 會使用所產生的要求 (符合 Azure Stack Hub PKI 需求) 來產生憑證。

後續步驟

一旦您從憑證授權單位收到憑證時,請在相同的系統中遵循準備 Azure Stack Hub PKI 憑證中的步驟。