Создание запросов на подписи сертификатов для Azure Stack Hub
Средство проверки готовности Azure Stack Hub используется для создания запросов на подписывание сертификатов (CSR), которые подходят для развертывания Azure Stack Hub или для продления сертификатов для существующего развертывания. Важно запрашивать, создавать и проверять сертификаты заранее, чтобы протестировать их перед развертыванием.
Средство используется для запроса следующих сертификатов на основе сценария Выбор сценария сертификата CSR селектора в верхней части этой статьи:
- Стандартные сертификаты для нового развертывания: выберите Новое развертывание, используя селектор сценария Выбор сертификата CSR в верхней части этой статьи.
- Сертификаты продления для существующего развертывания: выберите Продление, используя опцию Сценарий выбора сертификата CSR в верхней части этой статьи.
- Сертификаты "платформа как услуга" (PaaS): при необходимости можно создавать как с помощью стандартных, так и для обновления сертификатов. См. требования к сертификатам инфраструктуры открытых ключей Azure Stack Hub (PKI) для сведения об обязательных и необязательных сертификатах PaaS.
Необходимые условия
Прежде чем создавать 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, выполните следующие действия.
Откройте сеанс 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. Инструкции относятся к формату темы, который вы выберете ниже.
- Тема без CN
- Тема с CN
- тема с CN только
Заметка
Первое DNS-имя службы Azure Stack Hub будет настроено в качестве поля CN в запросе сертификата.
Объявите тему, например:
$subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
Создайте CSR, выполнив одно из следующих действий:
Для среды промышленного развертывания первый скрипт создаст CSR для сертификатов развертывания:
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
Третий скрипт создаст CSR для всех необязательных служб 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
Для среды с низким уровнем привилегий, чтобы создать файл шаблона сертификата в открытом текстовом формате с заявленными атрибутами, добавьте параметр
-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.
Создание ЦС для сертификатов продления
В этом разделе рассматривается подготовка ЦС для продления существующих сертификатов PKI Azure Stack Hub.
Создание CSR
Откройте сеанс 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
Создайте CSR, выполнив одно или несколько следующих действий:
Для рабочей средыпервый скрипт создаст CSR для сертификатов развертывания:
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
Второй сценарий при желании использует
-IncludeContainerRegistry
и создаст CSR для реестра контейнеров Azure одновременно с CSR для сертификатов развертывания:New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
Третий скрипт создаст CSR для всех необязательных служб 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
, содержит запросы на сертификат, которые должны быть отправлены в удостоверяющий центр. Каталог также содержит дочерний каталог, содержащий INF-файлы, которые будут использоваться во время создания запроса сертификата. Убедитесь, что ваш Центр сертификации создает сертификаты, используя созданный запрос, соответствующий требованиям PKI Azure Stack Hub.
Дальнейшие действия
После получения сертификатов из центра сертификации выполните действия, описанные в подготовке сертификатов PKI Azure Stack Hub в той же системе.