Freigeben über


Generieren von Zertifikatsignierungsanforderungen für Azure Stack Hub

Sie können das Azure Stack Hub Readiness Checker-Tool verwenden, um Zertifikatsignaturanforderungen (Certificate Signing Requests, CSRs) zu erstellen, die für eine Azure Stack Hub-Bereitstellung geeignet sind, oder für die Erneuerung von Zertifikaten für eine vorhandene Bereitstellung. Es ist wichtig, Zertifikate mit ausreichender Vorlaufzeit anzufordern, zu generieren und zu überprüfen, bevor sie bereitgestellt werden.

Das Tool wird verwendet, um die folgenden Zertifikate anzufordern, basierend auf der Auswahl eines CSR-Zertifikatszenarios oben in diesem Artikel:

  • Standardzertifikate für eine neue Bereitstellung: Wählen Sie Neue Bereitstellung aus, indem Sie oben in diesem Artikel im Auswahlmenü CSR-Zertifikatsszenario auswählen.
  • Verlängerungszertifikate für eine vorhandene Bereitstellung: Wählen Sie Verlängerung aus. Nutzen Sie dabei die Informationen unter Auswählen eines CSR-Zertifikatszenarios weiter oben in diesem Artikel.
  • PaaS-Zertifikate (Platform-as-a-Service): Kann optional sowohl mit Standardzertifikaten als auch mit Erneuerungszertifikaten generiert werden. Weitere Informationen finden Sie unter Azure Stack Hub Public Key Infrastructure (PKI)-Zertifikatanforderungen – optionale PaaS-Zertifikate .

Voraussetzungen

Bevor Sie CSRs für PKI-Zertifikate für eine Azure Stack Hub-Bereitstellung generieren, muss Ihr System die folgenden Voraussetzungen erfüllen:

  • Sie müssen auf einem Computer mit Windows 10 oder höher oder Windows Server 2016 oder höher sein.

  • Installieren Sie das Azure Stack Hub-Bereitschaftsprüfungstool über eine PowerShell-Eingabeaufforderung (5.1 oder höher) mit dem folgenden Befehl:

    Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Sie benötigen die folgenden Attribute für Ihr Zertifikat:

    • Regionsname
    • Externer vollqualifizierter Domänenname (FQDN)
    • Betreff

Generieren von CSRs für neue Bereitstellungszertifikate

Hinweis

Die Erhöhung ist erforderlich, um Zertifikatsignaturanforderungen zu generieren. In eingeschränkten Umgebungen, in denen eine Erhöhung von Berechtigungen nicht möglich ist, können Sie dieses Tool verwenden, um Klartext-Templatedateien zu erstellen, die alle Informationen enthalten, die für externe Azure Stack Hub-Zertifikate erforderlich sind. Anschließend verwenden Sie diese Vorlagendateien in einer Sitzung mit erhöhten Rechten, um die Generierung des Kopplungspaars für öffentliche/private Schlüssel abzuschließen.

Führen Sie die folgenden Schritte aus, um CSRs für neue Azure Stack Hub-PKI-Zertifikate vorzubereiten:

  1. Öffnen Sie eine PowerShell-Sitzung auf dem Computer, auf dem Sie das Tool "Bereitschaftsprüfung" installiert haben.

  2. Deklarieren Sie die folgenden Variablen:

    Hinweis

    <regionName>.<externalFQDN> bildet die Grundlage, auf der alle externen DNS-Namen im Azure Stack Hub erstellt werden. Im folgenden Beispiel wäre das Portal 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
    

Generieren Sie nun die CSRs mit derselben PowerShell-Sitzung. Die Anweisungen gelten speziell für das Betreffformat , das Sie wie folgt auswählen:

Hinweis

Der erste DNS-Name des Azure Stack Hub-Diensts wird als CN-Feld für die Zertifikatanforderung konfiguriert.

  1. Deklarieren eines Betreffs; Zum Beispiel:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Generieren Sie CSRs, indem Sie eine der folgenden Aktionen ausführen:

    • Für eine Produktionsbereitstellungsumgebung generiert das erste Skript CSRs für Bereitstellungszertifikate:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
    • Das zweite Skript verwendet -IncludeContainerRegistry und generiert bei Bedarf eine CSR für azure Container Registry gleichzeitig mit CSRs für Bereitstellungszertifikate:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • Das dritte Skript generiert CSRs für alle optionalen PaaS-Dienste, die Sie installiert haben:

      # 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ügen Sie für eine Umgebung mit niedriger Berechtigung zum Generieren einer Klartext-Zertifikatvorlagendatei mit den erforderlichen Attributen den -LowPrivilege Parameter hinzu:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
      
    • Für eine Entwicklungs- und Testumgebung fügen Sie den Parameter und den -RequestType SingleCSR Wert hinzu, um eine einzelne CSR mit alternativen Mehrfachnamen zu generieren:

      Von Bedeutung

      Dieser Ansatz wird für Produktionsumgebungen nicht empfohlen.

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

