Mulai menggunakan modul SecretStore

Modul SecretManagement dan SecretStore tersedia dari Galeri PowerShell dan dapat diinstal menggunakan perintah 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

Setelah menginstal modul, Anda dapat memuat modul dan mulai menggunakan atau membuat rahasia baru.

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

Membuat vault dan menambahkan rahasia

Pertama, Anda harus mendaftarkan vault. Parameter Nama adalah nama yang mudah diingat dan dapat berupa string yang valid.

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

Parameter DefaultVault menjadikannya vault default.

Sekarang Anda dapat membuat rahasia.

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

Contoh ini meneruskan string teks biasa untuk nilai rahasia. Nilai rahasia dapat berupa salah satu dari lima jenis yang didukung:

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

Saat pertama kali mengakses vault, Anda harus memberikan kata sandi untuk vault baru. Kata sandi ini digunakan untuk mengunci dan membuka kunci vault.

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

Jalankan Get-Secret untuk mengambil rahasia. Menggunakan sakelar AsPlainText mengembalikan rahasia sebagai string yang tidak terenkripsi.

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

Untuk mendapatkan daftar semua rahasia Anda, Anda dapat menjalankan:

PS> Get-SecretInfo

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

Catatan

Saat Anda menjalankan Set-Secret dengan parameter Nama untuk menentukan nama rahasia, cmdlet memanggil GetSecret() yang diimplementasikan oleh ekstensi vault. Set-Secret melewati nama sebagaimana disediakan oleh pengguna. Ekstensi vault mencari rahasia dengan nama tersebut. Jika GetGecret() mengembalikan kecocokan, Set-Secret timpa rahasia kecuali Anda menggunakan parameter NoClobber . Ekstensi vault selalu menulis informasi rahasia yang diterimanya.

Terserah implementasi ekstensi vault untuk memutuskan apakah akan menggunakan perbandingan peka huruf besar/kecil pada nama atau tidak. Misalnya, nama rahasia di vault ekstensi Microsoft.PowerShell.SecretStore tidak peka huruf besar/kecil. Jika nama yang Anda berikan Set-Secret hanya berbeda menurut kasus dengan nama rahasia yang ada di brankas SecretStore, namanya akan ditimpa dengan nilai baru yang Anda berikan.