Générer des demandes de signature de certificat pour Azure Stack Hub
Vous pouvez utiliser l’outil Azure Stack Hub Readiness Checker pour créer des demandes de signature de certificat (CSR) adaptées à un déploiement Azure Stack Hub, ou pour le renouvellement des certificats d’un déploiement existant. Il est important de demander, de générer et de valider des certificats en prévoyant un délai suffisant pour les tester avant leur déploiement.
L’outil permet de demander les certificats suivants, en fonction du sélecteur Choisir un scénario de certificat CSR au début de cet article :
- Certificats standard pour un nouveau déploiement : choisissez Nouveau déploiement à l’aide du sélecteur Choisir un scénario de certificat CSR au début de cet article.
- Certificats de renouvellement pour un nouveau déploiement : choisissez Renouvellement à l’aide du sélecteur Choisir un scénario de certificat CSR au début de cet article.
- Certificats PaaS : peuvent être générés avec des certificats standard et des certificats de renouvellement. Pour plus d’informations, consultez Conditions requises pour les certificats de l’infrastructure à clé publique (PKI) Azure Stack Hub - Certificats PaaS facultatifs.
Prérequis
Avant de générer des CSR pour les certificats PKI dans le cadre d’un déploiement Azure Stack Hub, votre système doit respecter les prérequis suivants :
- Vous devez utiliser une machine avec Windows 10 ou version ultérieure, ou Windows Server 2016 ou version ultérieure.
- Installez l’outil Azure Stack Hub Readiness Checker à partir d’une invite PowerShell (5.1 ou version ultérieure) en exécutant l’applet de commande suivante :
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
- Vous aurez besoin des attributs suivants pour votre certificat :
- Nom de la région
- Nom de domaine pleinement qualifié externe (FQDN)
- Objet
Générer des CSR pour les nouveaux certificats de déploiement
Notes
Une élévation est nécessaire pour générer des demandes de signature de certificat. Dans les environnements restreints où l’élévation n’est pas possible, vous pouvez utiliser cet outil pour générer des fichiers modèles en texte clair, qui contiennent toutes les informations nécessaires pour les certificats externes Azure Stack Hub. Vous devez ensuite utiliser ces fichiers modèles sur une session avec élévation de privilèges pour terminer la génération de la paire de clés publique/privée. Vous trouverez plus de détails à la suite.
Si vous souhaitez préparer les CSR pour les nouveaux certificats PKI Azure Stack Hub, effectuez les étapes suivantes :
Ouvrez une session PowerShell sur la machine où vous avez installé l’outil Readiness Checker.
Déclarez les variables suivantes :
Notes
<regionName>.<externalFQDN>
constitue la base sur laquelle tous les noms DNS externes dans Azure Stack Hub sont créés. Dans cet exemple, le portail estportal.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
Générez maintenant les CSR à l’aide de la même session PowerShell. Les instructions sont propres au format de l’objet que vous sélectionnez ci-dessous :
Notes
Le premier nom DNS du service Azure Stack Hub sera configuré en tant que champ CN pour la demande de certificat.
Déclarez un objet, par exemple :
$subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
Générez les CSR en effectuant l’une des tâches suivantes :
Pour un environnement de déploiement de production, le premier script génère des RSC pour les certificats de déploiement :
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Le deuxième script, si vous le souhaitez, utilise et
-IncludeContainerRegistry
génère une CSR pour Azure Container Registry en même temps que les CSR pour les certificats de déploiement :New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
Le troisième script génère des RSC pour tous les services PaaS facultatifs que vous avez installés :
# 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
Pour les environnements à faibles privilèges, vous pouvez également générer un fichier modèle de certificat en texte clair avec les attributs nécessaires déclarés en ajoutant le paramètre
-LowPrivilege
:New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
Dans un environnement de développement et de test, pour générer un seul CSR avec plusieurs noms d’objets, ajoutez le paramètre et la valeur
-RequestType SingleCSR
.Important
Nous vous déconseillons d’utiliser cette approche pour les environnements de production.
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -RequestType SingleCSR -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Effectuez les étapes finales :
Passez en revue la sortie :
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
Si le paramètre
-LowPrivilege
a été utilisé, un fichier .inf a été généré dans le sous-répertoireC:\Users\username\Documents\AzureStackCSR
. Par exemple :C:\Users\username\Documents\AzureStackCSR\Deployment_east_azurestack_contoso_com_SingleCSR_CertRequest_20200710165538_ClearTextTemplate.inf
Copiez le fichier sur un système où l’élévation est autorisée, puis signez chaque demande avec
certreq
en utilisant la syntaxe suivante :certreq -new <example.inf> <example.req>
. Ensuite, effectuez le reste du processus sur ce système élevé, car il nécessite la correspondance du nouveau certificat signé par l’autorité de certification avec sa clé privée, qui est générée sur le système élevé.
- La région de votre système et le nom de domaine externe (FQDN) sont utilisés par Readiness Checker pour déterminer le point de terminaison à partir duquel extraire les attributs de vos certificats existants. Si l’un des éléments suivants s’applique à votre scénario, vous devez utiliser le sélecteur Choisir un scénario de certificat CSR au début de cet article, puis choisir la version Nouveau déploiement de cet article à la place :
- Vous souhaitez modifier les attributs des certificats au niveau du point de terminaison, comme l’objet, la longueur de la clé et l’algorithme de signature.
- Vous souhaitez utiliser un objet de certificat qui contient uniquement l’attribut de nom commun.
- Avant de commencer, vérifiez que vous disposez d’une connectivité HTTPS pour votre système Azure Stack Hub.
Générer des CSR pour les certificats de renouvellement
Cette section traite de la préparation des CSR pour le renouvellement des certificats PKI Azure Stack Hub existants.
Générer des CSR
Ouvrez une session PowerShell sur la machine où vous avez installé l’outil Readiness Checker.
Déclarez les variables suivantes :
Notes
Readiness Checker utilise
stampEndpoint
ainsi qu’une chaîne préfixée pour rechercher des certificats existants. Par exemple,portal.east.azurestack.contoso.com
est utilisé pour les certificats de déploiement,sso.appservices.east.azurestack.contoso.com
pour les certificats App Services, etc.$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
Générez les CSR en effectuant une ou plusieurs des tâches suivantes :
Pour un environnement de production, le premier script génère des RSC pour les certificats de déploiement :
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
Le deuxième script, si vous le souhaitez, utilise et
-IncludeContainerRegistry
génère une CSR pour Azure Container Registry en même temps que les CSR pour les certificats de déploiement :New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
Le troisième script génère des RSC pour tous les services PaaS facultatifs que vous avez installés :
# 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
Dans un environnement de développement et de test, pour générer un seul CSR avec plusieurs noms d’objets, ajoutez le paramètre et la valeur
-RequestType SingleCSR
.Important
Nous vous déconseillons d’utiliser cette approche pour les environnements de production.
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
Passez en revue la sortie :
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
Quand vous êtes prêt, envoyez le fichier .req généré à votre autorité de certification (interne ou publique). Le répertoire spécifié par la variable $outputDirectory
contient les CSR qui doivent être soumis à une autorité de certification. Ce répertoire contient également, pour votre information, un répertoire enfant contenant les fichiers .inf utilisés pendant la génération de demande de certificat. Assurez-vous que votre autorité de certification génère des certificats en utilisant une requête générée conforme aux exigences PKI d’Azure Stack Hub.
Étapes suivantes
Après avoir reçu vos certificats de la part de votre autorité de certification, vous devrez procéder aux étapes décrites dans Préparer des certificats PKI Azure Stack Hub sur le même système.