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:
Abra una sesión de PowerShell en la máquina donde instaló la herramienta Readiness Checker.
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íaportal.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.
Declare un asunto, por ejemplo:
$subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
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:
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
Si se ha usado el parámetro
-LowPrivilege
, se ha generado un archivo .inf en el subdirectorioC:\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
Abra una sesión de PowerShell en la máquina donde instaló la herramienta Readiness Checker.
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
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
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.