Ruotare i segreti nell'hub di Azure StackRotate secrets in Azure Stack Hub

Questo articolo fornisce indicazioni per eseguire la rotazione dei segreti, per garantire una comunicazione sicura con le risorse e i servizi dell'infrastruttura dell'hub Azure Stack.This article provides guidance for performing secret rotation, to help maintain secure communication with Azure Stack Hub infrastructure resources and services.

PanoramicaOverview

Azure Stack Hub USA i segreti per mantenere la comunicazione sicura con le risorse e i servizi dell'infrastruttura.Azure Stack Hub uses secrets to maintain secure communication with infrastructure resources and services. Per mantenere l'integrità dell'infrastruttura dell'hub Azure Stack, gli operatori devono avere la possibilità di ruotare i segreti a frequenze coerenti con i requisiti di sicurezza dell'organizzazione.To maintain the integrity of the Azure Stack Hub infrastructure, operators need the ability to rotate secrets at frequencies that are consistent with their organization's security requirements.

Quando i segreti si avvicinano alla scadenza, nel portale di amministrazione vengono generati gli avvisi seguenti.When secrets are nearing expiration, the following alerts are generated in the administrator portal. Il completamento della rotazione del segreto risolverà gli avvisi seguenti:Completing secret rotation will resolve these alerts:

  • Scadenza password account del servizio in sospesoPending service account password expiration
  • In attesa di scadenza del certificato internoPending internal certificate expiration
  • In attesa di scadenza del certificato esternoPending external certificate expiration

Avviso

Sono presenti 2 fasi di avvisi attivati nel portale di amministrazione prima della scadenza:There are 2 phases of alerts triggered in the administrator portal prior to expiration:

  • 90 giorni prima della scadenza viene generato un avviso di avviso.90 days before expiration a warning alert is generated.
  • 30 giorni prima della scadenza viene generato un avviso critico.30 days before expiration a critical alert is generated.

Se si ricevono queste notifiche, è fondamentale completare la rotazione del segreto. In caso contrario, può causare la perdita dei carichi di lavoro e la possibile ridistribuzione dell'hub Azure Stack a proprie spese.It's critical that you complete secret rotation if you receive these notifications. Failure to do so can cause the loss of workloads and possible Azure Stack Hub redeployment at your own expense!

Per altre informazioni sul monitoraggio e la correzione degli avvisi, vedere monitorare l'integrità e gli avvisi nell'Hub Azure stack.For more information on alert monitoring and remediation, refer to Monitor health and alerts in Azure Stack Hub.

Nota

Gli ambienti Azure Stack hub nelle versioni precedenti a 1811 possono visualizzare avvisi per le scadenze interne o del certificato interno in sospeso.Azure Stack Hub environments on pre-1811 versions may see alerts for pending internal certificate or secret expirations. Questi avvisi non sono accurati e devono essere ignorati senza eseguire la rotazione interna del segreto.These alerts are inaccurate and should be ignored without running internal secret rotation. Gli avvisi di scadenza dei segreti interni non accurati rappresentano un problema noto risolto in 1811.Inaccurate internal secret expiration alerts are a known issue that's resolved in 1811. I segreti interni non scadranno a meno che l'ambiente non sia attivo per due anni.Internal secrets won't expire unless the environment has been active for two years.

