Introdução ao módulo SecretStore
Os módulos SecretManagement e SecretStore estão disponíveis no Galeria do PowerShell e podem ser instalados usando comandos do PowerShellGet.
# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore
ou
# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore
Depois de instalar os módulos, você pode carregar os módulos e começar a usar ou criar novos segredos.
Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore
Create um cofre e adicionar um segredo
Primeiro, você deve registrar o cofre. O parâmetro Name é um nome amigável e pode ser qualquer cadeia de caracteres válida.
Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
O parâmetro DefaultVault torna esse o cofre padrão.
Agora você pode criar um segredo.
Set-Secret -Name TestSecret -Secret "TestSecretPassword"
Este exemplo passa uma cadeia de caracteres de texto não criptografado para o valor do segredo. O valor do segredo pode ser um dos cinco tipos com suporte:
- byte[]
- Cadeia de caracteres
- SecureString
- PSCredential
- Hashtable
Na primeira vez que acessar o cofre, você deverá fornecer uma senha para o novo cofre. Essa senha é usada para bloquear e desbloquear o cofre.
Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********
Execute Get-Secret
para recuperar o segredo. Usar a opção AsPlainText retorna o segredo como uma cadeia de caracteres não criptografada.
PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword
Para obter a lista de todos os seus segredos, você pode executar:
PS> Get-SecretInfo
Name Type VaultName
---- ---- ---------
TestSecret String SecretStore
Observações
Quando você executa Set-Secret
com o parâmetro Name para especificar o nome do segredo, o cmdlet chama GetSecret()
que é implementado pela extensão do cofre. Set-Secret
passa pelo nome conforme fornecido pelo usuário. A extensão do cofre pesquisa o segredo por esse nome. Se GetGecret()
retornar uma correspondência, Set-Secret
substituirá o segredo, a menos que você use o parâmetro NoClobber . A extensão do cofre sempre grava as informações secretas recebidas.
Cabe à implementação da extensão do cofre decidir se deve ou não usar uma comparação que diferencia maiúsculas de minúsculas no nome. Por exemplo, os nomes de segredo no cofre de extensões Microsoft.PowerShell.SecretStore não diferenciam maiúsculas de minúsculas. Se o nome que você passar para Set-Secret
for diferente apenas por caso com o nome de um segredo existente em um cofre SecretStore, o nome será substituído pelo novo valor fornecido.