Generare richieste di firma del certificato per l'hub di Azure Stack
È possibile usare lo strumento Controllo conformità hub di Azure Stack per creare richieste di firma dei certificati (CSR) adatte per una distribuzione dell'hub di Azure Stack o per il rinnovo dei certificati per una distribuzione esistente. È importante richiedere, generare e convalidare i certificati con un tempo di lead sufficiente per testarli prima della distribuzione.
Lo strumento viene usato per richiedere i certificati seguenti, in base al selettore Scegliere uno scenario di certificato CSR nella parte superiore di questo articolo:
- Certificati standard per una nuova distribuzione: scegliere Nuova distribuzione usando il selettore Scegliere uno scenario di certificato CSR nella parte superiore di questo articolo.
- Rinnovare i certificati per una distribuzione esistente: scegliere Rinnovo usando il selettore Scegliere uno scenario di certificato CSR nella parte superiore di questo articolo.
- Certificati PaaS (Platform-as-a-service): facoltativamente possono essere generati con certificati standard e di rinnovo. Per altre informazioni, vedere Requisiti di certificato dell'infrastruttura pubblica della chiave pubblica dell'hub di Azure Stack. Per altre informazioni, vedere Certificati PaaS facoltativi .
Prerequisiti
Prima di generare certificati CSR per i certificati PKI per una distribuzione dell'hub di Azure Stack, il sistema deve soddisfare i prerequisiti seguenti:
- È necessario essere in un computer con Windows 10 o versioni successive o Windows Server 2016 o versioni successive.
- Installare lo strumento di controllo conformità dell'hub di Azure Stack da un prompt di PowerShell (5.1 o versione successiva) usando il cmdlet seguente:
Install-Module Microsoft.AzureStack.ReadinessChecker -Force -AllowPrerelease
- Sono necessari gli attributi seguenti per il certificato:
- Nome area
- Nome di dominio completo esterno (FQDN)
- Oggetto
Generare i certificati di distribuzione per i nuovi certificati di distribuzione
Nota
L'elevazione è necessaria per generare richieste di firma del certificato. Negli ambienti con restrizioni in cui l'elevazione non è possibile, è possibile usare questo strumento per generare file di modello di testo cancellabile, che contengono tutte le informazioni necessarie per i certificati esterni dell'hub di Azure Stack. È quindi necessario usare questi file di modello in una sessione con privilegi elevati per completare la generazione della coppia di chiavi pubblica/privata. Vedere di seguito per altri dettagli.
Per preparare i certificati CSR per i nuovi certificati PKI dell'hub di Azure Stack, completare la procedura seguente:
Aprire una sessione di PowerShell nel computer in cui è stato installato lo strumento Controllo conformità.
Dichiarare le variabili seguenti:
Nota
<regionName>.<externalFQDN>
forma la base su cui vengono creati tutti i nomi DNS esterni nell'hub di Azure Stack. Nell'esempio seguente il portale sarà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
Generare ora le richieste di archiviazione tramite la stessa sessione di PowerShell. Le istruzioni sono specifiche del formato Soggetto selezionato di seguito:
Nota
Il primo nome DNS del servizio Hub di Azure Stack verrà configurato come campo CN nella richiesta di certificato.
Dichiarare un oggetto, ad esempio:
$subject = "C=US,ST=Washington,L=Redmond,O=Microsoft,OU=Azure Stack Hub"
Generare le richieste di archiviazione completando una delle operazioni seguenti:
Per un ambiente di distribuzione di produzione, il primo script genererà i certificati di distribuzione:
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Il secondo script, se desiderato, usa e
-IncludeContainerRegistry
genererà una CSR per Registro Azure Container contemporaneamente ai certificati di distribuzione:New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -IncludeContainerRegistry
Il terzo script genererà le csr per tutti i servizi PaaS facoltativi installati:
# 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
Per un ambiente con privilegi limitati, per generare un file di modello di certificato clear-text con gli attributi necessari dichiarati, aggiungere il
-LowPrivilege
parametro:New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem -LowPrivilege
Per un ambiente di sviluppo e test, per generare una singola CSR con nomi alternativi a più soggetti, aggiungere il parametro e il
-RequestType SingleCSR
valore.Importante
Non è consigliabile usare questo approccio per gli ambienti di produzione.
New-AzsHubDeploymentCertificateSigningRequest -RegionName $regionName -FQDN $externalFQDN -RequestType SingleCSR -subject $subject -OutputRequestPath $OutputDirectory -IdentitySystem $IdentitySystem
Completare i passaggi finali:
Esaminare l'output:
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
Se il
-LowPrivilege
parametro è stato usato, viene generato un file inf nellaC:\Users\username\Documents\AzureStackCSR
sottodirectory. Ad esempio:C:\Users\username\Documents\AzureStackCSR\Deployment_east_azurestack_contoso_com_SingleCSR_CertRequest_20200710165538_ClearTextTemplate.inf
Copiare il file in un sistema in cui è consentita l'elevazione, quindi firmare ogni richiesta usando
certreq
la sintassi seguente:certreq -new <example.inf> <example.req>
. Completare quindi il resto del processo in quel sistema con privilegi elevati, perché richiede la corrispondenza del nuovo certificato firmato dalla CA con la relativa chiave privata, generata nel sistema con privilegi elevati.
- L'area del sistema e il nome di dominio esterno (FQDN) verranno usati dal Controllo conformità per determinare l'endpoint per estrarre gli attributi dai certificati esistenti. Se uno dei seguenti scenari si applica allo scenario, è necessario usare il selettore Scegliere uno scenario di certificato CSR nella parte superiore di questo articolo e selezionare invece la nuova versione di distribuzione di questo articolo:
- Si desidera modificare gli attributi dei certificati nell'endpoint, ad esempio oggetto, lunghezza chiave e algoritmo di firma.
- Si vuole usare un oggetto certificato che contiene solo l'attributo nome comune.
- Verificare che sia disponibile la connettività HTTPS per il sistema hub di Azure Stack prima di iniziare.
Generare csr per i certificati di rinnovo
Questa sezione illustra la preparazione dei certificati csr per il rinnovo dei certificati PKI dell'hub di Azure Stack esistenti.
Generare csr
Aprire una sessione di PowerShell nel computer in cui è stato installato lo strumento Controllo conformità.
Dichiarare le variabili seguenti:
Nota
Il controllo conformità usa
stampEndpoint
una stringa prependata per trovare i certificati esistenti. Ad esempio,portal.east.azurestack.contoso.com
viene usato per i certificati di distribuzione,sso.appservices.east.azurestack.contoso.com
per i certificati dei servizi app e così via.$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
Generare le richieste di archiviazione completando una o più delle operazioni seguenti:
Per un ambiente di produzione, il primo script genererà i certificati di distribuzione:
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory
Il secondo script, se desiderato, usa e
-IncludeContainerRegistry
genererà una CSR per Registro Azure Container contemporaneamente ai certificati di distribuzione:New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -IncludeContainerRegistry
Il terzo script genererà le csr per tutti i servizi PaaS facoltativi installati:
# 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
Per un ambiente di sviluppo e test, per generare una singola CSR con nomi alternativi a più soggetti, aggiungere il parametro e il
-RequestType SingleCSR
valore.Importante
Non è consigliabile usare questo approccio per gli ambienti di produzione.
New-AzsHubDeploymentCertificateSigningRequest -StampEndpoint $stampEndpoint -OutputRequestPath $OutputDirectory -RequestType SingleCSR
Esaminare l'output:
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 si è pronti, inviare il file con estensione req generato alla CA (interna o pubblica). La directory specificata dalla $outputDirectory
variabile contiene le csr che devono essere inviate a una CA. La directory contiene anche, per il riferimento, una directory figlio contenente i file con estensione inf da usare durante la generazione di richieste di certificato. Assicurarsi che la CA generi certificati usando una richiesta generata che soddisfi i requisiti dell'hub di Azure Stack.
Passaggi successivi
Dopo aver ricevuto i certificati dall'autorità di certificazione, seguire la procedura descritta in Preparare i certificati PKI dell'hub di Azure Stack nello stesso sistema.