Создание запросов на подписывание сертификатов для Azure Stack Hub

Средство проверки готовности Azure Stack Hub используется для создания запросов на подписывание сертификатов (CSR), которые подходят для развертывания Azure Stack Hub или для продления сертификатов для существующего развертывания. Очень важно запрашивать, создавать и проверять сертификаты с достаточным временем выполнения, чтобы протестировать их перед развертыванием.

Средство используется для запроса следующих сертификатов на основе селектора сценария выбора сценария сертификата CSR в верхней части этой статьи:

Предварительные требования

Перед созданием csR для PKI-сертификатов для развертывания Azure Stack Hub система должна соответствовать следующим предварительным требованиям:

  • Вы должны быть на компьютере с Windows 10 или более поздней версии, либо Windows Server 2016 или более поздней версии.
  • Установите средство проверки готовности Azure Stack Hub из командной строки PowerShell (5.1 или более поздней версии) с помощью следующего командлета:
         Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Для сертификата потребуются следующие атрибуты:
    • Имя региона
    • Внешнее полное доменное имя (FQDN)
    • Тема

Создание csR для новых сертификатов развертывания

Примечание

Для создания запросов на подписывание сертификата требуется повышение прав. В ограниченных средах, где повышение прав невозможно, вы можете использовать это средство для создания файлов шаблонов с четким текстом, которые содержат все сведения, необходимые для внешних сертификатов Azure Stack Hub. Затем необходимо использовать эти файлы шаблонов в сеансе с повышенными привилегиями, чтобы завершить создание пары открытого и закрытого ключей. Дополнительные сведения см. ниже.

Чтобы подготовить csR для новых PKI-сертификатов Azure Stack Hub, выполните следующие действия.

  1. Откройте сеанс PowerShell на компьютере, на котором установлен инструмент проверки готовности.

  2. Объявите следующие переменные:

    Примечание

    На основе <regionName>.<externalFQDN> создаются все внешние DNS-имена в Azure Stack Hub. В следующем примере будет использоваться 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
    

Теперь создайте csR с помощью того же сеанса PowerShell. Инструкции относятся к выбранному ниже формату темы .

Примечание

Первое DNS-имя службы Azure Stack Hub будет настроено в качестве поля CN в запросе сертификата.

  1. Объявите тему, например:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Создайте csR, выполнив одно из следующих действий:

    • Для рабочей среды развертывания первый сценарий создаст CSR для сертификатов развертывания, а второй создаст CSR для всех необязательных служб PaaS, которые вы установили:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
      # 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
      
    • Чтобы создать файл шаблона сертификата с четким текстом с необходимыми атрибутами, объявленными с низким уровнем привилегий, добавьте -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 с помощью следующего синтаксиса: certreq -new <example.inf> <example.req> Затем завершите оставшуюся часть процесса в этой системе с повышенными привилегиями, так как ему требуется сопоставить новый сертификат, подписанный центром сертификации, с закрытым ключом, который создается в системе с повышенными привилегиями.

  • Регион вашей системы и внешнее доменное имя (FQDN) будут использоваться средством проверки готовности для определения конечной точки для извлечения атрибутов из существующих сертификатов. Если одно из следующих действий относится к вашему сценарию, необходимо использовать селектор сценария выбора сценария сертификата CSR в верхней части этой статьи и выбрать новую версию развертывания этой статьи:
    • Необходимо изменить атрибуты сертификатов в конечной точке, например тему, длину ключа и алгоритм подписи.
    • Вы хотите использовать субъект сертификата, содержащий только общий атрибут имени.
  • Прежде чем начать, убедитесь, что у вас есть подключение ПО HTTPS для системы Azure Stack Hub.

Создание csR для сертификатов продления

В этом разделе рассматривается подготовка csR для продления существующих PKI-сертификатов Azure Stack Hub.

Создание 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 для сертификатов развертывания, а второй создаст CSR для всех необязательных служб PaaS, которые вы установили:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # App Services
      New-AzsHubAppServicesCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # DBAdapter
      New-AzsHubDBAdapterCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # EventHubs
      New-AzsHubEventHubsCertificateSigningRequest -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-файл в ЦС (внутренний или общедоступный). Каталог, указанный переменной $outputDirectory , содержит csR, которые необходимо отправить в ЦС. Каталог также содержит дочерний каталог, содержащий INF-файлы, которые будут использоваться во время создания запроса сертификата. Убедитесь, что ЦС создает сертификаты с помощью созданного запроса, соответствующего требованиям PKI Azure Stack Hub.

Дальнейшие действия

Получив сертификаты от центра сертификации, выполните действия, описанные в разделе "Подготовка PKI-сертификатов Azure Stack Hub " в той же системе.