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 execução 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 de 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 de certificado CSR na parte superior deste artigo.
  • Certificados PaaS (plataforma como serviço): opcionalmente, podem ser gerados com certificados padrão e de renovação. Consulte os 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 a partir 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 o 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 limpo, 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 com privilégios elevados 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 as CSRs usando a mesma sessão do PowerShell. As instruções são específicas do formato Assunto que você seleciona 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:

    • Para um ambiente de implantação de produção, o primeiro script gerará CSRs para certificados de implantação, o segundo gerará CSRs para qualquer serviço de PaaS opcional que você instalou:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
      # 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
      
    • 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ários assuntos, 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 usando certreq 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 um dos seguintes se aplicar ao seu cenário, você deverá usar o seletor de 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, o segundo gerará CSRs para qualquer serviço paaS opcional que você instalou:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # App Services
      New-AzsHubAppServicesCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # DBAdapter
      New-AzsHubDBAdapterCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
      # EventHubs
      New-AzsHubEventHubsCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • Para um ambiente de desenvolvimento e teste, para gerar um único CSR com nomes alternativos de vários assuntos, 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 de sua autoridade de certificação, siga as etapas em Preparar certificados PKI do Azure Stack Hub no mesmo sistema.