Udostępnij przez


Generowanie żądań podpisywania certyfikatów dla usługi Azure Stack Hub

Narzędzie do sprawdzania gotowości usługi Azure Stack Hub umożliwia tworzenie żądań podpisywania certyfikatów odpowiednich do wdrożenia usługi Azure Stack Hub lub odnawiania certyfikatów dla istniejącego wdrożenia. Ważne jest, aby zażądać, wygenerować i zweryfikować certyfikaty z wystarczającą ilością czasu, aby przetestować je przed ich wdrożeniem.

Narzędzie służy do żądania następujących certyfikatów na podstawie selektora scenariusza wybierz certyfikat CSR w górnej części tego artykułu:

Wymagania wstępne

Przed wygenerowaniem żądania CSR dla certyfikatów PKI w kontekście wdrożenia Azure Stack Hub, system musi spełniać następujące wymagania wstępne:

  • Musisz być na maszynie z systemem 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:

    Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Potrzebne są następujące atrybuty certyfikatu:

    • Nazwa regionu
    • Zewnętrzna w pełni kwalifikowana nazwa domeny (FQDN)
    • Temat

Generuj CSR dla nowych certyfikatów do wdrożenia.

Uwaga / Notatka

Podniesienie poziomu uprawnień jest wymagane do generowania żądań podpisania certyfikatu. W środowiskach z ograniczeniami, w których podniesienie uprawnień jest niemoż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 użyjesz tych plików szablonów w sesji z podwyższonym poziomem uprawnień, aby zakończyć generowanie pary kluczy publicznych/prywatnych.

Aby przygotować żądania podpisu certyfikatu (CSR) dla nowych certyfikatów PKI Azure Stack Hub, wykonaj następujące kroki:

  1. Otwórz sesję programu PowerShell na maszynie, na której zainstalowano narzędzie do sprawdzania gotowości.

  2. Zadeklaruj następujące zmienne:

    Uwaga / Notatka

    <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 ma wartość 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 wybranego formatu tematu w następujący sposób:

Uwaga / Notatka

Pierwsza nazwa DNS usługi Azure Stack Hub jest skonfigurowana jako pole CN w żądaniu certyfikatu.

  1. Deklarowanie tematu; na przykład:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Wygeneruj żądania podpisania certyfikatu (CSR), wykonując jedną z następujących czynności:

    • W przypadku środowiska wdrażania produkcyjnego pierwszy skrypt generuje 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 i generuje csr dla usługi 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 generuje pliki CRS dla wszystkich zainstalowanych opcjonalnych usług 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 
      
    • W przypadku środowiska o niskim poziomie uprawnień w celu wygenerowania pliku szablonu certyfikatu w postaci zwykłego tekstu z zadeklarowanymi niezbędnymi 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

      Takie podejście nie jest zalecane w przypadku środowisk produkcyjnych.

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -RequestType SingleCSR -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      

Wykonaj ostatnie kroki:

  1. 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
    
  2. -LowPrivilege Jeśli parametr został użyty, plik inf został wygenerowany w podkataloguC:\Users\username\Documents\AzureStackCSR. 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) są używane przez moduł sprawdzania gotowości do określania punktu końcowego do wyodrębniania atrybutów z istniejących certyfikatów. Jeśli którykolwiek z poniższych elementów ma zastosowanie do danego scenariusza, należy 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:
    • Zmień atrybuty certyfikatów w punkcie końcowym, takie jak podmiot, długość klucza i algorytm podpisu.
    • Użyj 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.

Generuj CSR dla odnawiania certyfikatów

W tej sekcji opisano przygotowanie CSP na potrzeby odnawiania istniejących certyfikatów infrastruktury kluczy publicznych usługi Azure Stack Hub.

Generowanie żądań CSR

  1. Otwórz sesję programu PowerShell na maszynie, na której zainstalowano narzędzie do sprawdzania gotowości.

  2. Zadeklaruj następujące zmienne:

    Uwaga / Notatka

    Moduł sprawdzania gotowości używa stampEndpoint oraz dodanego z przodu ciągu do znajdowania istniejących certyfikatów. Na przykład portal.east.azurestack.contoso.com służy do wdrażania certyfikatów, sso.appservices.east.azurestack.contoso.com certyfikatów usług app services itd.

    $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
    
  3. Wygeneruj woluminy CRS, wykonując co najmniej jedną z następujących czynności:

    • W przypadku środowiska produkcyjnego pierwszy skrypt generuje pliki CRS dla certyfikatów wdrażania:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • Drugi skrypt, jeśli jest to wymagane, używa -IncludeContainerRegistry i generuje csr dla usługi Azure Container Registry w tym samym czasie co pliki CRS dla certyfikatów wdrażania:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • Trzeci skrypt generuje pliki CRS dla wszystkich zainstalowanych opcjonalnych usług 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 
      
    • 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

      Takie podejście nie jest zalecane w przypadku środowisk produkcyjnych.

    New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
    
  4. 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ż, dla Twojej informacji, katalog podrzędny zawierający pliki .inf, które mają być użyte 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.

Dalsze kroki

Po otrzymaniu certyfikatów z powrotem z urzędu certyfikacji wykonaj kroki opisane w artykule Przygotowywanie certyfikatów PKI usługi Azure Stack Hub w tym samym systemie.