Führen Sie die letzten Schritte aus:

  1. Überprüfen Sie die Ausgabe:

    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. Wenn der -LowPrivilege Parameter verwendet wurde, wurde eine INF-Datei im C:\Users\username\Documents\AzureStackCSR Unterverzeichnis generiert. Beispiel:

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

    Kopieren Sie die Datei in ein System, in dem die Berechtigungserhöhung zulässig ist, und signieren Sie dann jede Anforderung mit certreq, indem Sie die folgende Syntax verwenden: certreq -new <example.inf> <example.req>. Schließen Sie dann den Rest des Prozesses auf diesem System mit erweiterten Rechten ab, da es den Abgleich mit dem neuen Zertifikat erfordert, das von der Zertifizierungsstelle signiert ist, wobei der zugehörige private Schlüssel auf dem System mit erweiterten Rechten generiert wird.

  • Die Region ihres Systems und der externe Domänenname (FQDN) werden von der Bereitschaftsprüfung verwendet, um den Endpunkt zum Extrahieren von Attributen aus Ihren vorhandenen Zertifikaten zu ermitteln. Wenn eines der folgenden Szenarien für Ihr Szenario gilt, müssen Sie die Auswahl für ein CSR-Zertifikatszenario oben in diesem Artikel verwenden und die neue Bereitstellungsversion dieses Artikels auswählen:
    • Ändern Sie die Attribute von Zertifikaten am Endpunkt, z. B. Betreff, Schlüssellänge und Signaturalgorithmus.
    • Verwenden Sie einen Zertifikatantragsteller, der nur das gemeinsame Namensattribute enthält.
  • Bevor Sie beginnen, vergewissern Sie sich, dass Sie über HTTPS-Konnektivität für Ihr Azure Stack Hub-System verfügen.

Generieren von CSRs für Verlängerungszertifikate

In diesem Abschnitt wird die Vorbereitung von CSRs für die Erneuerung vorhandener Azure Stack Hub PKI-Zertifikate beschrieben.

CSRs generieren

  1. Öffnen Sie eine PowerShell-Sitzung auf dem Computer, auf dem Sie das Tool "Bereitschaftsprüfung" installiert haben.

  2. Deklarieren Sie die folgenden Variablen:

    Hinweis

    Die Bereitschaftsprüfung verwendet stampEndpoint eine vorangestellte Zeichenfolge, um vorhandene Zertifikate zu finden. Wird beispielsweise portal.east.azurestack.contoso.com für Bereitstellungszertifikate, sso.appservices.east.azurestack.contoso.com für App-Dienstezertifikate usw. verwendet.

    $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. Generieren Sie CSRs, indem Sie eine oder mehrere der folgenden Aktionen ausführen:

    • Für eine Produktionsumgebung generiert das erste Skript CSRs für Bereitstellungszertifikate:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • Das zweite Skript verwendet -IncludeContainerRegistry und generiert bei Bedarf eine CSR für azure Container Registry gleichzeitig mit CSRs für Bereitstellungszertifikate:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • Das dritte Skript generiert CSRs für alle optionalen PaaS-Dienste, die Sie installiert haben:

      # 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 eine Entwicklungs- und Testumgebung fügen Sie den Parameter und den -RequestType SingleCSR Wert hinzu, um eine einzelne CSR mit alternativen Mehrfachnamen zu generieren:

      Von Bedeutung

      Dieser Ansatz wird für Produktionsumgebungen nicht empfohlen.

    New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
    
  4. Überprüfen Sie die Ausgabe:

    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
    

Wenn Sie bereit sind, übermitteln Sie die generierte REQ-Datei an Ihre Zertifizierungsstelle (entweder intern oder öffentlich). Das durch die $outputDirectory Variable angegebene Verzeichnis enthält die CSRs, die an eine Zertifizierungsstelle übermittelt werden müssen. Das Verzeichnis enthält außerdem für Ihren Verweis ein untergeordnetes Verzeichnis, das die INF-Dateien enthält, die während der Zertifikatanforderungsgenerierung verwendet werden sollen. Stellen Sie sicher, dass Ihre Zertifizierungsstelle Zertifikate mithilfe einer generierten Anforderung generiert, die den Anforderungen des Azure Stack Hub PKI entspricht.

Nächste Schritte

Nachdem Sie Ihre Zertifikate von Ihrer Zertifizierungsstelle erhalten haben, führen Sie die Schritte unter Vorbereiten von Azure Stack Hub-PKI-Zertifikaten im selben System aus.