PrerequisitiPrerequisites

  1. È consigliabile aggiornare prima di tutto l'istanza dell'hub Azure Stack alla versione più recente.It's highly recommended that you first update your Azure Stack Hub instance to the latest version.

    Importante

    Per le versioni precedenti a 1811:For pre-1811 versions:

    • Se la rotazione del segreto è già stata eseguita, è necessario eseguire l'aggiornamento alla versione 1811 o successiva prima di eseguire di nuovo la rotazione del segreto.If secret rotation has already been performed, you must update to version 1811 or later before you perform secret rotation again. La rotazione del segreto deve essere eseguita tramite l' endpoint con privilegi e richiede le credenziali dell'operatore Azure stack Hub.Secret Rotation must be executed via the Privileged Endpoint and requires Azure Stack Hub Operator credentials. Se non si sa se la rotazione del segreto è stata eseguita nell'ambiente, eseguire l'aggiornamento a 1811 prima di eseguire la rotazione del segreto.If you don't know whether secret rotation has been run on your environment, update to 1811 before performing secret rotation.
    • Non è necessario ruotare i segreti per aggiungere certificati host di estensione.You don't need to rotate secrets to add extension host certificates. È necessario seguire le istruzioni riportate nell'articolo preparare l'host di estensione per Azure stack Hub per aggiungere certificati host di estensione.You should follow the instructions in the article Prepare for extension host for Azure Stack Hub to add extension host certificates.
  2. Notificare agli utenti le operazioni di manutenzione pianificata.Notify your users of planned maintenance operations. Pianificare le normali finestre di manutenzione, per quanto possibile, durante le ore non lavorative.Schedule normal maintenance windows, as much as possible, during non-business hours. Le operazioni di manutenzione possono influenzare sia i carichi di lavoro degli utenti che le operazioni del portale.Maintenance operations may affect both user workloads and portal operations.

  3. Durante la rotazione dei segreti, gli operatori possono notare che gli avvisi si aprono e si chiudono automaticamente.During rotation of secrets, operators may notice alerts open and automatically close. Questo comportamento è previsto ed è possibile ignorare gli avvisi.This behavior is expected and the alerts can be ignored. Gli operatori possono verificare la validità di questi avvisi usando il cmdlet di PowerShell test-AzureStack.Operators can verify the validity of these alerts using the Test-AzureStack PowerShell cmdlet. Per gli operatori che usano System Center Operations Manager per monitorare i sistemi hub Azure Stack, l'inserimento di un sistema in modalità di manutenzione impedisce che questi avvisi raggiungano i sistemi ITSM, ma continueranno ad avvertire se il sistema Hub Azure Stack diventa irraggiungibile.For operators using System Center Operations Manager to monitor Azure Stack Hub systems, placing a system in maintenance mode will prevent these alerts from reaching their ITSM systems, but will continue to alert if the Azure Stack Hub system becomes unreachable.

Ruotare i segreti esterniRotate external secrets

Importante

Rotazione del segreto esterno per:External secret rotation for:

Questa sezione illustra la rotazione dei certificati usati per proteggere i servizi esterni.This section covers rotation of certificates used to secure external-facing services. Questi certificati vengono forniti dall'operatore Azure Stack hub per i servizi seguenti:These certificates are provided by the Azure Stack Hub Operator, for the following services:

  • Portale di amministrazioneAdministrator portal
  • Portale pubblicoPublic portal
  • Azure Resource Manager amministratoreAdministrator Azure Resource Manager
  • Azure Resource Manager globaleGlobal Azure Resource Manager
  • Key Vault amministratoreAdministrator Key Vault
  • Key VaultKey Vault
  • Host estensione amministratoreAdmin Extension Host
  • ACS (inclusi archiviazione BLOB, tabelle e code)ACS (including blob, table, and queue storage)
  • ADFS*ADFS*
  • Grafico*Graph*

*Applicabile quando si usa Active Directory servizi federati (AD FS).*Applicable when using Active Directory Federated Services (AD FS).

PreparazionePreparation

