Przygotowywanie hosta rozszerzenia w usłudze Azure Stack Hub
Host rozszerzenia zabezpiecza usługę Azure Stack Hub, zmniejszając liczbę wymaganych portów TCP/IP. W tym artykule omówiono przygotowywanie usługi Azure Stack Hub dla hosta rozszerzenia, który jest automatycznie włączony za pośrednictwem pakietu aktualizacji usługi Azure Stack Hub po aktualizacji 1808. Ten artykuł dotyczy aktualizacji usługi Azure Stack Hub 1808, 1809 i 1811.
Wymagania certyfikatu
Host rozszerzenia implementuje dwie nowe przestrzenie nazw domeny, aby zagwarantować unikatowe wpisy hosta dla każdego rozszerzenia portalu. Nowe przestrzenie nazw domeny wymagają dwóch dodatkowych certyfikatów z symbolami wieloznacznymi w celu zapewnienia bezpiecznej komunikacji.
W tabeli przedstawiono nowe przestrzenie nazw i skojarzone certyfikaty:
Folder wdrożenia | Wymagany podmiot certyfikatu i alternatywne nazwy podmiotu (SAN) | Zakres (na region) | Przestrzeń nazw poddomeny |
---|---|---|---|
host rozszerzenia Administracja | *.adminhosting.<region>.<fqdn> (certyfikaty SSL z symbolami wieloznacznymi) | host rozszerzenia Administracja | adminhosting.<region>.<Fqdn> |
Host rozszerzenia publicznego | *.Hosting.<region>.<fqdn> (certyfikaty SSL z symbolami wieloznacznymi) | Host rozszerzenia publicznego | Hosting.<region>.<Fqdn> |
Aby uzyskać szczegółowe wymagania dotyczące certyfikatów, zobacz Wymagania dotyczące certyfikatu infrastruktury kluczy publicznych usługi Azure Stack Hub.
Tworzenie żądania podpisania certyfikatu
Narzędzie do sprawdzania gotowości usługi Azure Stack Hub umożliwia utworzenie żądania podpisania certyfikatu dla dwóch nowych i wymaganych certyfikatów SSL. Wykonaj kroki opisane w artykule Generowanie żądania podpisania certyfikatów usługi Azure Stack Hub.
Uwaga
Ten krok można pominąć w zależności od sposobu żądania certyfikatów SSL.
Weryfikowanie nowych certyfikatów
Otwórz program PowerShell z podwyższonym poziomem uprawnień na hoście cyklu życia sprzętu lub stacji roboczej zarządzania usługi Azure Stack Hub.
Uruchom następujące polecenie cmdlet, aby zainstalować narzędzie do sprawdzania gotowości usługi Azure Stack Hub:
Install-Module -Name Microsoft.AzureStack.ReadinessChecker
Uruchom następujący skrypt, aby utworzyć wymaganą strukturę folderów:
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}
Uwaga
W przypadku wdrożenia za pomocą Microsoft Entra id Usług federacyjnych (AD FS) następujące katalogi muszą zostać dodane do $directories w skry skryfcie:
ADFS
,Graph
.Umieść istniejące certyfikaty, których obecnie używasz w usłudze Azure Stack Hub, w odpowiednich katalogach. Na przykład umieść certyfikat usługi ARM Administracja w folderze
Arm Admin
. Następnie umieść nowo utworzone certyfikaty hostinguAdmin extension host
w katalogach i .Public extension host
Uruchom następujące polecenie cmdlet, aby uruchomić sprawdzanie certyfikatu:
$pfxPassword = Read-Host -Prompt "Enter PFX Password" -AsSecureString Start-AzsReadinessChecker -CertificatePath c:\certificates -pfxPassword $pfxPassword -RegionName east -FQDN azurestack.contoso.com -IdentitySystem AAD
Sprawdź dane wyjściowe i czy wszystkie certyfikaty przechodzą wszystkie testy.
Importowanie certyfikatów hosta rozszerzenia
Użyj komputera, który może nawiązać połączenie z uprzywilejowanym punktem końcowym usługi Azure Stack Hub w celu wykonania następnych kroków. Upewnij się, że masz dostęp do nowych plików certyfikatów z tego komputera.
Użyj komputera, który może nawiązać połączenie z uprzywilejowanym punktem końcowym usługi Azure Stack Hub w celu wykonania następnych kroków. Upewnij się, że masz dostęp do nowych plików certyfikatów z tego komputera.
Otwórz program PowerShell ISE, aby wykonać następne bloki skryptu.
Zaimportuj certyfikat dla punktu końcowego hostingu administratora.
$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 }
Zaimportuj certyfikat dla punktu końcowego hostingu.
$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 }
Aktualizowanie konfiguracji DNS
Uwaga
Ten krok nie jest wymagany, jeśli do integracji DNS użyto delegowania strefy DNS. Jeśli pojedynczy host Rekordy A zostały skonfigurowane do publikowania punktów końcowych usługi Azure Stack Hub, należy utworzyć dwa dodatkowe rekordy hosta A:
Adres IP | Hostname (Nazwa hosta) | Typ |
---|---|---|
<Adres IP> | *. Hostowanie administracyjne.<Region>.<FQDN> | A |
<Adres IP> | *. Hosting.<Region>.<FQDN> | A |
Przydzielone adresy IP można pobrać przy użyciu uprzywilejowanego punktu końcowego, uruchamiając polecenie cmdlet Get-AzureStackStampInformation.
Porty i protokoły
Artykuł Integracja centrum danych usługi Azure Stack Hub — publikowanie punktów końcowych obejmuje porty i protokoły, które wymagają komunikacji przychodzącej w celu opublikowania usługi Azure Stack Hub przed wdrożeniem hosta rozszerzenia.
Publikowanie nowych punktów końcowych
Istnieją dwa nowe punkty końcowe wymagane do opublikowania za pośrednictwem zapory. Przydzielone adresy IP z publicznej puli adresów VIP można pobrać przy użyciu następującego kodu, który należy uruchomić z uprzywilejowanego punktu końcowego środowiska usługi 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
Przykładowe dane wyjściowe
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
Uwaga
Przed włączeniem hosta rozszerzenia wprowadź tę zmianę. Dzięki temu portale usługi Azure Stack Hub mogą być stale dostępne.
Punkt końcowy (VIP) | Protokół | Porty |
---|---|---|
hosting Administracja | HTTPS | 443 |
Hosting | HTTPS | 443 |
Aktualizowanie istniejących reguł publikowania (po włączeniu hosta rozszerzenia)
Uwaga
Pakiet aktualizacji 1808 usługi Azure Stack Hub nie włącza jeszcze hosta rozszerzeń. Umożliwia przygotowanie hosta rozszerzenia przez zaimportowanie wymaganych certyfikatów. Nie zamykaj żadnych portów przed automatycznym włączeniem hosta rozszerzenia za pośrednictwem pakietu aktualizacji usługi Azure Stack Hub po aktualizacji 1808.
Następujące istniejące porty punktu końcowego muszą być zamknięte w istniejących regułach zapory.
Uwaga
Zaleca się zamknięcie tych portów po pomyślnej weryfikacji.
Punkt końcowy (VIP) | Protokół | Porty |
---|---|---|
Portal (administrator) | HTTPS | 12495 12499 12646 12647 12648 12649 12650 13001 13003 13010 13011 13012 13020 13021 13026 30015 |
Portal (użytkownik) | HTTPS | 12495 12649 13001 13010 13011 13012 13020 13021 30015 13003 |
Azure Resource Manager (administrator) | HTTPS | 30024 |
Azure Resource Manager (użytkownik) | HTTPS | 30024 |
Następne kroki
- Dowiedz się więcej o integracji z zaporą.
- Dowiedz się więcej o generowaniu żądania podpisania certyfikatów usługi Azure Stack Hub.