Создание запросов на подписывание сертификатов для Azure Stack Hub
Средство проверки готовности Azure Stack Hub используется для создания запросов на подпись сертификатов (CSR), которые подходят для развертывания Azure Stack Hub, или для продления сертификатов для существующего развертывания. Важно запрашивать, создавать и проверять сертификаты с достаточным временем выполнения, чтобы протестировать их перед развертыванием.
Средство используется для запроса следующих сертификатов на основе селектора Выбор сценария CSR-сертификата в верхней части этой статьи:
- Стандартные сертификаты для нового развертывания. Выберите Новое развертывание с помощью селектора Выбор сценария сертификата CSR в верхней части этой статьи.
- Продление сертификатов для существующего развертывания. Выберите Продление с помощью селектора Выбор сценария csR-сертификата в верхней части этой статьи.
- Сертификаты платформы как услуги (PaaS). При необходимости можно создать как стандартные сертификаты, так и сертификаты продления. Дополнительные сведения см. в статье Требования к сертификатам инфраструктуры открытых ключей Azure Stack Hub (PKI) — необязательные сертификаты PaaS .
Предварительные требования
Перед созданием CCR для PKI-сертификатов для развертывания Azure Stack Hub система должна соответствовать следующим предварительным требованиям:
- Вы должны быть на компьютере с Windows 10 или более поздней версии, а также Windows Server 2016 или более поздней версии.
- Установите средство проверки готовности Azure Stack Hub из командной строки PowerShell (5.1 или более поздней версии) с помощью следующего командлета:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
- Для сертификата потребуются следующие атрибуты:
- Имя региона
- Внешнее полное доменное имя (FQDN)
- Тема
Создание CCR для новых сертификатов развертывания
Примечание
Для создания запросов на подпись сертификата требуется повышение прав. В средах с ограниченным доступом, где повышение прав невозможно, это средство можно использовать для создания файлов шаблонов с четким текстом, которые содержат все сведения, необходимые для внешних сертификатов Azure Stack Hub. Затем необходимо использовать эти файлы шаблонов в сеансе с повышенными привилегиями, чтобы завершить создание пары открытого и закрытого ключей. Дополнительные сведения см. ниже.
Чтобы подготовить CCR для новых PKI-сертификатов Azure Stack Hub, выполните следующие действия.
Откройте сеанс PowerShell на компьютере, где установлено средство проверки готовности.
Объявите следующие переменные:
Примечание
На основе
<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 в запросе на сертификат.
Объявите тему, например:
$subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
Создайте CCR, выполнив одно из следующих действий.
Для рабочей среды развертывания первый скрипт создаст CCR для сертификатов развертывания:
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Второй скрипт, при необходимости, использует
-IncludeContainerRegistry
и создаст CSR для Реестр контейнеров Azure одновременно с CSR для сертификатов развертывания:New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
Третий скрипт создаст CCR для всех дополнительных служб PaaS, которые вы установили:
# 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
Для среды с низким уровнем привилегий добавьте параметр , чтобы создать файл шаблона сертификата в формате clear-text с объявленными необходимыми
-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
Выполните последние шаги.
Просмотрите выходные данные:
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
Если использовался
-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.
Создание CCR для сертификатов обновления
В этом разделе рассматривается подготовка CCR для продления существующих PKI-сертификатов Azure Stack Hub.
Создание CCR
Откройте сеанс PowerShell на компьютере, где установлено средство проверки готовности.
Объявите следующие переменные:
Примечание
Средство проверки готовности использует
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
Создайте CCR, выполнив одно или несколько из следующих действий.
Для рабочей среды первый скрипт создаст CCR для сертификатов развертывания:
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
Второй скрипт, при необходимости, использует
-IncludeContainerRegistry
и создаст CSR для Реестр контейнеров Azure одновременно с CSR для сертификатов развертывания:New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
Третий скрипт создаст CCR для всех дополнительных служб PaaS, которые вы установили:
# 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
Просмотрите выходные данные:
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
, содержит CCR, которые должны быть отправлены в ЦС. Каталог также содержит дочерний каталог, содержащий INF-файлы, которые будут использоваться во время создания запроса на сертификат. Убедитесь, что ЦС создает сертификаты с помощью созданного запроса, соответствующего требованиям PKI Azure Stack Hub.
Дальнейшие действия
Получив сертификаты из центра сертификации, выполните действия, описанные в статье Подготовка PKI-сертификатов Azure Stack Hub в той же системе.