Prima della rotazione dei segreti esterni:Prior to rotation of external secrets:

  1. Eseguire il Test-AzureStack cmdlet di PowerShell usando il -group SecretRotationReadiness parametro per verificare che tutti gli output del test siano integri prima della rotazione dei segreti.Run the Test-AzureStack PowerShell cmdlet using the -group SecretRotationReadiness parameter, to confirm all test outputs are healthy before rotating secrets.

  2. Preparare un nuovo set di certificati esterni sostitutivi:Prepare a new set of replacement external certificates:

    • Il nuovo set deve corrispondere alle specifiche del certificato descritte nei requisiti dei certificati PKI dell'Hub Azure stack.The new set must match the certificate specifications outlined in the Azure Stack Hub PKI certificate requirements.

    • Generare una richiesta di firma del certificato (CSR) da inviare all'autorità di certificazione (CA).Generate a certificate signing request (CSR) to submit to your Certificate Authority (CA). Usare la procedura descritta in generare richieste di firma del certificato e prepararle per l'uso nell'ambiente di Azure stack hub usando la procedura descritta in preparare i certificati PKI.Use the steps outlined in Generate certificate signing requests and prepare them for use in your Azure Stack Hub environment using the steps in Prepare PKI certificates. Azure Stack Hub supporta la rotazione segreta per i certificati esterni da una nuova autorità di certificazione (CA) nei contesti seguenti:Azure Stack Hub supports secret rotation for external certificates from a new Certificate Authority (CA) in the following contexts:

      Ruotare dalla CARotate from CA Ruota alla CARotate to CA Supporto della versione di Azure Stack HubAzure Stack Hub version support
      Self-SignedSelf-Signed EnterpriseEnterprise 1903 & più tardi1903 & later
      Self-SignedSelf-Signed Self-SignedSelf-Signed Non supportatoNot Supported
      Self-SignedSelf-Signed Pubblico*Public* 1803 & più tardi1803 & later
      EnterpriseEnterprise EnterpriseEnterprise 1803 & in seguito; 1803-1903 se stessa CA globale (Enterprise) usata in fase di distribuzione1803 & later; 1803-1903 if SAME enterprise CA as used at deployment
      EnterpriseEnterprise Self-SignedSelf-Signed Non supportatoNot Supported
      EnterpriseEnterprise Pubblico*Public* 1803 & più tardi1803 & later
      Pubblico*Public* EnterpriseEnterprise 1903 & più tardi1903 & later
      Pubblico*Public* Self-SignedSelf-Signed Non supportatoNot Supported
      Pubblico*Public* Pubblico*Public* 1803 & più tardi1803 & later

      *Parte del programma radice attendibile di Windows.*Part of the Windows Trusted Root Program.

    • Assicurarsi di convalidare i certificati preparati con i passaggi descritti in convalidare i certificati PKIBe sure to validate the certificates you prepare with the steps outlined in Validate PKI Certificates

    • Verificare che non siano presenti caratteri speciali nella password, ad esempio * o ) .Make sure there are no special characters in the password, like * or ).

    • Assicurarsi che la crittografia PFX sia TripleDES-SHA1.Make sure the PFX encryption is TripleDES-SHA1. Se si verifica un problema, vedere risolvere i problemi comuni con i certificati PKI dell'Hub Azure stack.If you run into an issue, see Fix common issues with Azure Stack Hub PKI certificates.

  3. Archiviare un backup nei certificati utilizzati per la rotazione in un percorso di backup protetto.Store a backup to the certificates used for rotation in a secure backup location. Se la rotazione viene eseguita e quindi ha esito negativo, sostituire i certificati nella condivisione file con le copie di backup prima di eseguire nuovamente la rotazione.If your rotation runs and then fails, replace the certificates in the file share with the backup copies before you rerun the rotation. Conserva le copie di backup nel percorso di backup protetto.Keep backup copies in the secure backup location.

  4. Creare una condivisione file a cui è possibile accedere dalle macchine virtuali ROMANSITO.Create a fileshare you can access from the ERCS VMs. La condivisione file deve essere leggibile e scrivibile per l'identità CloudAdmin .The file share must be readable and writable for the CloudAdmin identity.

  5. Aprire una console di PowerShell ISE da un computer in cui si dispone dell'accesso alla condivisione file.Open a PowerShell ISE console from a computer where you have access to the fileshare. Passare alla condivisione file in cui si creano le directory per inserire i certificati esterni.Navigate to your fileshare, where you create directories to place your external certificates.

  6. Scaricare CertDirectoryMaker.ps1 nella condivisione file di rete ed eseguire lo script.Download CertDirectoryMaker.ps1 to your network fileshare, and run the script. Lo script creerà una struttura di cartelle che aderisce a .\Certificates\AAD_ o *.\Certificates\ADFS__, a seconda del provider di identità. La struttura di cartelle deve iniziare con una cartella _ \ Certificates* , seguita da una sola cartella \ AAD o \ ADFS .The script will create a folder structure that adheres to .\Certificates\AAD_ or _.\Certificates\ADFS_, depending on your identity provider. Your folder structure must begin with a _\Certificates folder, followed by ONLY an \AAD or \ADFS folder. Tutte le sottodirectory rimanenti sono contenute all'interno della struttura precedente.All remaining subdirectories are contained within the preceding structure. Ad esempio:For example:

    • Condivisione file = \\<IPAddress>\<ShareName>File share = \\<IPAddress>\<ShareName>
    • Cartella radice certificato per provider di Azure AD = \ Certificates\AADCertificate root folder for Azure AD provider = \Certificates\AAD
    • Percorso completo = \ \ <IPAddress> \ <ShareName> \Certificates\AADFull path = \\<IPAddress>\<ShareName>\Certificates\AAD

    Importante

    Quando si esegue in Start-SecretRotation un secondo momento, viene convalidata la struttura di cartelle.When you run Start-SecretRotation later, it will validate the folder structure. Una struttura di cartelle non conforme genererà l'errore seguente:A folder structure that is not compliant will throw the following error:

    Cannot bind argument to parameter 'Path' because it is null.
    + CategoryInfo          : InvalidData: (:) [Test-Certificate], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Test-Certificate
    + PSComputerName        : xxx.xxx.xxx.xxx
    
  7. Copiare il nuovo set di certificati esterni sostitutivi creati nel passaggio #2 alla directory \Certificates \ <IdentityProvider> creata nel passaggio #6.Copy the new set of replacement external certificates created in step #2, to the \Certificates\<IdentityProvider> directory created in step #6. Assicurarsi di seguire il cert.<regionName>.<externalFQDN> formato per <CertName> .Be sure to follow the cert.<regionName>.<externalFQDN> format for <CertName>.

    Di seguito è riportato un esempio di una struttura di cartelle per il provider di identità Azure AD:Here's an example of a folder structure for the Azure AD Identity Provider:

        <ShareName>
            │
            └───Certificates
                  └───AAD
                      ├───ACSBlob
                      │       <CertName>.pfx
                      │
                      ├───ACSQueue
                      │       <CertName>.pfx
                      │
                      ├───ACSTable
                      │       <CertName>.pfx
                      │
                      ├───Admin Extension Host
                      │       <CertName>.pfx
                      │
                      ├───Admin Portal
                      │       <CertName>.pfx
                      │
                      ├───ARM Admin
                      │       <CertName>.pfx
                      │
                      ├───ARM Public
                      │       <CertName>.pfx
                      │
                      ├───KeyVault
                      │       <CertName>.pfx
                      │
                      ├───KeyVaultInternal
                      │       <CertName>.pfx
                      │
                      ├───Public Extension Host
                      │       <CertName>.pfx
                      │
                      └───Public Portal
                              <CertName>.pfx
    
    

