Generowanie żądań podpisania certyfikatów dla usługi Azure Stack Hub
Narzędzie do sprawdzania gotowości usługi Azure Stack Hub służy do tworzenia żądań podpisywania certyfikatów (CRS), które są odpowiednie do wdrożenia usługi Azure Stack Hub, lub do odnawiania certyfikatów dla istniejącego wdrożenia. Ważne jest, aby zażądać, wygenerować i zweryfikować certyfikaty z wystarczającą ilością czasu realizacji, aby je przetestować przed ich wdrożeniem.
Narzędzie służy do żądania następujących certyfikatów na podstawie selektora scenariusza scenariusza CSR w górnej części tego artykułu:
- Certyfikaty standardowe dla nowego wdrożenia: wybierz pozycję Nowe wdrożenie przy użyciu selektora wybierz selektor scenariusza certyfikatu CSR w górnej części tego artykułu.
- Odnawianie certyfikatów dla istniejącego wdrożenia: wybierz pozycję Odnawianie przy użyciu selektora scenariusza scenariusza CSR w górnej części tego artykułu.
- Certyfikaty Typu platforma jako usługa (PaaS): opcjonalnie można wygenerować przy użyciu certyfikatów standardowych i odnawianych. Aby uzyskać więcej informacji, zobacz Wymagania dotyczące certyfikatów infrastruktury kluczy publicznych (PKI) usługi Azure Stack Hub — opcjonalne certyfikaty PaaS .
Wymagania wstępne
Przed wygenerowaniem żądania ściągnięcia dla certyfikatów PKI dla wdrożenia usługi Azure Stack Hub system musi spełniać następujące wymagania wstępne:
- Musisz być na maszynie z Windows 10 lub nowszym albo Windows Server 2016 lub nowszym.
- Zainstaluj narzędzie do sprawdzania gotowości usługi Azure Stack Hub z poziomu wiersza polecenia programu PowerShell (5.1 lub nowszego) przy użyciu następującego polecenia cmdlet:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
- Certyfikat musi mieć następujące atrybuty:
- Nazwa regionu
- Zewnętrzna w pełni kwalifikowana nazwa domeny (FQDN)
- Temat
Generowanie certyfikatów CRS dla nowych certyfikatów wdrażania
Uwaga
Podniesienie uprawnień jest wymagane do generowania żądań podpisania certyfikatu. W środowiskach z ograniczeniami, w których podniesienie uprawnień nie jest możliwe, można użyć tego narzędzia do generowania plików szablonów w postaci zwykłego tekstu, które zawierają wszystkie informacje wymagane dla certyfikatów zewnętrznych usługi Azure Stack Hub. Następnie należy użyć tych plików szablonów w sesji z podwyższonym poziomem uprawnień, aby zakończyć generowanie pary kluczy publicznych/prywatnych. Aby uzyskać więcej informacji, zobacz poniżej.
Aby przygotować żądania ściągnięcia do nowych certyfikatów infrastruktury kluczy publicznych usługi Azure Stack Hub, wykonaj następujące kroki:
Otwórz sesję programu PowerShell na maszynie, na której zainstalowano narzędzie sprawdzania gotowości.
Zadeklaruj następujące zmienne:
Uwaga
<regionName>.<externalFQDN>
tworzy podstawę, na podstawie której są tworzone wszystkie zewnętrzne nazwy DNS w usłudze Azure Stack Hub. W poniższym przykładzie portal będzie następujący: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
Teraz wygeneruj pliki CRS przy użyciu tej samej sesji programu PowerShell. Instrukcje są specyficzne dla formatu tematu wybranego poniżej:
Uwaga
Pierwsza nazwa DNS usługi Azure Stack Hub zostanie skonfigurowana jako pole CN w żądaniu certyfikatu.
Zadeklaruj temat, na przykład:
$subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
Wygeneruj pliki CRS, wykonując jedną z następujących czynności:
W przypadku środowiska wdrożenia produkcyjnego pierwszy skrypt wygeneruje pliki CRS dla certyfikatów wdrażania:
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Drugi skrypt, jeśli jest to wymagane, używa
-IncludeContainerRegistry
elementu i wygeneruje żądanie CSR dla Azure Container Registry w tym samym czasie co pliki CRS dla certyfikatów wdrażania:New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
Trzeci skrypt wygeneruje pliki CRS dla wszystkich opcjonalnych usług PaaS, które zostały zainstalowane:
# 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
Aby w przypadku środowiska o niskim poziomie uprawnień wygenerować plik szablonu certyfikatu w postaci zwykłego tekstu z zadeklarowanymi wymaganymi atrybutami, dodaj
-LowPrivilege
parametr :New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
W przypadku środowiska programistycznego i testowego w celu wygenerowania pojedynczego żądania CSR z alternatywnymi nazwami wielu podmiotów dodaj
-RequestType SingleCSR
parametr i wartość.Ważne
Nie zalecamy używania tej metody w środowiskach produkcyjnych.
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -RequestType SingleCSR -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Wykonaj ostatnie kroki:
Przejrzyj dane wyjściowe:
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
Jeśli użyto parametru
-LowPrivilege
, plik inf został wygenerowany w podkataloguC:\Users\username\Documents\AzureStackCSR
. Na przykład:C:\Users\username\Documents\AzureStackCSR\Deployment_east_azurestack_contoso_com_SingleCSR_CertRequest_20200710165538_ClearTextTemplate.inf
Skopiuj plik do systemu, w którym jest dozwolone podniesienie uprawnień, a następnie podpisz każde żądanie
certreq
przy użyciu następującej składni:certreq -new <example.inf> <example.req>
. Następnie ukończ resztę procesu w tym systemie z podwyższonym poziomem uprawnień, ponieważ wymaga dopasowania nowego certyfikatu podpisanego przez urząd certyfikacji z jego kluczem prywatnym, który jest generowany w systemie z podwyższonym poziomem uprawnień.
- Region systemu i nazwa domeny zewnętrznej (FQDN) będą używane przez kontroler gotowości do określenia punktu końcowego wyodrębniania atrybutów z istniejących certyfikatów. Jeśli którykolwiek z poniższych rozwiązań ma zastosowanie do danego scenariusza, musisz użyć selektora wybierz selektor scenariusza certyfikatu CSR w górnej części tego artykułu, a następnie wybierz wersję nowego wdrożenia tego artykułu:
- Chcesz zmienić atrybuty certyfikatów w punkcie końcowym, takie jak podmiot, długość klucza i algorytm podpisu.
- Chcesz użyć podmiotu certyfikatu, który zawiera tylko atrybut nazwy pospolitej.
- Przed rozpoczęciem upewnij się, że masz łączność HTTPS dla systemu Usługi Azure Stack Hub.
Generowanie certyfikatów CRS na potrzeby odnawiania certyfikatów
W tej sekcji opisano przygotowanie żądania ściągnięcia do odnowienia istniejących certyfikatów infrastruktury kluczy publicznych usługi Azure Stack Hub.
Generowanie reguł CRS
Otwórz sesję programu PowerShell na maszynie, na której zainstalowano narzędzie sprawdzania gotowości.
Zadeklaruj następujące zmienne:
Uwaga
Moduł sprawdzania gotowości używa
stampEndpoint
ciągu plus prepended do znajdowania istniejących certyfikatów. Na przykładportal.east.azurestack.contoso.com
służy do wdrażania certyfikatów,sso.appservices.east.azurestack.contoso.com
certyfikatów usług app services itp.$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
Wygeneruj pliki CRS, wykonując co najmniej jedną z następujących czynności:
W środowisku produkcyjnym pierwszy skrypt wygeneruje pliki CRS dla certyfikatów wdrażania:
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
Drugi skrypt, jeśli jest to wymagane, używa
-IncludeContainerRegistry
elementu i wygeneruje żądanie CSR dla Azure Container Registry w tym samym czasie co pliki CRS dla certyfikatów wdrażania:New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
Trzeci skrypt wygeneruje pliki CRS dla wszystkich opcjonalnych usług PaaS, które zostały zainstalowane:
# 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
W przypadku środowiska programistycznego i testowego w celu wygenerowania pojedynczego żądania CSR z alternatywnymi nazwami wielu podmiotów dodaj
-RequestType SingleCSR
parametr i wartość.Ważne
Nie zalecamy używania tej metody w środowiskach produkcyjnych.
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
Przejrzyj dane wyjściowe:
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
Gdy wszystko będzie gotowe, prześlij wygenerowany plik req do urzędu certyfikacji (wewnętrzny lub publiczny). Katalog określony przez zmienną $outputDirectory
zawiera żądania CRS, które muszą zostać przesłane do urzędu certyfikacji. Katalog zawiera również katalog podrzędny zawierający pliki inf do użycia podczas generowania żądania certyfikatu. Upewnij się, że urząd certyfikacji generuje certyfikaty przy użyciu wygenerowanego żądania spełniającego wymagania infrastruktury kluczy publicznych usługi Azure Stack Hub.
Następne kroki
Po powrocie certyfikatów z urzędu certyfikacji wykonaj kroki opisane w temacie Przygotowywanie certyfikatów infrastruktury kluczy publicznych usługi Azure Stack Hub w tym samym systemie.