我有几个需要将数据写入 Oracle 数据库的 Powershell 脚本。我不想硬编码登录凭据。
连接到 SQL Server 时,我依赖于 Windows 身份验证和 Active Directory,但这不是这里的选项,因为 Oracle 数据库位于单独的网络 (Unix) 上。这些脚本将通过 SQL Server 代理在 SQL Server 上执行。
我希望提出一种安全的策略,并在更改密码时最大限度地减少所涉及的工作。
我有几个需要将数据写入 Oracle 数据库的 Powershell 脚本。我不想硬编码登录凭据。
连接到 SQL Server 时,我依赖于 Windows 身份验证和 Active Directory,但这不是这里的选项,因为 Oracle 数据库位于单独的网络 (Unix) 上。这些脚本将通过 SQL Server 代理在 SQL Server 上执行。
我希望提出一种安全的策略,并在更改密码时最大限度地减少所涉及的工作。
您最好的选择是使用ConvertTo-SecureString和ConcertFrom-SecureString在文件(或表)中创建密码。您将需要使用“-Key”或“-SecureKey”参数来允许具有 SQL Server 代理的服务帐户将密码读入您的脚本。
我在这个过程中遇到的最好的文章可以在这里和这里找到。文章中感兴趣的代码片段:
一般前提是您可以使用第一个过程将密码保存到文件或表中。然后在您的 SQL Agent 作业中以半安全的方式读回密码。它不是最安全的,因为如果有人找到密钥,他们显然也可以读取密码。
同样,最后您可能会将其作为纯文本传递到目的地,除非它接受使用 PSCredential 对象。