Подготовка хост-процесса для расширений в Azure Stack Hub
Хост-процесс для расширений защищает Azure Stack Hub путем уменьшения количества необходимых портов TCP/IP. В этой статье рассматривается подготовка Azure Stack Hub для хост-процесса для расширений, который автоматически включается с помощью пакета обновления Azure Stack Hub более поздней версии, чем 1808. Эта статья относится к обновлениям Azure Stack Hub 1808, 1809 и 1811.
Требования к сертификатам
Хост-процесс для расширений реализует два новых пространства имен доменов, чтобы гарантировать уникальные записи узла для каждого расширения портала. Для обеспечения безопасного обмена данными новым доменным пространствам имен требуются два дополнительных групповых сертификата.
В таблице показаны новые пространства имен и связанные с ними сертификаты:
Папка развертывания | Требуемый субъект сертификата и альтернативное имя субъекта | Область (для каждого региона) | Пространство имен поддомена |
---|---|---|---|
Хост-процесс для расширений администратора | *.adminhosting.<регион>.<fqdn> (ssl-сертификаты с подстановочными знаками) | Хост-процесс для расширений администратора | adminhosting.<регион>.<полное_доменное_имя> |
Общедоступный хост-процесс для расширений | *.Хостинг.<регион>.<fqdn> (ssl-сертификаты с подстановочными знаками) | Общедоступный хост-процесс для расширений | Хостинг.<регион>.<Полное доменное имя> |
Подробные требования к сертификатам см. в статье Требования к сертификатам инфраструктуры открытых ключей Azure Stack Hub.
Создание запроса на подпись сертификата
Инструмент проверки готовности Azure Stack Hub позволяет создать запрос на подпись сертификата для двух новых обязательных SSL-сертификатов. Выполните действия, описанные в статье Создание запросов на подписывание сертификатов для Azure Stack Hub.
Примечание
Можно пропустить этот шаг в зависимости от того, как вы запросили SSL-сертификаты.
Проверка новых сертификатов
Откройте сеанс PowerShell с повышенными правами на узле жизненного цикла аппаратного обеспечения или рабочей станции управления Azure Stack Hub.
Запустите следующий командлет, чтобы установить инструмент проверки готовности Azure Stack Hub:
Install-Module -Name Microsoft.AzureStack.ReadinessChecker
Выполните следующий сценарий, чтобы создать нужную структуру папки:
New-Item C:\Certificates -ItemType Directory $directories = 'ACSBlob','ACSQueue','ACSTable','Admin Portal','ARM Admin','ARM Public','KeyVault','KeyVaultInternal','Public Portal', 'Admin extension host', 'Public extension host' $destination = 'c:\certificates' $directories | % { New-Item -Path (Join-Path $destination $PSITEM) -ItemType Directory -Force}
Примечание
При развертывании с Microsoft Entra идентификатором Federated Services (AD FS) в $directories скрипта необходимо добавить следующие каталоги:
ADFS
,Graph
.Поместите имеющиеся сертификаты, которые вы сейчас используете в Azure Stack Hub, в соответствующие каталоги. Например, поместите сертификат ARM администратора в папку
Arm Admin
. Затем поместите только что созданные сертификаты размещения в каталогиAdmin extension host
иPublic extension host
.Чтобы запустить проверку сертификата, выполните следующий командлет:
$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Проверьте выходные данные. Все сертификаты должны пройти все проверки.
Импорт сертификатов хост-процесса для расширений
Для выполнения следующих шагов используйте компьютер, который может подключиться к привилегированной конечной точке Azure Stack Hub. Обеспечьте доступ к новым файлам сертификатов с этого компьютера.
Для выполнения следующих шагов используйте компьютер, который может подключиться к привилегированной конечной точке Azure Stack Hub. Проверьте доступ к новым файлам сертификатов с этого компьютера.
Откройте интегрированную среду сценариев PowerShell, чтобы выполнить следующие блоки сценария.
Импортируйте сертификат для конечной точки размещения администратора.
$CertPassword = read-host -AsSecureString -prompt "Certificate Password" $CloudAdminCred = Get-Credential -UserName <Privileged endpoint credentials> -Message "Enter the cloud domain credentials to access the privileged endpoint." [Byte[]]$AdminHostingCertContent = [Byte[]](Get-Content c:\certificate\myadminhostingcertificate.pfx -Encoding Byte) Invoke-Command -ComputerName <PrivilegedEndpoint computer name> ` -Credential $CloudAdminCred ` -ConfigurationName "PrivilegedEndpoint" ` -ArgumentList @($AdminHostingCertContent, $CertPassword) ` -ScriptBlock { param($AdminHostingCertContent, $CertPassword) Import-AdminHostingServiceCert $AdminHostingCertContent $certPassword }
Импортируйте сертификат для конечной точки размещения.
$CertPassword = read-host -AsSecureString -prompt "Certificate Password" $CloudAdminCred = Get-Credential -UserName <Privileged endpoint credentials> -Message "Enter the cloud domain credentials to access the privileged endpoint." [Byte[]]$HostingCertContent = [Byte[]](Get-Content c:\certificate\myhostingcertificate.pfx -Encoding Byte) Invoke-Command -ComputerName <PrivilegedEndpoint computer name> ` -Credential $CloudAdminCred ` -ConfigurationName "PrivilegedEndpoint" ` -ArgumentList @($HostingCertContent, $CertPassword) ` -ScriptBlock { param($HostingCertContent, $CertPassword) Import-UserHostingServiceCert $HostingCertContent $certPassword }
Обновление конфигурации DNS
Примечание
Этот шаг не является обязательным, если вы использовали делегирование зоны DNS для интеграции DNS. Если записи A отдельного узла были настроены для публикации конечных точек Azure Stack Hub, вам нужно создать две дополнительные записи A узла:
IP-адрес | Hostname (Имя узла) | Тип |
---|---|---|
<IP-адрес> | *. Adminhosting.<Регион>.<Полное доменное имя> | A |
<IP-адрес> | *. Хостинг.<Регион>.<Полное доменное имя> | A |
Выделенные IP-адреса можно получить с помощью привилегированной конечной точки, выполнив командлет Get-AzureStackStampInformation.
Порты и протоколы
В статье Публикация служб Azure Stack Hub в центре обработки данных описываются порты и протоколы, которым для публикации Azure Stack Hub перед развертыванием хост-процесса для расширений требуется входящая связь.
Публикация новых конечных точек
Есть две новые конечные точки, которые необходимо опубликовать через брандмауэр. Выделенные IP-адреса из пула общедоступных виртуальных IP-адресов можно получить, используя следующий код, который должен выполняться с помощью привилегированной конечной точки среды Azure Stack Hub.
# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IpOfERCSMachine>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IpOfERCSMachine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint" -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
# Obtain DNS Servers and extension host information from Azure Stack Hub Stamp Information and find the IPs for the Host Extension Endpoints
$StampInformation = Invoke-Command $PEPSession {Get-AzureStackStampInformation} | Select-Object -Property ExternalDNSIPAddress01, ExternalDNSIPAddress02, @{n="TenantHosting";e={($_.TenantExternalEndpoints.TenantHosting) -replace "https://*.","testdnsentry"-replace "/"}}, @{n="AdminHosting";e={($_.AdminExternalEndpoints.AdminHosting)-replace "https://*.","testdnsentry"-replace "/"}},@{n="TenantHostingDNS";e={($_.TenantExternalEndpoints.TenantHosting) -replace "https://",""-replace "/"}}, @{n="AdminHostingDNS";e={($_.AdminExternalEndpoints.AdminHosting)-replace "https://",""-replace "/"}}
If (Resolve-DnsName -Server $StampInformation.ExternalDNSIPAddress01 -Name $StampInformation.TenantHosting -ErrorAction SilentlyContinue) {
Write-Host "Can access AZS DNS" -ForegroundColor Green
$AdminIP = (Resolve-DnsName -Server $StampInformation.ExternalDNSIPAddress02 -Name $StampInformation.AdminHosting).IPAddress
Write-Host "The IP for the Admin Extension Host is: $($StampInformation.AdminHostingDNS) - is: $($AdminIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.AdminHostingDNS), Value: $($AdminIP)" -ForegroundColor Green
$TenantIP = (Resolve-DnsName -Server $StampInformation.ExternalDNSIPAddress01 -Name $StampInformation.TenantHosting).IPAddress
Write-Host "The IP address for the Tenant Extension Host is $($StampInformation.TenantHostingDNS) - is: $($TenantIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.TenantHostingDNS), Value: $($TenantIP)" -ForegroundColor Green
}
Else {
Write-Host "Cannot access AZS DNS" -ForegroundColor Yellow
$AdminIP = (Resolve-DnsName -Name $StampInformation.AdminHosting).IPAddress
Write-Host "The IP for the Admin Extension Host is: $($StampInformation.AdminHostingDNS) - is: $($AdminIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.AdminHostingDNS), Value: $($AdminIP)" -ForegroundColor Green
$TenantIP = (Resolve-DnsName -Name $StampInformation.TenantHosting).IPAddress
Write-Host "The IP address for the Tenant Extension Host is $($StampInformation.TenantHostingDNS) - is: $($TenantIP)" -ForegroundColor Yellow
Write-Host "The Record to be added in the DNS zone: Type A, Name: $($StampInformation.TenantHostingDNS), Value: $($TenantIP)" -ForegroundColor Green
}
Remove-PSSession -Session $PEPSession
Пример выходных данных
Can access AZS DNS
The IP for the Admin Extension Host is: *.adminhosting.\<region>.\<fqdn> - is: xxx.xxx.xxx.xxx
The Record to be added in the DNS zone: Type A, Name: *.adminhosting.\<region>.\<fqdn>, Value: xxx.xxx.xxx.xxx
The IP address for the Tenant Extension Host is *.hosting.\<region>.\<fqdn> - is: xxx.xxx.xxx.xxx
The Record to be added in the DNS zone: Type A, Name: *.hosting.\<region>.\<fqdn>, Value: xxx.xxx.xxx.xxx
Примечание
Внесите это изменение, а затем включите хост-процесс для расширений. Это обеспечит непрерывную доступность порталов Azure Stack Hub.
Конечная точка (виртуальный IP-адрес) | Протокол | порты; |
---|---|---|
Размещение администратора | HTTPS | 443 |
Hosting | HTTPS | 443 |
Обновление имеющихся правил публикации (после включения хост-процесса для расширений)
Примечание
Включение хост-процесса для расширений в пакете обновления Azure Stack Hub 1808 пока недоступно. Таким образом, вы можете подготовиться для хост-процесса для расширений, импортировав требуемые сертификаты. Порты можно закрыть только после автоматического включения хост-процесса для расширений с помощью пакета обновления Azure Stack Hub версии, вышедшей после обновления 1808.
В имеющихся правилах брандмауэра нужно закрыть следующие порты конечных точек.
Примечание
Эти порты рекомендуется закрыть после успешной проверки.
Конечная точка (виртуальный IP-адрес) | Протокол | порты; |
---|---|---|
Портал (для администратора) | HTTPS | 12495 12499 12646 12647 12648 12649 12650 13001 13003 13010 13011 13012 13020 13021 13026 30015 |
Портал (для пользователя) | HTTPS | 12495 12649 13001 13010 13011 13012 13020 13021 30015 13003 |
Azure Resource Manager (для администратора) | HTTPS | 30024 |
Azure Resource Manager (для пользователя) | HTTPS | 30024 |
Дальнейшие действия
- Ознакомьтесь со сведениями об интеграции брандмауэра.
- Ознакомьтесь со сведениями о создании запроса на подпись сертификата Azure Stack Hub.