A tároló-beállításjegyzék titkainak elforgatása Azure Stack központbanRotate container registry secrets in Azure Stack Hub

A Azure Stack hub-felhasználók elhelyezhetik a tárolók beállításjegyzék-sablonjának titkait (tanúsítványokat, felhasználóneveket és jelszavakat).Your Azure Stack Hub users can rotate the secrets (certificates, username, and password) for a container registry template deployment. Parancsfájl futtatásával feltöltheti Microsoft Azure Key Vault új titkos értékeit, és újból üzembe helyezheti a meglévő tároló beállításjegyzék-sablonját.You can run a script to populate new secret values in Microsoft Azure Key Vault and redeploy the existing Container registry template instance. A titkos kódok saját maguk általi elforgatása nem igényel új telepítést.Rotating secrets by themselves doesn't require a new deployment.

A felhasználó előfeltételeiPrerequisites for the user

  • A felhasználónak telepítenie kell a Azure Stack hub PowerShell-modult.The user will need to have the Azure Stack Hub Powershell modules installed. További információ: a PowerShell telepítése Azure Stackhoz.For more information, see Install PowerShell for Azure Stack.

  • Szerezze be a tároló beállításjegyzék-sablonjának frissítési titkait.Get the update secrets for the container registry template. A Docker-beállításjegyzék eléréséhez használhat új SSL-tanúsítványt vagy új felhasználónevet és jelszót.You can use a new SSL certificate or a new username and password combination for accessing the Docker registry.

  • A \registry\scripts zip-fájlnak a msazurestackworkloads/azurestack-Gallery GitHub- tárházból való letöltését követően kapott parancsfájlok beszerzése.Get the scripts found in \registry\scripts after downloading the zip file from the msazurestackworkloads/azurestack-gallery GitHub repository.

Új titkok importálása Key VaultbaImport new secrets into Key Vault

Az alábbi útmutatást követve új titkokat állíthat be Key Vaultban.Follow the instructions below to set new secrets in Key Vault.

A beállításjegyzék frissített felhasználói jelszavának beállítása meglévő felhasználónévhezSet updated registry user password for existing username

  1. Nyisson meg egy rendszergazda jogú PowerShell-parancssort, majd futtassa Import-Module .\\pre-reqs.ps1 a parancsot a parancsfájlok mappából.Open an elevated PowerShell prompt and then run Import-Module .\\pre-reqs.ps1 from the scripts folder.

  2. A meglévő beállításjegyzék-felhasználó értékének frissítéséhez futtassa a következő parancsmagot:To update the value of the existing registry user, run the cmdlet:

    Set-RegistryAccessSecret -KeyVaultName newregkv `
        -RegistryUserName <username> `
        -RegistryUserPassword <newpassword> `
        -SkipExistCheck $true
    

    A parancsmag például a következő kimenetet adja vissza:For example, the cmdlet returns the following output:

    PS C:\azurestack-gallery-master\registry\Scripts> Set-RegistryAccessSecret -KeyVaultName newregkv `
        -RegistryUserName admin `
        -RegistryUserPassword password1 `
        -SkipExistCheck $true 
    
    Check if key vault secret name (admin) exists.
    Creating key vault secret name (admin) as it does not exist.
    
  3. Ha szeretné ellenőrizni, hogy a rekordhoz új érték lett megadva, nyisson meg egy rendszergazda jogú PowerShell-parancssort, és futtassa a következő parancsmagot:To validate that a new value has been entered for this record, open an elevated PowerShell prompt and run the following cmdlet:

    Get-AzureKeyVaultSecret -VaultName newregkv -Name admin -IncludeVersions
    

    A parancsmag például a következő kimenetet adja vissza:For example, the cmdlet returns the following output:

    PS C:\azurestack-gallery-master\registry\Scripts> Get-AzureKeyVaultSecret -VaultName newregkv -Name admin -IncludeVersions
    
    
    Vault Name   : newregkv
    Name         : admin
    Version      : 2a1495372c474cc890c888518f02b19f
    Id           : https://newregkv.vault.shanghai.azurestack.corp.microsoft.com:443/secrets/
                   admin/2a1495372c474cc890c888518f02b19f
    Enabled      : True
    Expires      : 
    Not Before   : 
    Created      : 12/18/2019 7:05:56 PM
    Updated      : 12/18/2019 7:05:56 PM
    Content Type : 
    Tags         : 
    
    Vault Name   : newregkv
    Name         : admin
    Version      : 3fd65c1719c74997984648de18a1fa0e
    Id           : https://newregkv.vault.shanghai.azurestack.corp.microsoft.com:443/secrets/
                   admin/3fd65c1719c74997984648de18a1fa0e
    Enabled      : True
    Expires      : 
    Not Before   : 
    Created      : 12/17/2019 5:05:56 AM
    Updated      : 12/17/2019 5:05:56 AM
    Content Type : user credentials
    Tags         : 
    