RotazioneRotation

Completare i passaggi seguenti per ruotare i segreti esterni:Complete the following steps to rotate external secrets:

  1. Usare lo script di PowerShell seguente per ruotare i segreti.Use the following PowerShell script to rotate the secrets. Lo script richiede l'accesso a una sessione di EndPoint con privilegi (PEP).The script requires access to a Privileged EndPoint (PEP) session. Il PEP è accessibile tramite una sessione remota di PowerShell nella macchina virtuale (VM) che ospita il PEP.The PEP is accessed through a remote PowerShell session on the virtual machine (VM) that hosts the PEP. Se si usa un sistema integrato, esistono tre istanze del PEP, ciascuna in esecuzione all'interno di una VM (prefix-ERCS01, prefix-ERCS02 o prefix-ERCS03) in host diversi.If you're using an integrated system, there are three instances of the PEP, each running inside a VM (Prefix-ERCS01, Prefix-ERCS02, or Prefix-ERCS03) on different hosts. Se si usa Gabriele, questa VM è denominata AzS-ERCS01.If you're using the ASDK, this VM is named AzS-ERCS01. Aggiornare i <placeholder> valori prima dell'esecuzione:Update the <placeholder> values before running:

    # Create a PEP Session
    winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
    $PEPCreds = Get-Credential
    $PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS_Machine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    # Run Secret Rotation
    $CertPassword = ConvertTo-SecureString "<Cert_Password>" -AsPlainText -Force
    $CertShareCreds = Get-Credential
    $CertSharePath = "<Network_Path_Of_CertShare>"
    Invoke-Command -Session $PEPSession -ScriptBlock {
        Start-SecretRotation -PfxFilesPath $using:CertSharePath -PathAccessCredential $using:CertShareCreds -CertificatePassword $using:CertPassword
    }
    Remove-PSSession -Session $PEPSession
    

    Lo script esegue le operazioni seguenti:The script performs the following steps:

    • Crea una sessione di PowerShell con l' endpoint con privilegi usando l'account CloudAdmin e archivia la sessione come variabile.Creates a PowerShell Session with the Privileged endpoint using the CloudAdmin account, and stores the session as a variable. Questa variabile viene utilizzata come parametro nel passaggio successivo.This variable is used as a parameter in the next step.

    • Esegue Invoke-Commandpassando la variabile della sessione PEP come -Session parametro.Runs Invoke-Command, passing the PEP session variable as the -Session parameter.

    • Viene eseguito Start-SecretRotation nella sessione PEP usando i parametri seguenti:Runs Start-SecretRotation in the PEP session, using the following parameters:

      • -PfxFilesPath: Il percorso di rete della directory dei certificati creato in precedenza.-PfxFilesPath: The network path to your Certificates directory created earlier.
      • -PathAccessCredential: Oggetto PSCredential per le credenziali della condivisione.-PathAccessCredential: The PSCredential object for credentials to the share.
      • -CertificatePassword: Stringa sicura della password usata per tutti i file di certificato PFX creati.-CertificatePassword: A secure string of the password used for all of the pfx certificate files created.
  2. La rotazione del segreto esterno richiede circa un'ora.External secret rotation takes approximately one hour. Al termine dell'operazione, nella console viene visualizzato un ActionPlanInstanceID ... CurrentStatus: Completed messaggio, seguito da DONE .After successful completion, your console will display a ActionPlanInstanceID ... CurrentStatus: Completed message, followed by DONE. Rimuovere i certificati dalla condivisione creata nella sezione preparazione e archiviarli nel percorso di backup protetto.Remove your certificates from the share created in the Preparation section and store them in their secure backup location.

    Nota

    Se la rotazione del segreto ha esito negativo, seguire le istruzioni nel messaggio di errore ed eseguire nuovamente Start-SecretRotation con il -ReRun parametro.If secret rotation fails, follow the instructions in the error message and re-run Start-SecretRotation with the -ReRun parameter.

    Start-SecretRotation -ReRun
    

    Contattare il supporto tecnico se si verificano errori di rotazione segreti ripetuti.Contact support if you experience repeated secret rotation failures.

