Wprowadzenie do modułu SecretStore
Moduły SecretManagement i SecretStore są dostępne w galerii programu PowerShell i można je zainstalować przy użyciu poleceń PowerShellGet.
# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore
lub
# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore
Po zainstalowaniu modułów możesz załadować moduły i rozpocząć używanie lub tworzenie nowych wpisów tajnych.
Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore
Tworzenie magazynu i dodawanie wpisu tajnego
Najpierw musisz zarejestrować magazyn. Parametr Nazwa jest przyjazną nazwą i może być dowolnym prawidłowym ciągiem.
Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
Parametr DefaultVault sprawia, że jest to domyślny magazyn.
Teraz możesz utworzyć wpis tajny.
Set-Secret -Name TestSecret -Secret "TestSecretPassword"
Ten przykład przekazuje ciąg w postaci zwykłego tekstu dla wartości wpisu tajnego. Wartość wpisu tajnego może być jednym z pięciu obsługiwanych typów:
- bajt[]
- ciąg
-
SecureString - PSCredential
Przy pierwszym uzyskiwaniu dostępu do magazynu należy podać hasło dla nowego magazynu. To hasło służy do blokowania i odblokowywania magazynu.
Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********
Uruchom Get-Secret
, aby pobrać wpis tajny. Użycie przełącznika AsPlainText zwraca wpis tajny jako niezaszyfrowany ciąg.
PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword
Aby uzyskać listę wszystkich wpisów tajnych, możesz uruchomić następujące polecenie:
PS> Get-SecretInfo
Name Type VaultName
---- ---- ---------
TestSecret String SecretStore
Notatki
Po uruchomieniu Set-Secret
z parametrem Name w celu określenia nazwy wpisu tajnego polecenie cmdlet wywołuje GetSecret()
implementowane przez rozszerzenie magazynu.
Set-Secret
przechodzi przez nazwę podaną przez użytkownika. Rozszerzenie magazynu wyszukuje wpis tajny według tej nazwy. Jeśli GetSecret()
zwraca dopasowanie, Set-Secret
zastąpi wpis tajny, chyba że użyjesz parametru NoClobber. Rozszerzenie magazynu zawsze zapisuje informacje o wpisie tajnym, które otrzymuje.
Implementacja rozszerzenia magazynu zależy od tego, czy należy użyć porównania z uwzględnieniem wielkości liter w nazwie. Na przykład nazwy wpisów tajnych w magazynie rozszerzeń Microsoft.PowerShell.SecretStore są niewrażliwe na wielkość liter. Jeśli nazwa przekazywana do Set-Secret
różni się tylko literą o nazwie istniejącego wpisu tajnego w magazynie SecretStore, nazwa zostanie zastąpiona nową wartością.