Új beállításjegyzék-Felhasználónév és-jelszó beállításaSet new Registry username and password

  1. Nyisson meg egy rendszergazda jogú parancssort, és Import-Module .\pre-reqs.ps1 a szkriptek mappából.Open an elevated PowerShell prompt and Import-Module .\pre-reqs.ps1 from the scripts folder.

  2. Az új Felhasználónév és jelszó új titkának létrehozásához nyisson meg egy rendszergazda jogú PowerShell-parancssort, és futtassa a következő parancsmagot:To create a new secret for the new username and password, open an elevated PowerShell prompt and run the following cmdlet:

    Set-RegistryAccessSecret -KeyVaultName newregkv `
        -RegistryUserName <newusername> `
        -RegistryUserPassword <newpassword> 
    

    A parancsmag például a következő kimenetet adja vissza:For example, the cmdlet returns the following output:

    PS C:\azurestack-gallery-master\registry\Scripts> Set-RegistryAccessSecret -KeyVaultName newregkv `
        -RegistryUserName admin1 `
        -RegistryUserPassword password1
    
    Check if key vault secret name (admin1) exists.
    Creating key vault secret name (admin1) as it does not exist. 
    
  3. Az új titkos kulcs létrehozásának ellenőrzéséhez nyisson meg egy rendszergazda jogú PowerShell-parancssort, és futtassa a következő parancsmagot:To validate that a new secret has been created, open an elevated PowerShell prompt and run the following cmdlet:

    Get-AzureKeyVaultSecret -VaultName \<KeyVaultName> -Name \<username>
    

    A parancsmag például a következő kimenetet adja vissza:For example, the cmdlet returns the following output:

    PS C:\azurestack-gallery-master\registry\Scripts> Get-AzureKeyVaultSecret -VaultName newregkv -Name admin1
    
    
    Vault Name   : newregkv
    Name         : admin1
    Version      : 2ae9a7239f4044be82ca9d1e9b80e85a
    Id           : https://newregkv.vault.shanghai.azurestack.corp.microsoft.com:443/secrets/admin1/2ae9a7239f4044be82ca9d1e9b80e85a
    Enabled      : True
    Expires      : 
    Not Before   : 
    Created      : 12/18/2019 11:28:18 PM
    Updated      : 12/18/2019 11:28:18 PM
    Content Type : user credentials
    Tags         : 
    

Fontos

Ha új titkot hoz létre (felhasználónév/jelszó kombináció), törölnie kell a régi Key Vault titkot.If you are creating a new secret (username/password combination) you will need to delete the old Key Vault secret. Ha újból telepíti a meglévő tároló beállításjegyzék-sablonját a régi titok törlése nélkül, akkor a régi és az új Felhasználónév és jelszó kombináció is érvényes lesz a beállításjegyzékbe való bejelentkezéshez.If you redeploy the existing container registry template without deleting the old secret both the old and new username and password combinations will be valid for logging into the registry.

