SecretStore modülünü kullanmaya başlama

Important

PowerShell ekibi, Gizli modüllerin tam özellik olduğuna ve artık aktif olarak geliştirilmeyeceğine karar verdi. Modüller güvenlik ve kritik hata düzeltmeleri için desteklenmeye devam edecek. Kod deposu arşivlendi.

Yayınlanan en son sürümler şunlardır:

Sırların doğası, bu proje tasarlandığından beri köklü bir şekilde değişti. Şifresiz kimlik doğrulama yöntemleri gibi şifresiz kimlik doğrulama yöntemleri (örneğin şifreli anahtarlar, tek oturum girişi ve Microsoft Entra ID, biyometrik ve donanım güvenlik anahtarları gibi federe kimlik doğrulama sistemleri gelecek.

SecretManagement ve SecretStore modülleri PowerShell Galerisi'nden edinilebilir ve PowerShellGet komutları kullanılarak yüklenebilir.

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

veya

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

Modülleri yükledikten sonra modülleri yükleyebilir ve yeni gizli diziler kullanmaya veya oluşturmaya başlayabilirsiniz.

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

Kasa oluşturma ve gizli dizi ekleme

Önce kasayı kaydetmeniz gerekir. Name parametresi kolay bir addır ve geçerli bir dize olabilir.

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

DefaultVault parametresi bunu varsayılan kasa yapar.

Artık bir gizli dizi oluşturabilirsiniz.

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

Bu örnek, gizli dizi değeri için düz metin dizesi geçirir. Gizli dizi değeri desteklenen beş türden biri olabilir:

  • bayt[]
  • dize
  • SecureString
  • PSCredential
  • Hashtable

Kasaya ilk kez erişişiniz için yeni kasa için bir parola sağlamanız gerekir. Bu parola kasayı kilitlemek ve kilidini açmak için kullanılır.

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

Gizli diziyi almak için Get-Secret çalıştırın. AsPlainText anahtarının kullanılması gizli diziyi şifrelenmemiş bir dize olarak döndürür.

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

Tüm gizli dizilerinizin listesini almak için şunları çalıştırabilirsiniz:

PS> Get-SecretInfo

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

Notlar

gizli dizinin adını belirtmek için Set-Secret parametresiyle çalıştırdığınızda, cmdlet kasa uzantısı tarafından uygulanan GetSecret() çağırır. Set-Secret kullanıcı tarafından sağlanan adı geçirir. Kasa uzantısı gizli diziyi bu ada göre arar. GetSecret() bir eşleşme döndürürse, Set-SecretNoClobber parametresini kullanmadığınız sürece gizli dizinin üzerine yazar. Kasa uzantısı her zaman aldığı gizli bilgileri yazar.

Ad üzerinde büyük/küçük harfe duyarlı bir karşılaştırma kullanıp kullanmamaya karar vermek kasa uzantısı uygulamasına bağlıdır. Örneğin, Microsoft.PowerShell.SecretStore uzantı kasasındaki gizli dizi adları büyük/küçük harfe duyarlı değildir. Set-Secret geçirdiğiniz ad yalnızca SecretStore kasasında var olan bir gizli dizinin adıyla büyük/küçük harfe göre değişirse, sağladığınız yeni değerle adın üzerine yazılır.