Generera begäran om certifikatsignering för Azure Stack Hub

Du använder verktyget Azure Stack Hub Readiness Checker för att skapa certifikatsigneringsbegäranden (CSR) som är lämpliga för en Azure Stack Hub-distribution eller för förnyelse av certifikat för en befintlig distribution. Det är viktigt att begära, generera och validera certifikat med tillräckligt med ledtid för att testa dem innan de distribueras.

Verktyget används för att begära följande certifikat, baserat på väljaren Välj ett CSR-certifikatscenario högst upp i den här artikeln:

  • Standardcertifikat för en ny distribution: Välj Ny distribution med hjälp av väljaren Välj ett CSR-certifikat överst i den här artikeln.
  • Förnyelsecertifikat för en befintlig distribution: Välj Förnyelse med hjälp av väljaren Välj ett CSR-certifikat överst i den här artikeln.
  • PaaS-certifikat (Platform-as-a-Service): Kan genereras med både standard- och förnyelsecertifikat. Mer information finns i Certifikatkrav för Azure Stack Hub PKI (Public Key Infrastructure) – valfria PaaS-certifikat .

Förutsättningar

Innan du genererar CSR:er för PKI-certifikat för en Azure Stack Hub-distribution måste systemet uppfylla följande krav:

  • Du måste vara på en dator med Windows 10 eller senare, eller Windows Server 2016 eller senare.
  • Installera verktyget för beredskapskontroll i Azure Stack Hub från en PowerShell-kommandotolk (5.1 eller senare) med hjälp av följande cmdlet:
         Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Du behöver följande attribut för certifikatet:
    • Regionsnamn
    • Externt fullständigt kvalificerat domännamn (FQDN)
    • Ämne

Generera csr:ar för nya distributionscertifikat

Anteckning

Utökade privilegier krävs för att generera begäranden om certifikatsignering. I begränsade miljöer där utökade privilegier inte är möjliga kan du använda det här verktyget för att generera mallfiler med klartext som innehåller all information som krävs för externa Azure Stack Hub-certifikat. Du måste sedan använda dessa mallfiler i en upphöjd session för att slutföra genereringen av offentliga/privata nyckelpar. Mer information finns nedan.

Förbered CSR:er för nya Azure Stack Hub PKI-certifikat genom att utföra följande steg:

  1. Öppna en PowerShell-session på den dator där du installerade verktyget Beredskapskontroll.

  2. Deklarera följande variabler:

    Anteckning

    <regionName>.<externalFQDN> utgör grunden för att alla externa DNS-namn i Azure Stack Hub skapas. I följande exempel skulle portalen vara 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
    

Generera nu csr:erna med samma PowerShell-session. Anvisningarna är specifika för det ämnesformat som du väljer nedan:

Anteckning

Det första DNS-namnet för Azure Stack Hub-tjänsten konfigureras som CN-fältet i certifikatbegäran.

  1. Deklarera ett ämne, till exempel:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Generera csr:ar genom att slutföra något av följande:

    • För en produktionsdistributionsmiljö genererar det första skriptet CSR:ar för distributionscertifikat:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
    • Det andra skriptet, om så önskas, använder -IncludeContainerRegistry och genererar en CSR för Azure Container Registry samtidigt som CSR:erna för distributionscertifikat:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • Det tredje skriptet genererar CSR:er för valfria PaaS-tjänster som du har installerat:

      # 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 
      
    • För en miljö med låg behörighet lägger du till parametern -LowPrivilege för att generera en certifikatmallfil med klartext med nödvändiga attribut deklarerade:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
      
    • För en utvecklings- och testmiljö lägger du till parametern -RequestType SingleCSR och värdet för att generera en enskild CSR med alternativa namn med flera certifikatutfärdare.

      Viktigt

      Vi rekommenderar inte att du använder den här metoden för produktionsmiljöer.

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

Slutför de sista stegen:

  1. Granska utdata:

    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. Om parametern -LowPrivilege användes genererades en .inf-fil i underkatalogen C:\Users\username\Documents\AzureStackCSR . Exempel:

    C:\Users\username\Documents\AzureStackCSR\Deployment_east_azurestack_contoso_com_SingleCSR_CertRequest_20200710165538_ClearTextTemplate.inf

    Kopiera filen till ett system där utökade privilegier tillåts och signera sedan varje begäran med certreq med hjälp av följande syntax: certreq -new <example.inf> <example.req>. Slutför sedan resten av processen på det upphöjda systemet eftersom det kräver att det nya certifikatet som signeras av certifikatutfärdare matchas med dess privata nyckel, som genereras i det upphöjda systemet.

  • Systemets region och externa domännamn (FQDN) används av beredskapskontrollen för att fastställa slutpunkten för att extrahera attribut från dina befintliga certifikat. Om något av följande gäller för ditt scenario måste du använda väljaren Välj ett CSR-certifikatscenario överst i den här artikeln och välja den nya distributionsversionen av den här artikeln i stället:
    • Du vill ändra attributen för certifikat vid slutpunkten, till exempel ämne, nyckellängd och signaturalgoritm.
    • Du vill använda ett certifikatämne som endast innehåller attributet eget namn.
  • Bekräfta att du har HTTPS-anslutning för Ditt Azure Stack Hub-system innan du börjar.

Generera csr:ar för förnyelsecertifikat

Det här avsnittet beskriver hur du förbereder CSR:erna för förnyelse av befintliga Azure Stack Hub PKI-certifikat.

Generera CSR:ar

  1. Öppna en PowerShell-session på den dator där du installerade verktyget Beredskapskontroll.

  2. Deklarera följande variabler:

    Anteckning

    Beredskapskontrollen använder stampEndpoint plus en förberedd sträng för att hitta befintliga certifikat. Används till exempel portal.east.azurestack.contoso.com för distributionscertifikat, sso.appservices.east.azurestack.contoso.com för App Services-certifikat osv.

    $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. Generera CSR:er genom att slutföra en eller flera av följande:

    • För en produktionsmiljö genererar det första skriptet CSR:ar för distributionscertifikat:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • Det andra skriptet, om så önskas, använder -IncludeContainerRegistry och genererar en CSR för Azure Container Registry samtidigt som CSR:erna för distributionscertifikat:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • Det tredje skriptet genererar CSR:er för valfria PaaS-tjänster som du har installerat:

      # 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 
      
    • För en utvecklings- och testmiljö lägger du till parametern -RequestType SingleCSR och värdet för att generera en enskild CSR med alternativa namn med flera certifikatutfärdare.

      Viktigt

      Vi rekommenderar inte att du använder den här metoden för produktionsmiljöer.

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
      
  4. Granska utdata:

    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
    

När du är klar skickar du den genererade .req-filen till din ca (antingen intern eller offentlig). Katalogen som anges av variabeln $outputDirectory innehåller de CSR:ar som måste skickas till en ca. Katalogen innehåller också, som referens, en underordnad katalog som innehåller de .inf-filer som ska användas vid generering av certifikatbegäran. Se till att din certifikatutfärdare genererar certifikat med hjälp av en genererad begäran som uppfyller PKI-kraven för Azure Stack Hub.

Nästa steg

När du har fått tillbaka dina certifikat från certifikatutfärdare följer du stegen i Förbereda Azure Stack Hub PKI-certifikat på samma system.