Ruota i segreti interniRotate internal secrets

I segreti interni includono certificati, password, stringhe sicure e chiavi usate dall'infrastruttura dell'hub Azure Stack, senza l'intervento dell'operatore Azure Stack Hub.Internal secrets include certificates, passwords, secure strings, and keys used by the Azure Stack Hub infrastructure, without intervention of the Azure Stack Hub Operator. La rotazione segreta interna è necessaria solo se si sospetta che sia stata compromessa o si è ricevuto un avviso di scadenza.Internal secret rotation is only required if you suspect one has been compromised, or you've received an expiration alert.

Le distribuzioni pre-1811 possono visualizzare avvisi per il certificato interno in sospeso o le scadenze segrete.Pre-1811 deployments may see alerts for pending internal certificate or secret expirations. Questi avvisi non sono accurati e devono essere ignorati e sono un problema noto risolto in 1811.These alerts are inaccurate and should be ignored, and are a known issue resolved in 1811.

Completare i passaggi seguenti per ruotare i segreti interni:Complete the following steps to rotate internal secrets:

  1. Eseguire lo script PowerShell seguente.Run the following PowerShell script. Si noti che per la rotazione segreta interna, nella sezione "esecuzione della rotazione del segreto" viene usato solo il -Internal parametro per il cmdlet Start-SecretRotation:Notice for internal secret rotation, the "Run Secret Rotation" section uses only the -Internal parameter to the Start-SecretRotation cmdlet:

    # Create a PEP Session
    winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
    $PEPCreds = Get-Credential
    $PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS_Machine> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    # Run Secret Rotation
    Invoke-Command -Session $PEPSession -ScriptBlock {
        Start-SecretRotation -Internal
    }
    Remove-PSSession -Session $PEPSession
    

    Nota

    Le versioni precedenti a 1811 non richiedono il -Internal flag.Pre-1811 versions don't require the -Internal flag.

  2. Al termine dell'operazione, nella console viene visualizzato un ActionPlanInstanceID ... CurrentStatus: Completed messaggio, seguito da DONE .After successful completion, your console will display a ActionPlanInstanceID ... CurrentStatus: Completed message, followed by DONE.

    Nota

    Se la rotazione del segreto non riesce, seguire le istruzioni nel messaggio di errore e rieseguire Start-SecretRotation con i -Internal -ReRun parametri e.If secret rotation fails, follow the instructions in the error message and rerun Start-SecretRotation with the -Internal and -ReRun parameters.

    Start-SecretRotation -Internal -ReRun
    

    Contattare il supporto tecnico se si verificano errori di rotazione segreti ripetuti.Contact support if you experience repeated secret rotation failures.

