Generieren von Zertifikatsignieranforderungen für Azure Stack Hub
Sie können mit dem Azure Stack Hub-Tool zur Bereitschaftsprüfung (Readiness Checker) Zertifikatsignieranforderungen (CSRs) erstellen, die für eine Azure Stack Hub-Bereitstellung oder die Verlängerung der Zertifikate einer vorhandenen Bereitstellung geeignet sind. Es ist wichtig, Zertifikate mit ausreichend Vorlaufzeit anzufordern, zu generieren und zu überprüfen, um sie vor der Bereitstellung testen zu können.
Das Tool wird verwendet, um die folgenden Zertifikate basierend auf Auswählen eines CSR-Zertifikatszenarios oben in diesem Artikel anzufordern:
- Standardzertifikate für eine neue Bereitstellung: Wählen Sie Neue Bereitstellung aus. Nutzen Sie dabei die Informationen unter Auswählen eines CSR-Zertifikatszenarios weiter oben in diesem Artikel.
- 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): können optional sowohl mit Standard- als auch mit Verlängerungszertifikaten generiert werden. Weitere Informationen finden Sie unter Azure Stack Hub-PKI-Zertifikatanforderungen (Public Key-Infrastruktur): optionale PaaS-Zertifikate.
Voraussetzungen
Bevor Sie Zertifikatsignieranforderungen 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 bzw. Windows Server 2016 oder höher arbeiten.
- Führen Sie an einer PowerShell-Eingabeaufforderung (5.1 oder höher) das folgende Cmdlet aus, um das Azure Stack Hub-Tool zur Bereitschaftsprüfung (Readiness Checker) zu installieren:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
- Sie benötigen die folgenden Attribute für Ihr Zertifikat:
- Regionsname
- Externer vollqualifizierter Domänenname (FQDN)
- Subject
Generieren von CSRs für neue Bereitstellungszertifikate
Hinweis
Rechteerweiterungen sind erforderlich, um Zertifikatsignieranforderungen zu generieren. In eingeschränkten Umgebungen, in denen Rechteerweiterungen nicht möglich sind, können Sie dieses Tool verwenden, um Klartextvorlagendateien mit allen Informationen zu generieren, die für externe Azure Stack Hub-Zertifikate erforderlich sind. Anschließend müssen Sie diese Vorlagendateien in einer Sitzung mit erhöhten Rechten verwenden, um die Generierung des öffentlichen/privaten Schlüsselpaars abzuschließen. Weitere Informationen finden Sie unten.
Führen Sie die folgenden Schritte aus, um CSRs für neue PKI-Zertifikate für Azure Stack Hub vorzubereiten:
Öffnen Sie eine PowerShell-Sitzung auf dem Computer, auf dem Sie das Tool zur Bereitschaftsprüfung installiert haben.
Deklarieren Sie die folgenden Variablen:
Hinweis
<regionName>.<externalFQDN>
bildet die Grundlage für die Erstellung aller externen DNS-Namen in Azure Stack Hub. Im folgenden Beispiel heißt das Portalportal.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 in derselben PowerShell-Sitzung. Die Anweisungen sind spezifisch für das Format des Antragstellers, das Sie unten auswählen:
Hinweis
Für die Zertifikatanforderung wird in der Zertifikatanforderung der erste DNS-Name des Azure Stack Hub-Diensts im Feld „CN“ konfiguriert.
Deklarieren Sie einen Antragsteller, z. B.:
$subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
Generieren Sie CSRs, indem Sie einen der folgenden Schritte durchfü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 bei Bedarf das
-IncludeContainerRegistry
und generiert 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 Umgebungen mit geringen Rechten den Parameter
-LowPrivilege
hinzu, um eine Klartext-Zertifikatvorlagendatei mit den erforderlichen deklarierten Attributen zu generieren:New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
Fügen Sie für Entwicklungs- und Testumgebungen den Parameter und Wert von
-RequestType SingleCSR
hinzu, um eine einzelne Zertifikatsignieranforderung mit alternativen Namen mit mehreren Antragstellern zu generieren.Wichtig
Es wird nicht empfohlen, diesen Ansatz für Produktionsumgebungen zu verwenden.
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -RequestType SingleCSR -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Führen Sie die letzten Schritte aus:
Ü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
Wenn der Parameter
-LowPrivilege
verwendet wurde, wurde eine INF-Datei im UnterverzeichnisC:\Users\username\Documents\AzureStackCSR
generiert. Zum 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 Rechteerweiterung 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 restlichen Prozess in diesem System dann mit erhöhten Rechten ab, da es hierfür erforderlich ist, das von der Zertifizierungsstelle signierte neue Zertifikat dem privaten Schlüssel zuzuordnen, der im System mit Rechteerweiterung generiert wird.
- Die Region und der Name der externen Domäne (FQDN) Ihres Systems werden bei der Bereitschaftsprüfung verwendet, um den Endpunkt zum Extrahieren von Attributen aus Ihren vorhandenen Zertifikaten zu ermitteln. Wenn eine der folgenden Bedingungen für Ihr Szenario gilt, wählen Sie stattdessen mithilfe der Informationen unter Auswählen eines CSR-Zertifikatszenarios weiter oben in diesem Artikel die Version von Neue Bereitstellung für diesen Artikel aus:
- Sie möchten die Attribute von Zertifikaten am Endpunkt ändern, z. B. Antragsteller, Schlüssellänge und Signaturalgorithmus.
- Sie möchten einen Antragsteller für das Zertifikat verwenden, der nur das CN-Attribut enthält.
- Vergewissern Sie sich vorab, 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 finden Sie Informationen zum Vorbereiten von CSRs für die Verlängerung bestehender Azure Stack Hub-PKI-Zertifikate.
Generieren von CSRs
Öffnen Sie eine PowerShell-Sitzung auf dem Computer, auf dem Sie das Tool zur Bereitschaftsprüfung installiert haben.
Deklarieren Sie die folgenden Variablen:
Hinweis
Die Bereitschaftsprüfung verwendet
stampEndpoint
eine vorangestellte Zeichenfolge, um vorhandene Zertifikate zu finden.portal.east.azurestack.contoso.com
wird beispielsweise für Bereitstellungszertifikate,sso.appservices.east.azurestack.contoso.com
für App-Dienstzertifikate 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
Generieren Sie CSRs, indem Sie einen oder mehrere der folgenden Schritte durchführen:
Für eine Produktionsumgebung generiert das erste Skript CSRs für Bereitstellungszertifikate:
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
Das zweite Skript verwendet bei Bedarf das
-IncludeContainerRegistry
und generiert 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ügen Sie für Entwicklungs- und Testumgebungen den Parameter und Wert von
-RequestType SingleCSR
hinzu, um eine einzelne Zertifikatsignieranforderung mit alternativen Namen mit mehreren Antragstellern zu generieren.Wichtig
Es wird nicht empfohlen, diesen Ansatz für Produktionsumgebungen zu verwenden.
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
Ü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
Übermitteln Sie, wenn Sie fertig sind, die generierte REQ-Datei an Ihre (interne oder öffentliche) Zertifizierungsstelle. Das durch die $outputDirectory
-Variable angegebene Verzeichnis enthält die CSRs, die an eine Zertifizierungsstelle übermittelt werden müssen. Das Verzeichnis enthält zu Ihrer Referenz auch ein Unterverzeichnis, das die bei der Generierung von Zertifikatanforderungen verwendeten INF-Dateien enthält. Vergewissern Sie sich, dass Ihre Zertifizierungsstelle Zertifikate mit Ihrer generierten Anforderung erstellt, die die Azure Stack Hub-PKI-Voraussetzungen erfüllen.
Nächste Schritte
Nachdem Sie Ihre Zertifikate von Ihrer Zertifizierungsstelle erhalten haben, befolgen Sie auf demselben System die Schritte unter Vorbereiten von Azure Stack Hub-PKI-Zertifikaten.