Compartilhar via


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.