Partilhar via


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

Você pode usar a ferramenta Azure Stack Hub Readiness Checker para criar solicitações de assinatura de certificado (CSRs) que são 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 suficiente para testá-los antes de serem implantados.

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

  • Certificados padrão para uma nova implantação: escolha Nova implantação usando o seletor Escolha um cenário de certificado CSR no início deste artigo.
  • Certificados de renovação para uma implantação existente: escolha de renovação usando o Escolha um cenário de certificado CSR seletor na parte superior deste artigo.
  • Certificados de plataforma como serviço (PaaS): opcionalmente, podem ser gerados 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 uma máquina com Windows 10 ou posterior, ou Windows Server 2016 ou posterior.

  • Instale a ferramenta Verificador de Preparação do Hub de Pilha do Azure a partir de um prompt do PowerShell (5.1 ou posterior) usando o seguinte comando:

    Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Você precisa dos seguintes atributos para o seu certificado:

    • Nome da região
    • FQDN (nome de domínio externo totalmente qualificado)
    • 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 onde a elevação não é possível, você pode usar essa ferramenta para gerar arquivos de modelo de texto não criptografado, que contêm todas as informações necessárias para certificados externos do Azure Stack Hub. Em seguida, use esses arquivos de modelo em uma sessão elevada para concluir a geração do par de chaves pública/privada.

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

  1. Abra uma sessão do PowerShell na máquina onde você instalou a ferramenta Verificador de Prontidã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 para o formato de assunto que você seleciona da seguinte maneira:

Observação

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

  1. Declarar um assunto; Por exemplo:

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

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

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

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • O terceiro script gera CSRs para todos os serviços PaaS opcionais 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 não criptografado 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

      Essa abordagem não é recomendada para ambientes de produção.

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

Conclua as etapas finais:

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

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

    Copie o arquivo para um sistema onde a elevação é permitida e, em seguida, 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 requer a correspondência do novo certificado assinado pela autoridade de certificação com sua chave privada, que é gerada no sistema elevado.

  • A região do sistema e o FQDN (nome de domínio externo) são usados pelo Verificador de Preparação para determinar o ponto de extremidade para extrair atributos de seus certificados existentes. Se uma das seguintes situações se aplicar ao seu cenário, você deverá usar o seletor de cenário Escolha um certificado CSR na parte superior deste artigo e selecione a Nova versão de implantação deste artigo:
    • Altere os atributos dos certificados no ponto de extremidade, como assunto, comprimento da chave e algoritmo de assinatura.
    • Use uma entidade de certificado que contenha apenas o atributo common name.
  • Antes de começar, confirme se você tem conectividade HTTPS para seu sistema Azure Stack Hub.

Gerar CSRs para certificados de renovação

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

Gerar CSRs

  1. Abra uma sessão do PowerShell na máquina onde você instalou a ferramenta Verificador de Prontidão.

  2. Declare as seguintes variáveis:

    Observação

    O Verificador de Preparação usa stampEndpoint mais uma cadeia de caracteres predefinida 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 e assim por diante.

    $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 completando uma ou mais das seguintes opções:

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

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

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • O terceiro script gera CSRs para todos os serviços PaaS opcionais 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ários assuntos, adicione o parâmetro e o -RequestType SingleCSR valor:

      Importante

      Essa abordagem não é recomendada para ambientes de produção.

    New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
    
  4. Analise 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 autoridade de certificação (interna ou pública). O diretório especificado pela variável $outputDirectory contém as CSRs que devem ser enviadas a uma autoridade de certificação. O diretório também contém, para sua referência, um diretório filho contendo os arquivos .inf a serem usados durante a geração de solicitação de certificado. Verifique se sua autoridade de certificação gera certificados usando uma solicitação gerada que atenda aos requisitos de PKI do Azure Stack Hub.

Próximos passos

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