Gerar solicitações de assinatura de certificado para o Azure Stack Hub

Use a ferramenta Verificador de Preparação do Azure Stack Hub para criar CSRs (solicitações de assinatura de certificado) adequadas para uma implantação do Azure Stack Hub ou para renovação de certificados para uma implantação existente. É importante solicitar, gerar e validar certificados com tempo de entrega suficiente para testá-los antes de serem implantados.

A ferramenta é usada para solicitar os seguintes certificados, com base no seletor de cenário Escolher um certificado CSR na parte superior deste artigo:

  • Certificados padrão para uma nova implantação: escolha Nova implantação usando o seletor de cenário Escolher um certificado CSR na parte superior deste artigo.
  • Certificados de renovação para uma implantação existente: escolha Renovação usando o seletor de cenário Escolher um certificado CSR na parte superior deste artigo.
  • Certificados paaS (plataforma como serviço): opcionalmente, pode ser gerado com certificados padrão e de renovação. Consulte Requisitos de certificado PKI (infraestrutura de chave pública) do Azure Stack Hub – certificados PaaS opcionais para obter mais detalhes.

Pré-requisitos

Antes de gerar CSRs para certificados PKI para uma implantação do Azure Stack Hub, seu sistema deve atender aos seguintes pré-requisitos:

  • Você deve estar em um computador com Windows 10 ou posterior ou Windows Server 2016 ou posterior.
  • Instale a ferramenta de verificador de preparação do Azure Stack Hub de um prompt do PowerShell (5.1 ou posterior) usando o seguinte cmdlet:
         Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Você precisará dos seguintes atributos para seu certificado:
    • Nome da região
    • FQDN (nome de domínio totalmente qualificado) externo
    • Assunto

Gerar CSRs para novos certificados de implantação

Observação

A elevação é necessária para gerar solicitações de assinatura de certificado. Em ambientes restritos em que a elevação não é possível, você pode usar essa ferramenta para gerar arquivos de modelo de texto claro, que contêm todas as informações necessárias para certificados externos do Azure Stack Hub. Em seguida, você precisa usar esses arquivos de modelo em uma sessão elevada para concluir a geração de pares de chaves públicas/privadas. Consulte abaixo para obter mais detalhes.

Para preparar CSRs para novos certificados PKI do Azure Stack Hub, conclua as seguintes etapas:

  1. Abra uma sessão do PowerShell no computador em que você instalou a ferramenta Verificador de Preparação.

  2. Declare as seguintes variáveis:

    Observação

    <regionName>.<externalFQDN> forma a base na qual todos os nomes DNS externos no Azure Stack Hub são criados. No exemplo a seguir, o portal seria 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
    

Agora, gere os CSRs usando a mesma sessão do PowerShell. As instruções são específicas para o formato assunto selecionado abaixo:

Observação

O primeiro nome DNS do serviço do Azure Stack Hub será configurado como o campo CN na solicitação de certificado.

  1. Declare um assunto, por exemplo:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Gere CSRs concluindo um dos seguintes procedimentos:

    • Para um ambiente de implantação de produção, o primeiro script gerará CSRs para certificados de implantação:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
    • O segundo script, se desejado, usa e -IncludeContainerRegistry gerará uma CSR para Registro de Contêiner do Azure ao mesmo tempo que as CSRs para certificados de implantação:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • O terceiro script gerará CSRs para todos os serviços opcionais de PaaS instalados:

      # 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 um ambiente de baixo privilégio, para gerar um arquivo de modelo de certificado de texto claro com os atributos necessários declarados, adicione o -LowPrivilege parâmetro :

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
      
    • Para um ambiente de desenvolvimento e teste, para gerar um único CSR com nomes alternativos de várias entidades, adicione o parâmetro e o -RequestType SingleCSR valor.

      Importante

      Não recomendamos usar essa abordagem para ambientes de produção.

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

Conclua as etapas finais:

  1. Examine a saída:

    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. Se o -LowPrivilege parâmetro foi usado, um arquivo .inf foi gerado no C:\Users\username\Documents\AzureStackCSR subdiretório. Por exemplo:

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

    Copie o arquivo para um sistema em que a elevação é permitida e assine cada solicitação com certreq usando a seguinte sintaxe: certreq -new <example.inf> <example.req>. Em seguida, conclua o restante do processo nesse sistema elevado, pois ele requer a correspondência do novo certificado assinado pela AC com sua chave privada, que é gerada no sistema elevado.

  • A região do sistema e o FQDN (nome de domínio externo) serão usados pelo Verificador de Preparação para determinar o ponto de extremidade para extrair atributos de seus certificados existentes. Se qualquer uma das opções a seguir se aplicar ao seu cenário, você deverá usar o seletor escolher um cenário de certificado CSR na parte superior deste artigo e escolher a nova versão de implantação deste artigo:
    • Você deseja alterar os atributos de certificados no ponto de extremidade, como assunto, comprimento da chave e algoritmo de assinatura.
    • Você deseja usar uma entidade de certificado que contenha apenas o atributo de nome comum.
  • Confirme se você tem conectividade HTTPS para seu sistema do Azure Stack Hub antes de começar.

Gerar CSRs para certificados de renovação

Esta seção aborda a preparação de CSRs para renovação de certificados PKI existentes do Azure Stack Hub.

Gerar CSRs

  1. Abra uma sessão do PowerShell no computador em que você instalou a ferramenta Verificador de Preparação.

  2. Declare as seguintes variáveis:

    Observação

    O Verificador de Preparação usa mais uma cadeia de caracteres stampEndpoint pré-endended para localizar certificados existentes. Por exemplo, portal.east.azurestack.contoso.com é usado para certificados de implantação, sso.appservices.east.azurestack.contoso.com para certificados de serviços de aplicativo 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. Gere CSRs concluindo um ou mais dos seguintes procedimentos:

    • Para um ambiente de produção, o primeiro script gerará CSRs para certificados de implantação:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • O segundo script, se desejado, usa e -IncludeContainerRegistry gerará uma CSR para Registro de Contêiner do Azure ao mesmo tempo que as CSRs para certificados de implantação:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • O terceiro script gerará CSRs para todos os serviços opcionais de PaaS instalados:

      # 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 um ambiente de desenvolvimento e teste, para gerar um único CSR com nomes alternativos de várias entidades, adicione o parâmetro e o -RequestType SingleCSR valor.

      Importante

      Não recomendamos usar essa abordagem para ambientes de produção.

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
      
  4. Examine a saída:

    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
    

Quando estiver pronto, envie o arquivo .req gerado para sua AC (interno ou público). O diretório especificado pela $outputDirectory variável contém as CSRs que devem ser enviadas a uma AC. O diretório também contém, para sua referência, um diretório filho que contém os arquivos .inf a serem usados durante a geração de solicitação de certificado. Certifique-se de que sua AC gere certificados usando uma solicitação gerada que atenda aos requisitos de PKI do Azure Stack Hub.

Próximas etapas

Depois de receber seus certificados de volta da autoridade de certificação, siga as etapas em Preparar certificados PKI do Azure Stack Hub no mesmo sistema.