Gerar pedidos de assinatura de certificados para o Azure Stack Hub

Utilize a ferramenta Verificador de Preparação do Azure Stack Hub para criar pedidos de assinatura de certificados (CSRs) adequados para uma implementação do Azure Stack Hub ou para renovação de certificados para uma implementação existente. É importante pedir, gerar e validar certificados com tempo de execução suficiente para testá-los antes de serem implementados.

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

  • Certificados padrão para uma nova implementação: selecione Nova implementação com o seletor Escolher um cenário de certificado CSR na parte superior deste artigo.
  • Certificados de renovação para uma implementação existente: selecione Renovação com o seletor Escolher um cenário de 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. Veja Requisitos de certificado da infraestrutura de chaves públicas (PKI) do Azure Stack Hub – certificados PaaS opcionais para obter mais detalhes.

Pré-requisitos

Antes de gerar CSRs para certificados PKI para uma implementação do Azure Stack Hub, o sistema tem de cumprir os seguintes pré-requisitos:

  • Tem de estar num computador com Windows 10 ou posterior, ou Windows Server 2016 ou posterior.
  • Instale a ferramenta verificador de Preparação do Azure Stack Hub a partir de uma linha de comandos do PowerShell (5.1 ou posterior) com o seguinte cmdlet:
         Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Precisará dos seguintes atributos para o certificado:
    • Nome da região
    • Nome de domínio completamente qualificado externo (FQDN)
    • Assunto

Gerar CSRs para novos certificados de implementação

Nota

A elevação é necessária para gerar pedidos de assinatura de certificados. Em ambientes restritos em que a elevação não é possível, pode utilizar esta ferramenta para gerar ficheiros de modelo de texto claro, que contêm todas as informações necessárias para certificados externos do Azure Stack Hub. Em seguida, tem de utilizar estes ficheiros de modelo numa sessão elevada para concluir a geração de pares de chaves públicas/privadas. Veja abaixo para obter mais detalhes.

Para preparar os CSRs para novos certificados PKI do Azure Stack Hub, conclua os seguintes passos:

  1. Abra uma sessão do PowerShell no computador onde instalou a ferramenta Verificador de Preparação.

  2. Declare as seguintes variáveis:

    Nota

    <regionName>.<externalFQDN> forma a base na qual todos os nomes DNS externos no Azure Stack Hub são criados. No exemplo seguinte, 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 com a mesma sessão do PowerShell. As instruções são específicas do formato Assunto que selecionar abaixo:

Nota

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

  1. Declare um assunto, por exemplo:

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

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

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
    • O segundo script, se assim o desejar, utiliza e -IncludeContainerRegistry irá gerar um CSR para Azure Container Registry ao mesmo tempo que os CSRs para certificados de implementação:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • O terceiro script irá gerar CSRs para quaisquer serviços PaaS opcionais que tenha 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 um ambiente de baixo privilégio, para gerar um ficheiro de modelo de certificado de texto não encriptado 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 múltiplos requerentes, adicione o parâmetro e o -RequestType SingleCSR valor.

      Importante

      Não recomendamos a utilização desta abordagem para ambientes de produção.

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

Conclua os passos finais:

  1. Reveja o resultado:

    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 tiver sido utilizado, foi gerado um ficheiro .inf 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 ficheiro para um sistema onde a elevação é permitida e, em seguida, assine cada pedido com certreq com a seguinte sintaxe: certreq -new <example.inf> <example.req>. Em seguida, conclua o resto do processo nesse sistema elevado, uma vez que requer a correspondência do novo certificado assinado pela AC com a respetiva chave privada, que é gerada no sistema elevado.

  • A região do sistema e o nome de domínio externo (FQDN) serão utilizados pelo Verificador de Preparação para determinar o ponto final para extrair atributos dos certificados existentes. Se uma das seguintes opções se aplicar ao seu cenário, tem de utilizar o seletor Escolher um cenário de certificado CSR na parte superior deste artigo e, em alternativa, escolher a Nova versão de implementação deste artigo:
    • Quer alterar os atributos dos certificados no ponto final, como o assunto, o comprimento da chave e o algoritmo de assinatura.
    • Quer utilizar um requerente de certificado que contenha apenas o atributo de nome comum.
  • Confirme que tem conectividade HTTPS para o sistema do Azure Stack Hub antes de começar.

Gerar CSRs para certificados de renovação

Esta secçã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 onde instalou a ferramenta Verificador de Preparação.

  2. Declare as seguintes variáveis:

    Nota

    O Verificador de Preparação utiliza stampEndpoint mais uma cadeia de carateres pré-end para localizar certificados existentes. Por exemplo, portal.east.azurestack.contoso.com é utilizado para certificados de implementação, sso.appservices.east.azurestack.contoso.com para certificados de serviços de aplicações, 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 ao concluir um ou mais dos seguintes procedimentos:

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

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • O segundo script, se assim o desejar, utiliza e -IncludeContainerRegistry irá gerar um CSR para Azure Container Registry ao mesmo tempo que os CSRs para certificados de implementação:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • O terceiro script irá gerar CSRs para quaisquer serviços PaaS opcionais que tenha 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 um ambiente de desenvolvimento e teste, para gerar um único CSR com nomes alternativos de múltiplos requerentes, adicione o parâmetro e o -RequestType SingleCSR valor.

      Importante

      Não recomendamos a utilização desta abordagem para ambientes de produção.

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
      
  4. Reveja o resultado:

    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, submeta o ficheiro .req gerado para a AC (interna ou pública). O diretório especificado pela $outputDirectory variável contém os CSRs que têm de ser submetidos para uma AC. O diretório também contém, para sua referência, um diretório subordinado que contém os ficheiros .inf a serem utilizados durante a geração de pedidos de certificado. Certifique-se de que a AC gera certificados com um pedido gerado que cumpre os requisitos de PKI do Azure Stack Hub.

Passos seguintes

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