A meglévő Key Vault titkos kulcs SSL-tanúsítványának frissítéseUpdate the SSL certificate for existing Key Vault secret

  1. Nyisson meg egy rendszergazda jogú PowerShell-parancssort, és futtassa a következő parancsmagot:Open an elevated PowerShell prompt and run the following cmdlet:

    Set-CertificateSecret -KeyVaultName \<keyvaultname> `
     -CertificateSecretName \<originalsecretnameforcertificate> `
    Set-CertificateSecret -KeyVaultName <keyvaultname> `
        -CertificateSecretName <originalsecretnameforcertificate> `
        -CertificateFilePath <pathtonewcertificate> `
        -CertificatePassword <certificatepassword> `
        -SkipExistCheck $true
    

    A parancsmag például a következő kimenetet adja vissza:For example, the cmdlet returns the following output:

    PS C:\azurestack-gallery-master\registry\Scripts> Set-CertificateSecret -KeyVaultName newregkv `
        -CertificateSecretName containersecret `
        -CertificateFilePath C:\crinstall\shanghairegcertnew.pfx `
        -CertificatePassword <certificatepassword> `
        -SkipExistCheck $true
    Check if key vault secret name (containersecret) exists.
    Creating key vault secret name (containersecret) as it does not exist.
    ----------------------------------------------------------------
    PFX KeyVaultResourceId       : /subscriptions/997da68a-xxxx-xxxx-ad3d-ffeac81b02dc/resourceGroups/newregreg/providers/Microsoft.KeyVault/vaults/newregkv
    PFX KeyVaultSecretUrl        : https://newregkv.vault.shanghai.azurestack.corp.microsoft.com:443/secrets/containersecret/a07ece6b9914408e8f20c516e15b66c9
    PFX Certificate Thumbprint   : 31810AA7FEF1173188691FB3F47208E5389FBA61
    ---------------------------------------------------------------- 
    
  2. A függvény által létrehozott értékeket fogja használni a meglévő tároló beállításjegyzék-sablonjának újbóli telepítésekor.You will use the values produced by this function when redeploying the existing container registry template.

  3. Annak ellenőrzéséhez, hogy létrejött-e a meglévő titok új verziója, nyisson meg egy rendszergazda jogú PowerShell-parancssort, és futtassa a következő parancsmagot:To validate that a new version of the existing secret was created, open an elevated PowerShell prompt and run the following cmdlet:

    Get-AzureKeyVaultSecret -VaultName <KeyVaultName> -Name <secretname>
    

    A parancsmag például a következő kimenetet adja vissza:For example, the cmdlet returns the following output:

    PS C:\azurestack-gallery-master\registry\Scripts> Get-AzureKeyVaultSecret -VaultName newregkv -Name containersecret -IncludeVersions
    
    
    Vault Name   : newregkv
    Name         : containersecret
    Version      : a07ece6b9914408e8f20c516e15b66c9
    Id           : https://newregkv.vault.shanghai.azurestack.corp.microsoft.com:443/secrets/containersecret/a07ece6b9914408e8f20c516e15b66c9
    Enabled      : True
    Expires      : 
    Not Before   : 
    Created      : 12/18/2019 11:46:28 PM
    Updated      : 12/18/2019 11:46:28 PM
    Content Type : 
    Tags         : 
    
    Vault Name   : newregkv
    Name         : containersecret
    Version      : 0199c7ec1d8d41bb9ddff0f39dca9931
    Id           : https://newregkv.vault.shanghai.azurestack.corp.microsoft.com:443/secrets/containersecret/0199c7ec1d8d41bb9ddff0f39dca9931
    Enabled      : True
    Expires      : 
    Not Before   : 
    Created      : 12/17/2019 5:06:03 AM
    Updated      : 12/17/2019 5:06:03 AM
    Content Type : pfx
    Tags         : 
    

Új SSL-tanúsítvány beállítása a tároló beállításjegyzék-sablonhozSet a new SSL certificate for the container registry template

  1. Nyisson meg egy rendszergazda jogú PowerShell-parancssort, és futtassa a következő parancsmagot:Open an elevated PowerShell prompt, and run the following cmdlet:

    Set-CertificateSecret -KeyVaultName <keyvaultname> `
        -CertificateSecretName <newsecretnameforcertificate> `
        -CertificateFilePath <pathtonewcertificate> `
        -CertificatePassword <certificatepassword>
    

    A parancsmag például a következő kimenetet adja vissza:For example, the cmdlet returns the following output:

    PS C:\azurestack-gallery-master\registry\Scripts>    Set-CertificateSecret -KeyVaultName newregkv `
        -CertificateSecretName containersecret121719 `
        -CertificateFilePath C:\crinstall\shanghairegcertnew.pfx `
        -CertificatePassword <certificatepassword> 
    Check if key vault secret name (containersecret121719) exists.
    Creating key vault secret name (containersecret121719) as it does not exist.
    ----------------------------------------------------------------
    PFX KeyVaultResourceId       : /subscriptions/997da68a-xxxx-xxxx-ad3d-ffeac81b02dc/resourc
    eGroups/newregreg/providers/Microsoft.KeyVault/vaults/newregkv
    PFX KeyVaultSecretUrl        : https://newregkv.vault.shanghai.azurestack.corp.microsoft.c
    om:443/secrets/containersecret121719/bb2cfe4df7bc4fbe854a00799afa8566
    PFX Certificate Thumbprint   : 31810AA7FEF1173188691FB3F47208E5389FBA61 
    

