SecretStore モジュールの概要
SecretManagement モジュールと SecretStore モジュールは、PowerShell ギャラリーから使用でき、PowerShellGet コマンドを使用してインストールできます。
# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore
または
# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore
モジュールをインストールしたら、モジュールを読み込み、新しいシークレットの使用または作成を開始できます。
Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore
コンテナーをCreateしてシークレットを追加する
まず、コンテナーを登録する必要があります。 Name パラメーターはフレンドリ名であり、任意の有効な文字列を指定できます。
Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
DefaultVault パラメーターを使用すると、これが既定のコンテナーになります。
これで、シークレットを作成できます。
Set-Secret -Name TestSecret -Secret "TestSecretPassword"
次の使用例は、シークレットの値にプレーンテキスト文字列を渡します。 シークレット値には、次の 5 つのサポートされている型のいずれかを指定できます。
- byte[]
- String
- SecureString
- PSCredential
- Hashtable
コンテナーに初めてアクセスするときは、新しいコンテナーのパスワードを指定する必要があります。 このパスワードは、コンテナーをロックおよびロック解除するために使用されます。
Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********
を実行 Get-Secret
してシークレットを取得します。 AsPlainText スイッチを使用すると、シークレットが暗号化されていない文字列として返されます。
PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword
すべてのシークレットの一覧を取得するには、次を実行します。
PS> Get-SecretInfo
Name Type VaultName
---- ---- ---------
TestSecret String SecretStore
メモ
Name パラメーターを使用してを実行Set-Secret
してシークレットの名前を指定すると、コンテナー拡張機能によって実装されている がコマンドレットによって呼び出GetSecret()
されます。 Set-Secret
は、ユーザーが指定した名前を渡します。 コンテナー拡張機能は、その名前でシークレットを検索します。 が一致を返す場合 GetGecret()
は、 Set-Secret
NoClobber パラメーターを使用しない限り、シークレットが上書きされます。 コンテナー拡張機能は、受信したシークレット情報を常に書き込みます。
名前に対して大文字と小文字を区別する比較を使用するかどうかを決定するのは、コンテナー拡張機能の実装に依存します。 たとえば、 Microsoft.PowerShell.SecretStore 拡張機能コンテナー内のシークレット名では、大文字と小文字は区別されません。 渡す Set-Secret
名前が SecretStore コンテナー内の既存のシークレットの名前と大文字と小文字のみが異なる場合、名前は指定した新しい値で上書きされます。