Aan de slag met de SecretStore-module

Important

Het PowerShell-team heeft besloten dat Secret-modules volledig functioneel zijn en niet langer actief ontwikkeld zullen worden. De modules blijven ondersteund voor beveiligings- en kritieke bugfixes. De coderepository is gearchiveerd.

De meest recente gepubliceerde versies zijn:

De aard van geheimen is fundamenteel veranderd sinds het ontwerp van dit project. Wachtwoordloze authenticatiemethoden zoals passkeys, single sign-on en gefedereerde inloggegevens zoals Microsoft Entra ID, biometrie en hardware-beveiligingssleutels zijn de toekomst.

De modules SecretManagement en SecretStore zijn beschikbaar in de PowerShell Gallery en kunnen worden geïnstalleerd met PowerShellGet-commando's.

# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore

or

# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore

Zodra je de modules hebt geïnstalleerd, kun je de modules laden en beginnen met het gebruiken of creëren van nieuwe geheimen.

Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore

Maak een kluis aan en voeg een geheim toe

Eerst moet je de kluis registreren. De Naamparameter is een vriendelijke naam en kan elke geldige string zijn.

Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault

De DefaultVault-parameter maakt dit de standaard vault.

Nu kun je een geheim creëren.

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

Dit voorbeeld geeft een plaintextstring door voor de waarde van het geheim. De geheime waarde kan een van vijf ondersteunde types zijn:

  • byte[]
  • String
  • SecureString
  • PSCredential-
  • Hashtable-

De eerste keer dat je de kluis opent, moet je een wachtwoord voor de nieuwe kluis opgeven. Dit wachtwoord wordt gebruikt om de kluis te vergrendelen en te ontgrendelen.

Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********

Ren Get-Secret om het geheim te bemachtigen. Het gebruik van de AsPlainText-switch geeft het geheim terug als een niet-versleutelde string.

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

Om de lijst van al je geheimen te krijgen, kun je het volgende doen:

PS> Get-SecretInfo

Name       Type   VaultName
----       ----   ---------
TestSecret String SecretStore

Aantekeningen

Wanneer u Set-Secret uitvoert met de parameter Name om de naam van het geheim op te geven, roept de cmdlet GetSecret() aan die is geïmplementeerd door de kluisextensie. Set-Secret de naam doorgeeft zoals opgegeven door de gebruiker. De kluisextensie zoekt het geheim op met die naam. Als GetSecret() een overeenkomst retourneert, overschrijft Set-Secret het geheim, tenzij u de parameter NoClobber gebruikt. De kluisextensie schrijft altijd de geheime informatie die wordt ontvangen.

Het is aan de implementatie van de kluisextensie om te bepalen of een hoofdlettergevoelige vergelijking op de naam moet worden gebruikt. Geheime namen in de Microsoft.PowerShell.SecretStore extensiekluis zijn bijvoorbeeld niet hoofdlettergevoelig. Als de naam die u doorgeeft aan Set-Secret alleen verschilt per geval met de naam van een bestaand geheim in een SecretStore-kluis, wordt de naam overschreven met de nieuwe waarde die u hebt opgegeven.