Introdução ao módulo SecretStore
Os módulos SecretManagement e SecretStore estão disponíveis na Galeria do PowerShell e podem ser instalados usando comandos PowerShellGet.
# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore
quer
# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore
Depois de instalar os módulos, você pode carregá-los e começar a usar ou criar novos segredos.
Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore
Criar 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 este 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 simples para o valor do segredo. O valor secreto pode ser um dos cinco tipos suportados:
- byte[]
- String
- SecureString
- PSCredential
- Hashtable
Na primeira vez que aceder ao cofre, tem de fornecer uma palavra-passe para o novo cofre. Esta palavra-passe é utilizada 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
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 vault.
Set-Secret
passa pelo nome fornecido pelo usuário. A extensão vault procura o segredo por esse nome. Se GetSecret()
retornar uma correspondência, Set-Secret
substituirá o segredo, a menos que você use o parâmetro NoClobber. A extensão do vault sempre grava as informações secretas que recebe.
Cabe à implementação da extensão do vault decidir se usa ou não uma comparação que diferencia maiúsculas de minúsculas no nome. Por exemplo, nomes secretos no cofre de extensão do Microsoft.PowerShell.SecretStore não diferenciam maiúsculas de minúsculas. Se o nome que você passar para Set-Secret
diferir apenas por maiúsculas e minúsculas com o nome de um segredo existente em um cofre SecretStore, o nome será substituído pelo novo valor fornecido.
Ligações úteis
- Register-SecretVault
- Get-Secret
- Set-Secret