Partilhar via


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

Você usa 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 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 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, você precisa usar esses arquivos de modelo em uma sessão elevada para concluir a geração do par de chaves pública/privada. Veja abaixo mais detalhes.

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 Assunto que você seleciona abaixo:

Observação

O primeiro nome DNS do serviço 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 preenchendo 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 o -IncludeContainerRegistry e gerará um CSR para o Registo de Contentores do Azure, ao mesmo tempo que gera CSRs para os 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 PaaS opcionais que você instalou:

      # 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 com poucos privilégios, para gerar um ficheiro de modelo de certificado em texto claro com os atributos necessários declarados, adicione o seguinte parâmetro -LowPrivilege:

      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 -RequestType SingleCSR e o 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. 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 seu sistema e o nome de domínio externo (FQDN) serão usados pelo Verificador de Prontidão para determinar o ponto de extremidade para extrair atributos dos seus certificados existentes. Se uma das seguintes situações se aplicar ao seu caso, deve usar o seletor de Escolha um certificado CSR na parte superior deste artigo e escolher a versão de Novo desenvolvimento deste artigo:
    • Você deseja alterar os atributos dos certificados no ponto de extremidade, como assunto, comprimento da chave e algoritmo de assinatura.
    • Você deseja usar um sujeito de certificado que contenha apenas o atributo de nome comum.
  • Confirme se você tem conectividade HTTPS para seu sistema 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 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, 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 completando uma ou mais das seguintes opções:

    • 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, caso desejado, usa o -IncludeContainerRegistry e gerará um CSR para o Registo de Contentores do Azure ao mesmo tempo que CSRs para certificados de implantação.

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

      # 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 -RequestType SingleCSR e o valor.

      Importante

      Não recomendamos usar essa abordagem 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. Certifique-se de que a sua autoridade de certificação gere certificados utilizando um pedido gerado que cumpra os 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.