Compartir a través de


Introducción al módulo SecretStore

Los módulos SecretManagement y SecretStore están disponibles en la Galería de PowerShell y se pueden instalar mediante comandos PowerShellGet.

# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore

o

# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore

Una vez instalados los módulos, puede cargar los módulos y empezar a usar o crear nuevos secretos.

Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore

Creación de un almacén y adición de un secreto

En primer lugar, debe registrar el almacén. El parámetro Name es un nombre descriptivo y puede ser cualquier cadena válida.

Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault

El parámetro DefaultVault hace que este sea el almacén predeterminado.

Ahora puede crear un secreto.

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

En este ejemplo se pasa una cadena de texto no cifrado para el valor del secreto. El valor del secreto puede ser uno de los cinco tipos admitidos:

  • byte[]
  • cadena
  • SecureString
  • PSCredential
  • hashtable

La primera vez que acceda al almacén, debe proporcionar una contraseña para el nuevo almacén. Esta contraseña se usa para bloquear y desbloquear el almacén.

Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********

Ejecute Get-Secret para recuperar el secreto. Con el modificador AsPlainText devuelve el secreto como una cadena sin cifrar.

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

Para obtener la lista de todos los secretos, puede ejecutar:

PS> Get-SecretInfo

Name       Type   VaultName
----       ----   ---------
TestSecret String SecretStore

Notas

Al ejecutar Set-Secret con el parámetro Name para especificar el nombre del secreto, el cmdlet llama a GetSecret() que implementa la extensión del almacén. Set-Secret pasa por el nombre proporcionado por el usuario. La extensión del almacén busca el secreto por ese nombre. Si GetSecret() devuelve una coincidencia, Set-Secret sobrescribe el secreto a menos que use el parámetro NoClobber. La extensión del almacén siempre escribe la información secreta que recibe.

Depende de la implementación de la extensión del almacén decidir si se debe usar o no una comparación que distingue mayúsculas de minúsculas en el nombre. Por ejemplo, los nombres de secreto de la microsoft.PowerShell.SecretStore almacén de extensiones no distinguen mayúsculas de minúsculas. Si el nombre que pasa a Set-Secret difiere solo por mayúsculas y minúsculas con el nombre de un secreto existente en un almacén de SecretStore, el nombre se sobrescribe con el nuevo valor proporcionado.

  • Register-SecretVault
  • Get-Secret
  • Set-Secret