Compartir vía


Generación de solicitudes de firma de certificado para Azure Stack Hub

La herramienta Azure Stack Hub Readiness Checker sirve para crear solicitudes de firma de certificado (CSR) que sean adecuadas para una implementación de Azure Stack Hub, o bien para renovar certificados para una implementación existente. Es importante solicitar, generar y validar los certificados con tiempo suficiente para probarlos antes de implementarlos.

La herramienta sirve para solicitar los siguientes certificados, en función del selector Elección de un escenario de certificado CSR, situado al principio de este artículo:

  • Certificados estándar para una nueva implementación: elija Nueva implementación mediante el selector Elección de un escenario de certificado CSR que hay al principio de este artículo.
  • Certificados de renovación para una implementación existente: elija Renovación mediante el selector Elección de un escenario de certificado CSR que hay al principio de este artículo.
  • Certificados de plataforma como servicio (PaaS): opcionalmente, se pueden generar con certificados estándar y de renovación. Consulte Requisitos de certificados de la infraestructura de clave pública (PKI) de Azure Stack Hub: Certificados de PaaS opcionales para obtener más detalles.

Requisitos previos

Antes de generar solicitudes de incorporación de cambios para certificados PKI para una implementación de Azure Stack Hub, el sistema debe cumplir los siguientes requisitos previos:

  • Debe estar en una máquina con Windows 10 o una versión posterior, o bien con Windows Server 2016 o una versión posterior.
  • Instale la herramienta Azure Stack Hub Readiness Checker desde un símbolo del sistema de PowerShell (5.1 o una versión posterior) mediante el siguiente cmdlet:
         Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Necesitará los siguientes atributos para el certificado:
    • Nombre de la región
    • Nombres de dominio completos (FQDN) externos
    • Asunto

Generación de solicitudes de incorporación de cambios para nuevos certificados de implementación

Nota

La elevación es necesaria para generar solicitudes de firma de certificado. En entornos restringidos donde la elevación no sea posible, puede usar esta herramienta para generar archivos de plantilla de texto no cifrado que contengan toda la información necesaria para los certificados externos de Azure Stack Hub. Después, deberá usar esos archivos de plantilla en una sesión con privilegios elevados para finalizar la generación del par de claves pública y privada. Consulte a continuación para más información.

Para preparar las solicitudes de incorporación de cambios para nuevos certificados PKI de Azure Stack Hub, complete los pasos siguientes:

  1. Abra una sesión de PowerShell en la máquina donde instaló la herramienta Readiness Checker.

  2. Declare las siguientes variables:

    Nota

    <regionName>.<externalFQDN> constituye la base en la que se crean todos los nombres DNS externos de Azure Stack Hub. En el siguiente ejemplo, el portal sería 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
    

Ahora, genere las CSR con la misma sesión de PowerShell. Las instrucciones son específicas del formato Asunto que seleccione a continuación:

Nota

El primer nombre DNS del servicio Azure Stack Hub se configurará como el campo CN en la solicitud del certificado.

  1. Declare un asunto, por ejemplo:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Genere las CSR completando una de las siguientes opciones:

    • En el caso de un entorno de implementación de producción, el primer script generará solicitudes de incorporación de cambios para los certificados de implementación:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
    • El segundo script, si lo desea, usa -IncludeContainerRegistry y generará una CSR para Azure Container Registry al mismo tiempo que las SOLICITUDES de certificado de implementación:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • El tercer script generará solicitudes de incorporación de cambios (CSR) para cualquier servicio PaaS opcional que haya instalado:

      # 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 
      
    • Para un entorno con pocos privilegios, para generar un archivo de plantilla de certificado de texto no válido con los atributos necesarios declarados, agregue el parámetro -LowPrivilege:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
      
    • Para un entorno de desarrollo y prueba, para generar una única solicitud de firma de certificado con nombres alternativos de varios firmantes, agregue el parámetro -RequestType SingleCSR y el valor.

      Importante

      No se recomienda usar este enfoque en entornos de producción.

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

Complete los pasos finales:

  1. Revise la salida:

    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 se ha usado el parámetro -LowPrivilege, se ha generado un archivo .inf en el subdirectorio C:\Users\username\Documents\AzureStackCSR. Por ejemplo:

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

    Copie el archivo en un sistema donde se permita la elevación de privilegios y, a continuación, firme cada solicitud con certreq mediante la sintaxis siguiente: certreq -new <example.inf> <example.req>. Luego, complete el resto del proceso en ese sistema con privilegios elevados, ya que requiere que coincida el nuevo certificado firmado por la entidad de certificación con su clave privada, que se genera en el sistema con privilegios elevados.

  • Readiness Checker usará la región del sistema y el nombre de dominio externo (FQDN) para determinar el punto de conexión para extraer atributos de los certificados existentes. Si se aplica cualquiera de las siguientes opciones a su escenario, deberá usar el selector Elección de un escenario de certificado CSR que hay al principio de este artículo y elegir la versión Nueva implementación de este artículo:
    • Quiere cambiar los atributos de los certificados en el punto de conexión, como el asunto, la longitud de clave y el algoritmo de firma.
    • Quiere usar un asunto de certificado que contenga solo el atributo de nombre común.
  • Confirme que tiene conectividad HTTPS para el sistema de Azure Stack Hub antes de comenzar.

Generación de solicitudes de incorporación de cambios para certificados de renovación

En esta sección se describe la preparación de las solicitudes de incorporación de cambios para la renovación de certificados PKI de Azure Stack Hub existentes.

Generación de CSR

  1. Abra una sesión de PowerShell en la máquina donde instaló la herramienta Readiness Checker.

  2. Declare las siguientes variables:

    Nota

    Readiness Checker usa stampEndpoint y una cadena antepuesta para buscar certificados existentes. Por ejemplo, portal.east.azurestack.contoso.com se usa para los certificados de implementación, sso.appservices.east.azurestack.contoso.com se usa para los certificados de servicios de aplicaciones, 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
    
  3. Genere CSR completando una o varias de las siguientes acciones:

    • En el caso de un entorno de producción, el primer script generará solicitudes de incorporación de cambios para certificados de implementación:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • El segundo script, si lo desea, usa -IncludeContainerRegistry y generará una CSR para Azure Container Registry al mismo tiempo que las SOLICITUDES de certificado de implementación:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • El tercer script generará solicitudes de incorporación de cambios (CSR) para cualquier servicio PaaS opcional que haya instalado:

      # 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 
      
    • Para un entorno de desarrollo y prueba, para generar una única solicitud de firma de certificado con nombres alternativos de varios firmantes, agregue el parámetro -RequestType SingleCSR y el valor.

      Importante

      No se recomienda usar este enfoque en entornos de producción.

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
      
  4. Revise la salida:

    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
    

Cuando esté a punto, envíe el archivo .req generado a la entidad de certificación (puede ser interna o pública). El directorio especificado por la variable $outputDirectory contiene las solicitudes de incorporación de cambios que se deben enviar a una entidad de certificación. Asimismo, también incluye un directorio secundario que contiene los archivos .inf que se van a usar durante la generación de una solicitud de certificado, a modo de referencia. Asegúrese de que la entidad de certificación genere certificados mediante la solicitud generada que cumple los Requisitos de PKI de Azure Stack Hub.

Pasos siguientes

Cuando reciba los certificados de la entidad de certificación, siga los pasos descritos en Preparación de certificados PKI de Azure Stack Hub en el mismo sistema.