Aggiornare le credenziali BMCUpdate the BMC credential

Il Baseboard Management Controller monitora lo stato fisico dei server.The baseboard management controller monitors the physical state of your servers. Per istruzioni su come aggiornare il nome e la password dell'account utente del BMC, consultare il fornitore dell'hardware originale del produttore del dispositivo.Refer to your original equipment manufacturer (OEM) hardware vendor for instructions to update the user account name and password of the BMC.

Nota

L'OEM può fornire app di gestione aggiuntive.Your OEM may provide additional management apps. L'aggiornamento del nome utente o della password per altre app di gestione non ha alcun effetto sul nome utente o la password BMC.Updating the user name or password for other management apps has no effect on the BMC user name or password.

  1. Aggiornare il BMC nei server fisici dell'hub Azure Stack seguendo le istruzioni OEM.Update the BMC on the Azure Stack Hub physical servers by following your OEM instructions. Il nome utente e la password per ogni BMC nell'ambiente devono essere uguali.The user name and password for each BMC in your environment must be the same. I nomi utente BMC non possono superare i 16 caratteri.The BMC user names can't exceed 16 characters.
  1. Non è più necessario aggiornare prima le credenziali BMC nei server fisici dell'hub Azure Stack seguendo le istruzioni OEM.It's no longer required that you first update the BMC credentials on the Azure Stack Hub physical servers by following your OEM instructions. Il nome utente e la password per ogni BMC nell'ambiente deve essere lo stesso e non può superare i 16 caratteri.The user name and password for each BMC in your environment must be the same, and can't exceed 16 characters.
  1. Aprire un endpoint con privilegi nelle sessioni dell'hub Azure Stack.Open a privileged endpoint in Azure Stack Hub sessions. Per istruzioni, vedere uso dell'endpoint con privilegi nell'Hub Azure stack.For instructions, see Using the privileged endpoint in Azure Stack Hub.

  2. Dopo l'apertura di una sessione di endpoint con privilegi, eseguire uno degli script di PowerShell riportati di seguito, che usano Invoke-Command per eseguire set-BmcCredential.After opening a privileged endpoint session, run one of the PowerShell scripts below, which use Invoke-Command to run Set-BmcCredential. Se si usa il parametro facoltativo-BypassBMCUpdate con set-BMCCredential, le credenziali nel BMC non vengono aggiornate.If you use the optional -BypassBMCUpdate parameter with Set-BMCCredential, credentials in the BMC aren't updated. Viene aggiornato solo l'archivio dati interno dell'hub Azure Stack. Passare la variabile di sessione dell'endpoint con privilegi come parametro.Only the Azure Stack Hub internal datastore is updated.Pass your privileged endpoint session variable as a parameter.

    Ecco un esempio di script di PowerShell che richiederà il nome utente e la password:Here's an example PowerShell script that will prompt for user name and password:

    # Interactive Version
    $PEPIp = "<Privileged Endpoint IP or Name>" # You can also use the machine name instead of IP here.
    $PEPCreds = Get-Credential "<Domain>\CloudAdmin" -Message "PEP Credentials"
    $NewBmcPwd = Read-Host -Prompt "Enter New BMC password" -AsSecureString
    $NewBmcUser = Read-Host -Prompt "Enter New BMC user name"
    
    $PEPSession = New-PSSession -ComputerName $PEPIp -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    Invoke-Command -Session $PEPSession -ScriptBlock {
        # Parameter BmcPassword is mandatory, while the BmcUser parameter is optional.
        Set-BmcCredential -BmcPassword $using:NewBmcPwd -BmcUser $using:NewBmcUser
    }
    Remove-PSSession -Session $PEPSession
    

    È anche possibile codificare il nome utente e la password nelle variabili, che potrebbero essere meno sicure:You can also encode the user name and password in variables, which may be less secure:

    # Static Version
    $PEPIp = "<Privileged Endpoint IP or Name>" # You can also use the machine name instead of IP here.
    $PEPUser = "<Privileged Endpoint user for example Domain\CloudAdmin>"
    $PEPPwd = ConvertTo-SecureString "<Privileged Endpoint Password>" -AsPlainText -Force
    $PEPCreds = New-Object System.Management.Automation.PSCredential ($PEPUser, $PEPPwd)
    $NewBmcPwd = ConvertTo-SecureString "<New BMC Password>" -AsPlainText -Force
    $NewBmcUser = "<New BMC User name>"
    
    $PEPSession = New-PSSession -ComputerName $PEPIp -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"
    
    Invoke-Command -Session $PEPSession -ScriptBlock {
        # Parameter BmcPassword is mandatory, while the BmcUser parameter is optional.
        Set-BmcCredential -BmcPassword $using:NewBmcPwd -BmcUser $using:NewBmcUser
    }
    Remove-PSSession -Session $PEPSession
    