Meglévő tároló beállításjegyzék-sablonjának újbóli üzembe helyezéseRedeploy existing container registry template

  1. Nyissa meg az Azure Stack hub felhasználói portált.Open the Azure Stack Hub user portal.

  2. Navigáljon ahhoz az erőforráscsoporthoz, amelyhez a tároló beállításjegyzék-sablonjának virtuális gépe telepítve van.Navigate to the resource group that the container registry template VM is deployed.

    Képernyőkép, amely azt az erőforráscsoportot mutatja, ahol a tároló beállításjegyzék-sablonjának virtuális gépe telepítve van.

  3. Válassza ki a központi telepítések alatt üzemelő példányokat.Select the deployments under Deployments.

    A központi telepítések lapon kiválasztott telepítést bemutató képernyőkép.

  4. Ha az első alkalommal forog a titkos kulcsok, válassza ki az eredeti telepítést.If rotating secrets for the first time, select the original deployment. Ha nem ez az első alkalom a titkok megforgatására, válassza ki a legutóbbi telepítést, majd válassza az újratelepítés lehetőséget.If this isn't the first time rotating secrets, select the most recent deployment and then select Redeploy.

    Képernyőkép, amely az "áttekintés" lapot mutatja az "újbóli üzembe helyezés" művelet kiemelésével.

  5. A megoldás sablonjának üzembe helyezése területen válassza a meglévő erőforráscsoport használata lehetőséget, majd válassza ki azt az erőforráscsoportot, amelyet eredetileg a Container Registry-sablon üzembe helyezéséhez használt.In Deploy Solution Template, select Use Existing Resource Group and select the resource group that was used to originally deploy the container registry template. Ahhoz, hogy az újratelepítése sikeres legyen, ugyanazt az erőforráscsoportot kell használnia.In order for a redeployment to be successful, it must use the same resource group.

    Képernyőkép, amely a "megoldás központi telepítése" és a "parameters" oldalakat mutatja.

  6. A paramétereknél győződjön meg arról, hogy a paraméterek egyeznek az eredeti telepítéssel.In Parameters check that the parameters match the original deployment. Az egyszerű szolgáltatás ügyfél-AZONOSÍTÓját és az egyszerű szolgáltatás titkos kulcsát hozzá kell adni.The service principal client ID and service principal secret will need to be added.

    • Ha csak a beállításjegyzék-szolgáltatás felhasználónevét és jelszavát adja meg, csak az egyszerű szolgáltatásnév paramétereit kell felvennie.If you're only rotating the username and password for the registry service, you just need to add the service principal parameters.

    • Ha elforgatja a tanúsítványt, a PFXKeyVaultSecretURL és a PFXThumbprint új értékeit kell megadnia, amelyek az új titkok beállításától származnak.If you're rotating the certificate, you'll need to input the new values for the PFXKeyVaultSecretURL and PFXThumbprint that were output from setting the new secrets.

    Tároló beállításjegyzék-sablonja

  7. Válassza az OK , majd a Létrehozás lehetőséget.Select OK and then Create. A rendszer folytatja az újratelepítést.The redeployment will proceed. Az újratelepítése során a beállításjegyzék funkciói továbbra is működni fognak.Registry functionality will continue to function during redeployment.

    • Ha elforgatja a felhasználónevet és a jelszót, akkor az ismételt üzembe helyezés befejeződése után ismét hitelesítenie kell magát a beállításjegyzékben.If you are rotating username and password, you will need to authenticate to the registry again once the redeployment is complete.

    • Ha elforgatja a tanúsítványt, a beállításjegyzékhez való hozzáférés elvesztését nem tapasztalhatja.If you are rotating the certificate, you shouldn't experience any loss of access to the registry. Ez azt feltételezi, hogy megbízható tanúsítvány-szolgáltatótól származó tanúsítványt használ.This assumes you are using a certificate from a trusted cert provider. Privát tanúsítvány használata esetén a tanúsítványt telepíteni kell az ügyfeleken a hozzáférés elvesztésének megakadályozása érdekében.If using a private certificate this certificate will need to be installed on clients to prevent loss of access.

Következő lépésekNext steps

Azure Stack Marketplace – áttekintésAzure Stack Marketplace overview