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.