Oracle-11g-R2

管理powershell腳本中使用的登錄名/密碼的安全策略是什麼

  • September 25, 2016

我有幾個 Powershell 腳本需要將數據寫入 Oracle 數據庫。我不想硬編碼登錄憑據。

當連接到 SQL Server 時,我依賴於 Windows 身份驗證和 Active Directory,但這不是一個選項,因為 Oracle 數據庫位於單獨的網路 (Unix) 上。這些腳本將通過 SQL Server 代理在 SQL Server 上執行。

我希望提出一個安全的策略,並在更改密碼時將所涉及的工作降至最低。

您最好的選擇是使用ConvertTo-SecureStringConcertFrom-SecureString在文件(或表)中創建密碼。您將需要使用“-Key”或“-SecureKey”參數以允許具有 SQL Server 代理的服務帳戶將密碼讀入您的腳本。

我在這個過程中遇到的最好的文章可以在這里這裡找到。文章中感興趣的程式碼片段:

#Encrypting password on machine 1
$File = "\\Machine1\SharedPath\Password.txt"
[Byte[]] $key = (1..16)
$Password = "P@ssword1" | ConvertTo-SecureString -AsPlainText -Force
$Password | ConvertFrom-SecureString -key $key | Out-File $File

#Accessing the password on machine 2
$File = "\\Machine1\SharedPath\Password.txt"
[Byte[]] $key = (1..16)
Get-Content $File | ConvertTo-SecureString -Key $key

一般前提是您可以使用第一個過程將密碼保存到文件或表中。然後在您的 SQL 代理作業中以半安全方式讀取密碼。這不是最安全的,因為如果有人找到密鑰,他們顯然也可以讀取密碼。

同樣,最終您可能會將其作為純文字傳遞給目的地,除非它接受使用 PSCredential 對象。

引用自:https://dba.stackexchange.com/questions/149895