Partilhar via


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 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 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.