Generování žádostí o podepsání certifikátů pro službu Azure Stack Hub

Nástroj Azure Stack Hub Readiness Checker můžete použít k vytvoření žádostí o podepsání certifikátů (CDR), které jsou vhodné pro nasazení služby Azure Stack Hub nebo pro obnovení certifikátů pro stávající nasazení. Před nasazením je důležité vyžádat, vygenerovat a ověřit certifikáty s dostatečným časovým intervalem k jejich otestování.

Nástroj se používá k vyžádání následujících certifikátů na základě selektoru scénáře Zvolit certifikát CSR v horní části tohoto článku:

Požadavky

Než vygenerujete žádosti o clustery pro certifikáty PKI pro nasazení služby Azure Stack Hub, musí váš systém splňovat následující požadavky:

  • Musíte být na počítači s Windows 10 nebo novějším nebo Windows Server 2016 nebo novějším.
  • Pomocí následující rutiny nainstalujte nástroj pro kontrolu připravenosti služby Azure Stack Hub z příkazového řádku PowerShellu (5.1 nebo novější):
         Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
    
  • Pro certifikát budete potřebovat následující atributy:
    • Název oblasti
    • Plně kvalifikovaný název domény (FQDN)
    • Předmět

Generování žádostí OS pro nové certifikáty nasazení

Poznámka

Ke generování žádostí o podepsání certifikátu se vyžaduje zvýšení oprávnění. V omezených prostředích, kde není možné zvýšit oprávnění, můžete pomocí tohoto nástroje vygenerovat soubory šablon bez textu, které obsahují všechny informace vyžadované pro externí certifikáty služby Azure Stack Hub. Tyto soubory šablon pak budete muset použít v relaci se zvýšenými oprávněními k dokončení generování páru veřejného a privátního klíče. Další podrobnosti najdete níže.

Pokud chcete připravit žádosti o clustery pro nové certifikáty PKI služby Azure Stack Hub, proveďte následující kroky:

  1. Otevřete relaci PowerShellu na počítači, na kterém jste nainstalovali nástroj Readiness Checker.

  2. Deklarujte následující proměnné:

    Poznámka

    <regionName>.<externalFQDN> tvoří základ, na kterém se vytvářejí všechny externí názvy DNS ve službě Azure Stack Hub. V následujícím příkladu by portal.east.azurestack.contoso.combyl portál .

    $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
    

Teď pomocí stejné relace PowerShellu vygenerujte žádosti o clustery. Pokyny jsou specifické pro formát Předmět , který vyberete níže:

Poznámka

První název DNS služby Azure Stack Hub se nakonfiguruje jako pole CN v žádosti o certifikát.

  1. Deklarujte předmět, například:

    $subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
    
  1. Vygenerujte žádosti o clustery provedením jedné z následujících možností:

    • V produkčním prostředí nasazení první skript vygeneruje žádosti o clustery pro certifikáty nasazení:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
      
    • Druhý skript v případě potřeby použije -IncludeContainerRegistry a vygeneruje csr pro Azure Container Registry současně s doporučeními pro certifikáty nasazení:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
      
    • Třetí skript vygeneruje žádosti OS pro všechny volitelné služby PaaS, které jste nainstalovali:

      # 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 
      
    • Pokud chcete v prostředí s nízkými oprávněními vygenerovat soubor šablony certifikátu nemazaného textu s deklarovanými potřebnými atributy, přidejte -LowPrivilege parametr:

      New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
      
    • Pokud chcete pro vývojové a testovací prostředí vygenerovat jednu csr s alternativními názvy s více předměty, přidejte -RequestType SingleCSR parametr a hodnotu.

      Důležité

      Tento přístup nedoporučujeme používat v produkčních prostředích.

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

Proveďte poslední kroky:

  1. Zkontrolujte výstup:

    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. Pokud byl -LowPrivilege parametr použit, vygeneroval se v C:\Users\username\Documents\AzureStackCSR podadresáři soubor INF. Příklad:

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

    Zkopírujte soubor do systému, ve kterém je povolené zvýšení oprávnění, a pak pomocí následující syntaxe podepište jednotlivé požadavky certreq : certreq -new <example.inf> <example.req>. Pak dokončete zbytek procesu v systému se zvýšenými oprávněními, protože vyžaduje spárování nového certifikátu podepsaného certifikační autoritou se svým privátním klíčem, který se generuje v systému se zvýšenými oprávněními.

  • Kontrola připravenosti použije oblast vašeho systému a název externí domény (FQDN) k určení koncového bodu pro extrahování atributů z existujících certifikátů. Pokud se na váš scénář vztahuje některý z následujících postupů, musíte použít selektor Zvolit scénář certifikátu CSR v horní části tohoto článku a místo toho vybrat novou verzi nasazení tohoto článku:
    • Chcete změnit atributy certifikátů na koncovém bodu, například předmět, délku klíče a algoritmus podpisu.
    • Chcete použít předmět certifikátu, který obsahuje pouze atribut common name.
  • Než začnete, ověřte, že máte připojení HTTPS pro váš systém Azure Stack Hub.

Generování žádostí o obnovení certifikátů pro obnovení

Tato část se věnuje přípravě žádostí o obnovení stávajících certifikátů PKI služby Azure Stack Hub.

Generovat žádosti o clustery

  1. Otevřete relaci PowerShellu na počítači, na kterém jste nainstalovali nástroj Readiness Checker.

  2. Deklarujte následující proměnné:

    Poznámka

    Nástroj Readiness Checker používá stampEndpoint k vyhledání existujících certifikátů plus předem zadaný řetězec. Používá se portal.east.azurestack.contoso.com například pro certifikáty nasazení, sso.appservices.east.azurestack.contoso.com pro certifikáty služeb App Services atd.

    $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. Vygenerujte žádosti o clustery provedením jedné nebo několika následujících akcí:

    • V produkčním prostředí první skript vygeneruje žádosti o clustery pro certifikáty nasazení:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
      
    • Druhý skript v případě potřeby použije -IncludeContainerRegistry a vygeneruje csr pro Azure Container Registry současně s doporučeními pro certifikáty nasazení:

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
      
    • Třetí skript vygeneruje žádosti OS pro všechny volitelné služby PaaS, které jste nainstalovali:

      # 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 
      
    • Pokud chcete pro vývojové a testovací prostředí vygenerovat jednu csr s alternativními názvy s více předměty, přidejte -RequestType SingleCSR parametr a hodnotu.

      Důležité

      Tento přístup nedoporučujeme používat v produkčních prostředích.

      New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
      
  4. Zkontrolujte výstup:

    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
    

Až budete připraveni, odešlete vygenerovaný soubor .req vaší certifikační autoritě (interní nebo veřejné). Adresář určený proměnnou $outputDirectory obsahuje žádosti OS, které musí být odeslány certifikační autoritě. Adresář obsahuje také podřízený adresář obsahující soubory INF, které se mají použít při generování žádostí o certifikát. Ujistěte se, že vaše certifikační autorita generuje certifikáty pomocí vygenerovaného požadavku, který splňuje požadavky na infrastrukturu veřejných klíčů služby Azure Stack Hub.

Další kroky

Jakmile obdržíte certifikáty zpět od vaší certifikační autority, postupujte podle kroků v tématu Příprava certifikátů PKI služby Azure Stack Hub ve stejném systému.