Neste post, você aprenderá a utilizar o módulo SecretManagement do PowerShell para armazenar e recuperar suas credenciais com segurança. Além disso, demonstrei um exemplo de integração usando KeePass, um cofre de senha popular, com o módulo SecretManagement do PowerShell. Com as dicas e orientações deste post, você poderá gerenciar suas senhas de maneira mais segura e eficiente. Então, continue lendo e descubra como usar o módulo SecretManagement em seus scripts do PowerShell!
Conteúdo:
- Instalando módulo de gerenciamento de segredos
- Criando um armazenamento de senhas (SecretStore Vault) via PowerShell
- Crie uma senha mestra para acessar seu Cofre SecretStore
- Gerenciando credenciais salvas usando o módulo de gerenciamento de segredos
- Usando senhas salvas do cofre de segredos em scripts do PowerShell
- Gerenciando senhas e segredos usando KeePass com o PowerShel
Instalação do módulo de gerenciamento de segredos
O módulo SecretManagement requer Windows PowerShell versão 5.1 ou PowerShell Core 6.x, 7.x. Para instalar o SecretManagement usando o gerenciador de pacotes NuGet, execute o comando abaixo:
Install-Module -Name Microsoft.PowerShell.SecretManagement
Para instalar o cofre SecretStore padrão oferecido pela Microsoft, execute o seguinte comando:
Install-Module -Name Microsoft.PowerShell.SecretStore
Para exibir uma lista de cmdlets disponíveis no módulo, use estes comandos:

Criando um armazenamento de senhas (SecretStore Vault) via PowerShell
Primeiro de tudo, vamos criar um cofre secreto local. Vou nomeá-lo VMwarePassdb e torná-lo um armazenamento de senha padrão.
Caso necessário, antes execute:
Set-ExecutionPolicy -Scope Process Unrestricted

Comando para criar o cofre:
Register-SecretVault -Name VMwarePassdb -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
Você pode criar e usar cofres de senha locais e remotos. O comando abaixo exibe uma lista de cofres de senha registrados para o usuário atual:

Crie uma senha mestra para acessar seu Cofre
Vamos criar uma senha segura para proteger o cofre. Use o comando:

Por padrão, as seguintes configurações determinam quem e como pode acessar os armazenamentos de senhas:
- Scope – CurrentUser (somente o usuário atual pode acessar o SecretStore)
- Autenticação – Senha (acessar o cofre usando uma senha mestra)
- PasswordTimeout – 900 – a duração da sessão (em segundos) durante a qual você não precisa digitar novamente sua senha mestra. Você pode estender a duração da sessão: Set-SecretStoreConfiguration -PasswordTimeout 1200
- Interação – Solicitar (se deve inserir a senha mestra ao fazer alterações)

Caso você queira desativar a solicitação de senha mestra para acessar o cofre secreto (não recomendado), use o comando:
Set-SecretStoreConfiguration -Authentication None
Caso queira mudar a senha mestra, use o comando:
Set-SecretStorePassword

Depois de tudo criado. Vamos identificar o diretório dos arquivos do vault criados.
Caminho: %LOCALAPPDATA%\Microsoft\PowerShell\secretmanagement

Gerenciando credenciais salvas usando o módulo de gerenciamento de segredos
O cmdlet Set-Secret é uma ferramenta útil para adicionar senhas ao cofre de senha. Você pode usar esse cmdlet para adicionar um segredo do tipo SecureString e especificar um nome para a entrada. Essa entrada pode ser usada posteriormente em um script para acessar diferentes serviços, sem precisar inserir a senha manualmente. Por exemplo, você pode usar o Set-Secret para armazenar as credenciais do vCenter e, em seguida, usar essas credenciais em um script para automatizar tarefas de gerenciamento. Ao utilizar o cmdlet Set-Secret, você estará aumentando a segurança de suas senhas e tornando o gerenciamento de suas credenciais mais fácil e eficiente.
Comando para criar uma entrada para o cofre de senha VMwarePassdb para o usuário vmware:
Set-Secret -Vault VMwarePassdb -Name vmware -Secret (Get-Credential) -Metadata @{description = “VMware admin”}


Armazena a credencial do active directory vmware@virtualizandoaju.com.br na entrada “vmware”.
Verificando a lista de senhas salvas e suas descrições:

Usando senhas salvas do cofre de segredos em scripts do PowerShell
Agora você pode usar senhas salvas em seus scripts e comandos do PowerShell.
Depois de tudo configurado, qualquer script PowerCLI que você dseje usar, deverá conter o parâmetro -Credential seguido de (Get-secret -Vault “nomecofredb” -name “entrada cadastrada no cofre local”

Gerenciando senhas e segredos KeePass com o PowerShel
Você pode usar o módulo SecretManagement para acessar outros cofres de senhas populares. Vamos ver como acessar senhas salvas em um arquivo KeePass (*.kdbx).
Em primeiro lugar, instale o módulo SecretManagement para interagir com o KeePass:

Instale agora o pacote KeePass no swu Windows e crie uma base dados(personal_creds.kdbx), uma entrada de usuário(vmware) e uma senha master.
Em seguida, crie o arquivo: “C:\Users\vmware\Documents\personal_creds.kdbx”
Por fim, registre o arquivo do cofre KeePass localizado em seu perfil de usuário:

Digite a senha master do KeePass instalado.


Se você digitou a senha corretamente, o comando retorna True. Em seguida, exiba uma lista de senhas salvas no banco de dados do KeePass:

Para salvar um novo segredo no KeePass:
Set-Secret -Vault KeePassDB -Name “gabriel” -Secret (Get-Credential virtualizando\gabriel)


Agora vamos testar acesso ao vCenter:

Conclusão
E é isso! Duas maneiras de criar um cofre de senhas no Windows de forma nativa. A partir deste ponto inúmeras possibilidades de configuração tornam-se disponíveis.
“Fomos criados para avançar, crescer e subir a novas alturas. A nossa natureza é de crescimento, e isso implica esforço e trabalho duro.”
