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 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
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 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 sem formatação para o valor do segredo. O valor do segredo pode ser um dos cinco tipos com suporte:
- byte[]
- string
-
SecureString - PSCredential
- hashable
Na primeira vez que acessar o cofre, você deve 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
Anotações
Quando você executa Set-Secret
com o parâmetro Name para especificar o nome do segredo, o cmdlet chama GetSecret()
implementadas pela extensão do cofre.
Set-Secret
passa pelo nome, conforme fornecido pelo usuário. A extensão do cofre procura o segredo com 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 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, nomes secretos no cofre de extensão Microsoft.PowerShell.SecretStore Set-Secret
for diferente apenas por caso com o nome de um segredo existente em um cofre SecretStore, o nome será substituído com o novo valor fornecido.