Partager via


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 de certificats pour un déploiement existant. Il est important de demander, générer et valider des certificats avec suffisamment de temps de temps pour les tester avant leur déploiement.

L’outil est utilisé pour demander les certificats suivants, en fonction du sélecteur de scénario choisir un certificat CSR en haut de cet article :

  • Certificats standard pour un nouveau déploiement : choisissez nouveau déploiement à l’aide du sélecteur de scénario choisir un certificat CSR en haut de cet article.
  • Certificats de renouvellement pour un déploiement existant : choisissez Renouvellement à l’aide du sélecteur de scénario Choisir un certificat CSR en haut de cet article.
  • Certificats PaaS (Platform-as-a-service) : peut éventuellement être généré avec des certificats standard et de renouvellement. Pour plus d’informations, consultez les exigences de certificat d’infrastructure à clé publique (PKI) Azure Stack Hub - Certificats PaaS facultatifs .

Conditions préalables

Avant de générer des CSR pour les certificats PKI pour un déploiement Azure Stack Hub, votre système doit respecter les conditions préalables suivantes :

  • Vous devez être sur une machine avec Windows 10 ou version ultérieure, ou Windows Server 2016 ou version ultérieure.

  • Installez l’outil de vérification de préparation Azure Stack Hub à partir d’une invite PowerShell (5.1 ou version ultérieure) à l’aide de la commande suivante :

    Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Vous avez besoin des attributs suivants pour votre certificat :

    • Nom de la région
    • Nom de domaine pleinement qualifié externe (FQDN)
    • Sujet

Générer des CSR pour les nouveaux certificats de déploiement

Remarque

L’é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 de modèle de texte clair, qui contiennent toutes les informations requises pour les certificats externes Azure Stack Hub. Vous utilisez ensuite ces fichiers de modèle sur une session avec élévation de privilèges pour terminer la génération de paire de clés publique/privée.

Pour préparer des CSR pour les nouveaux certificats PKI Azure Stack Hub, procédez comme suit :

  1. Ouvrez une session PowerShell sur l’ordinateur où vous avez installé l’outil Readiness Checker.

  2. Déclarez les variables suivantes :

    Remarque

    <regionName>.<externalFQDN> forme la base sur laquelle tous les noms DNS externes dans Azure Stack Hub sont créés. Dans l’exemple suivant, le portail serait 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
    

Générez maintenant les CSR à l’aide de la même session PowerShell. Les instructions sont spécifiques au format Objet que vous sélectionnez comme suit :

Remarque

Le premier nom DNS du service Azure Stack Hub est configuré en tant que champ CN sur la demande de certificat.

  1. Déclarer un objet ; par exemple:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Générez des CSR en effectuant l’une des opérations suivantes :

    • Pour un environnement de déploiement de production, le premier script génère des CSR 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 demande de signature de certification 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 CSR 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 un environnement à privilèges faibles, pour générer un fichier de modèle de certificat en texte clair avec les attributs nécessaires déclarés, ajoutez le -LowPrivilege paramètre :

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
      
    • Pour un environnement de développement et de test, pour générer une demande de signature de certificat unique avec des noms alternatifs à plusieurs sujets, ajoutez le paramètre et la -RequestType SingleCSR valeur :

      Importante

      Cette approche n’est pas recommandée pour les environnements de production.

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

Effectuez les dernières étapes :

  1. 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
    
  2. Si le -LowPrivilege paramètre a été utilisé, un fichier .inf a été généré dans le C:\Users\username\Documents\AzureStackCSR sous-répertoire. Par exemple:

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

    Copiez le fichier dans un système où l’élévation est autorisée, puis signez chaque requête avec certreq en utilisant la syntaxe suivante : certreq -new <example.inf> <example.req>. Terminez ensuite le reste du processus sur ce système avec élévation de privilèges, car il nécessite la mise en 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 avec élévation de privilèges.

  • La région et le nom de domaine externe de votre système sont utilisés par le Vérificateur de préparation pour déterminer le point de terminaison pour 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 de scénario Choisir un certificat CSR en haut de cet article, puis sélectionner la nouvelle version de déploiement de cet article :
    • Modifiez les attributs des certificats au niveau du point de terminaison, tels que l’objet, la longueur de clé et l’algorithme de signature.
    • Utilisez 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 décrit la préparation des CSR pour le renouvellement des certificats PKI Azure Stack Hub existants.

Générer des CSR

  1. Ouvrez une session PowerShell sur l’ordinateur où vous avez installé l’outil Readiness Checker.

  2. Déclarez les variables suivantes :

    Remarque

    Le vérificateur de préparation utilise stampEndpoint plus une chaîne prédéfinie pour rechercher des certificats existants. Par exemple, portal.east.azurestack.contoso.com il est utilisé pour les certificats de déploiement, sso.appservices.east.azurestack.contoso.com pour les certificats App Services, et ainsi de suite.

    $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. Générez des CSR en effectuant une ou plusieurs des opérations suivantes :

    • Pour un environnement de production, le premier script génère des CSR 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 demande de signature de certification 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 CSR 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 
      
    • Pour un environnement de développement et de test, pour générer une demande de signature de certificat unique avec des noms alternatifs à plusieurs sujets, ajoutez le paramètre et la -RequestType SingleCSR valeur :

      Importante

      Cette approche n’est pas recommandée pour les environnements de production.

    New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
    
  4. 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
    

Lorsque 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 $outputDirectory variable contient les CSR qui doivent être soumis à une autorité de certification. Le répertoire contient également, pour votre référence, un répertoire enfant contenant les fichiers .inf à utiliser pendant la génération de demande de certificat. Assurez-vous que votre autorité de certification génère des certificats à l’aide d’une requête générée qui répond aux exigences d’Infrastructure à clé publique Azure Stack Hub.

Étapes suivantes

Une fois que vous avez reçu vos certificats de votre autorité de certification, suivez les étapes de préparation des certificats PKI Azure Stack Hub sur le même système.