Riferimento: cmdlet Start-SecretRotationReference: Start-SecretRotation cmdlet

Il cmdlet Start-SecretRotation ruota i segreti dell'infrastruttura di un sistema Hub Azure stack.Start-SecretRotation cmdlet rotates the infrastructure secrets of an Azure Stack Hub system. Questo cmdlet può essere eseguito solo sull'endpoint con privilegi di Azure Stack Hub, usando un Invoke-Command blocco di script che passa la sessione pep nel -Session parametro.This cmdlet can only be executed against the Azure Stack Hub privileged endpoint, by using an Invoke-Command script block passing the PEP session in the -Session parameter. Per impostazione predefinita, ruota solo i certificati di tutti gli endpoint dell'infrastruttura di rete esterna.By default, it rotates only the certificates of all external network infrastructure endpoints.

ParametroParameter TypeType NecessarioRequired PosizionePosition PredefinitoDefault DescrizioneDescription
PfxFilesPath stringString FalsoFalse denominataNamed nessunoNone Percorso FileShare della directory \Certificates contenente tutti i certificati dell'endpoint di rete esterno.The fileshare path to the \Certificates directory containing all external network endpoint certificates. Obbligatorio solo quando si ruotano i segreti esterni.Only required when rotating external secrets. La directory finale deve essere \Certificates.End directory must be \Certificates.
CertificatePassword SecureStringSecureString FalsoFalse denominataNamed nessunoNone Password per tutti i certificati forniti in-PfXFilesPath.The password for all certificates provided in the -PfXFilesPath. Valore obbligatorio se viene specificato PfxFilesPath quando vengono ruotati i segreti esterni.Required value if PfxFilesPath is provided when external secrets are rotated.
Internal stringString FalsoFalse denominataNamed nessunoNone È necessario usare il flag interno ogni volta che un operatore Azure Stack Hub desidera ruotare i segreti dell'infrastruttura interna.Internal flag must be used anytime an Azure Stack Hub operator wishes to rotate internal infrastructure secrets.
PathAccessCredential PSCredentialPSCredential FalsoFalse denominataNamed nessunoNone Credenziali di PowerShell per la condivisione file della directory \Certificates contenente tutti i certificati dell'endpoint di rete esterno.The PowerShell credential for the fileshare of the \Certificates directory containing all external network endpoint certificates. Obbligatorio solo quando si ruotano i segreti esterni.Only required when rotating external secrets.
ReRun SwitchParameterSwitchParameter FalsoFalse denominataNamed nessunoNone Deve essere usato in qualsiasi momento che la rotazione del segreto venga ritentata dopo un tentativo non riuscito.Must be used anytime secret rotation is reattempted after a failed attempt.

