Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Modul SecretStore je trezor rozšíření pro modul SecretManagement PowerShellu. Ukládá tajné kódy místně v souborech pro aktuální kontext uživatelského účtu a k šifrování obsahu souborů používá rozhraní .NET API pro šifrování. Modul SecretStore má několik možností konfigurace. Ve výchozí konfiguraci se k ukládání tajných kódů a přístupu k nim vyžaduje heslo a poskytuje nejsilnější ochranu. SecretStore podporuje také ukládání metadat o tajných kódech.
Registrace nového trezoru
Než budete moct vytvořit nový tajný klíč, musíte zaregistrovat trezor. Parametr Name je popisný název a může to být libovolný platný řetězec.
Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
Důležité
Modul SecretManagement umožňuje registraci trezoru rozšíření několikrát, protože je možné, že trezor rozšíření může podporovat různé kontexty prostřednictvím registrace VaultParameters. Trezor SecretStore ale v současné době vždy funguje v oboru přihlášeného uživatele. Registrace několika trezorů SecretStore s různými názvy má za následek duplikaci stejného úložiště.
Pomocí následujícího příkazu zobrazte seznam registrovaných trezorů:
Get-SecretVault
Name ModuleName IsDefaultVault
---- ---------- --------------
Edge SecretManagement.Chromium False
SecretStore Microsoft.PowerShell.SecretStore True
V tomto příkladu jsou zaregistrované dva trezory, které používají různé moduly rozšíření.
Konfigurace trezoru
Pomocí rutiny Get-SecretStoreConfiguration
zobrazte konfiguraci trezoru.
Get-SecretStoreConfiguration
Scope Authentication PasswordTimeout Interaction
----- -------------- --------------- -----------
CurrentUser Password 900 Prompt
Trezory SecretStore mají následující nastavení konfigurace:
- Ověřování -
Password
(výchozí) neboNone
- Časový limit -
900
hesla sekund (výchozí) - Interakce -
Prompt
(výchozí) neboNone
Výchozí konfigurace vyžaduje heslo, nastaví časový limit hesla relace na 15 minut a vyzve uživatele k zadání hesla k odemknutí trezoru.
V případě neinteraktivních scénářů automatizace je možné interakci nakonfigurovat tak None
, aby se potlačilo zobrazování výzev uživateli. Pokud se vyžaduje heslo, příkazy trezoru vrátí výjimku Microsoft.PowerShell.SecretStore.PasswordRequiredException , pokud neexistuje platné heslo relace. Pomocí Unlock-SecretStore
rutiny můžete zadat heslo pro aktuální relaci PowerShellu. Trezor zůstane odemknutý, dokud nevyprší časový limit.
Konfigurace trezoru a data se ukládají v samostatných souborech. Umístění souboru závisí na operačním systému platformy.
- Pro platformy Windows je umístění:
$env:LOCALAPPDATA\Microsoft\PowerShell\secretmanagement\localstore\
- Pro jiné platformy než Windows je umístění následující:
$HOME/.secretmanagement/localstore/
Změna konfigurace
Konfiguraci trezoru můžete změnit pomocí rutiny Set-SecretStoreConfiguration
. Rutina poskytuje parametry Authentication, PasswordTimeout a Interaction , které se používají ke změně odpovídajících vlastností konfigurace. K dispozici je také parametr Default , který obnoví konfiguraci zpět na výchozí hodnoty.
Existují dva způsoby, jak v trezoru nastavit heslo.
- Rutina
Set-SecretStoreConfiguration
má parametr Password , který přebírá hodnotu SecureString . - Rutina
Set-SecretStorePassword
změní heslo trezoru. Rutina nepřijímá žádné parametry a dá se používat jenom interaktivně. Zobrazí se výzva k zadání starých a nových hesel.
Přidání metadat
Modul SecretStore umožňuje přidat do tajných kódů necitlivá metadata. Metadata se dají použít k dokumentování zamýšleného účelu tajného kódu. Například k označení, že tajný kód je určený pro konkrétní scénář předplatného nebo aplikace. Můžete také přidat metadata o datu vytvoření tajného kódu, času vypršení platnosti nebo další informace používané ke správě životního cyklu tajného kódu.
Metadata můžou být libovolná dvojice klíč-hodnota. Modul SecretStore podporuje následující typy hodnot pro metadata:
- řetězec
- Int
- Datum a čas
Vytvoření nového tajného klíče s metadaty:
$metadata = @{
Purpose = 'Testing'
Expires = (Get-Date).AddDays(30)
Limit = 5
}
Set-Secret -Name TestSecret -Secret NewSecret -Metadata $metadata
Pokud chcete zobrazit metadata tajných kódů, můžete spustit příkaz :
Get-SecretInfo -Name TestSecret | Format-List *
Name : TestSecret
Type : String
VaultName : SecretStore
Metadata : {[Limit, 5], [Expires, 6/23/2022 1:45:09 PM], [Purpose, Testing]}
Metadata pro existující tajný kód můžete nastavit také pomocí rutiny Set-SecretInfo
:
Set-SecretInfo TestSecret -Metadata @{Purpose = "showing the new cmdlet"}
Get-SecretInfo -Name TestSecret | Select-Object Metadata
Metadata
--------
{[Purpose, showing the new cmdlet]}
Upozornění
Tím se přepíše všechna existující metadata novými hodnotami.
Resetování nebo odebrání trezoru
Rutina Reset-SecretStore
resetuje trezor SecretStore odstraněním všech tajných kódů a konfigurací úložiště s výchozími možnostmi. Je určena k použití pouze v případě, že dojde ke ztrátě požadovaného hesla nebo poškození datových souborů. Výchozí možnosti konfigurace lze přepsat zadáním parametrů možností konfigurace jednotlivých příkazů.