SintassiSyntax

Per la rotazione del segreto esternoFor external secret rotation

Start-SecretRotation [-PfxFilesPath <string>] [-PathAccessCredential <PSCredential>] [-CertificatePassword <SecureString>]  

Per la rotazione segreta internaFor internal secret rotation

Start-SecretRotation [-Internal]  

Per la ripetizione della rotazione del segreto esternoFor external secret rotation rerun

Start-SecretRotation [-ReRun]

Per la ripetizione della rotazione del segreto internoFor internal secret rotation rerun

Start-SecretRotation [-ReRun] [-Internal]

EsempiExamples

Ruotare solo i segreti dell'infrastruttura internaRotate only internal infrastructure secrets

Questo comando deve essere eseguito tramite l'endpoint con privilegi dell'ambientedell'hub Azure stack.This command must be run via your Azure Stack Hub environment's privileged endpoint.

PS C:\> Start-SecretRotation -Internal

Questo comando ruota tutti i segreti dell'infrastruttura esposti alla rete interna dell'hub Azure Stack.This command rotates all of the infrastructure secrets exposed to the Azure Stack Hub internal network.

Ruotare solo i segreti dell'infrastruttura esternaRotate only external infrastructure secrets

# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"

# Create Credentials for the fileshare
$CertPassword = ConvertTo-SecureString "<CertPasswordHere>" -AsPlainText -Force
$CertShareCreds = Get-Credential
$CertSharePath = "<NetworkPathOfCertShare>"
# Run Secret Rotation
Invoke-Command -Session $PEPSession -ScriptBlock {  
    Start-SecretRotation -PfxFilesPath $using:CertSharePath -PathAccessCredential $using:CertShareCreds -CertificatePassword $using:CertPassword
}
Remove-PSSession -Session $PEPSession

Questo comando ruota i certificati TLS usati per gli endpoint dell'infrastruttura di rete esterna dell'hub Azure Stack.This command rotates the TLS certificates used for Azure Stack Hub's external network infrastructure endpoints.

Ruotare i segreti dell'infrastruttura interna ed esterna (solo 1811 )Rotate internal and external infrastructure secrets (pre-1811 only)

Importante

Questo comando si applica solo a Azure Stack Hub precedente a 1811 perché la rotazione è stata suddivisa per i certificati interni ed esterni.This command only applies to Azure Stack Hub pre-1811 as the rotation has been split for internal and external certificates.

Da 1811 + non è più possibile ruotare i certificati interni ed esterni.From 1811+ you can't rotate both internal and external certificates anymore!

# Create a PEP Session
winrm s winrm/config/client '@{TrustedHosts= "<IP_address_of_ERCS>"}'
$PEPCreds = Get-Credential
$PEPSession = New-PSSession -ComputerName <IP_address_of_ERCS> -Credential $PEPCreds -ConfigurationName "PrivilegedEndpoint"

# Create Credentials for the fileshare
$CertPassword = ConvertTo-SecureString "<CertPasswordHere>" -AsPlainText -Force
$CertShareCreds = Get-Credential
$CertSharePath = "<NetworkPathOfCertShare>"
# Run Secret Rotation
Invoke-Command -Session $PEPSession -ScriptBlock {
    Start-SecretRotation -PfxFilesPath $using:CertSharePath -PathAccessCredential $using:CertShareCreds -CertificatePassword $using:CertPassword
}
Remove-PSSession -Session $PEPSession

Questo comando ruota i segreti dell'infrastruttura esposti alla rete interna Azure Stack Hub e i certificati TLS usati per gli endpoint dell'infrastruttura di rete esterna dell'hub Azure Stack.This command rotates the infrastructure secrets exposed to Azure Stack Hub internal network, and the TLS certificates used for Azure Stack Hub's external network infrastructure endpoints. Start-SecretRotation ruota tutti i segreti generati dallo stack e poiché sono disponibili certificati, verranno ruotati anche i certificati dell'endpoint esterno.Start-SecretRotation rotates all stack-generated secrets, and because there are provided certificates, external endpoint certificates will also be rotated.

Passaggi successiviNext steps

Altre informazioni sulla sicurezza dell'hub Azure StackLearn more about Azure Stack Hub security