保存 ClientId 和 ClientSecret 以使用 Connect-AzAccount 向 Azure 进行身



我正在寻找一种安全的方法,让脚本在本地计算机上运行,并在Azure中使用这些命令进行身份验证:

$Password = ConvertTo-SecureString -AsPlainText "my_secret" -Force
$Credential = New-Object System.Management.Automation.PSCredential ("my_client_id", $Password)
$TenantId = "my_tenant_id"
Connect-AzAccount -ServicePrincipal -Credential $Credential -Tenant $TenantId

问题是我不想将密钥保存为脚本中的纯文本。 我找到的唯一解决方案是加密SecureString密码并将其保存在可以使用密钥解密的文件中。 这样,机密永远不会是纯文本。

还有其他"干净"的方法吗?

谢谢!

创建一次凭据对象,并使用 Export-Clixml 为当前用户/计算机存储它。

然后,您可以使用 Import-Clixml 将它们读回脚本中。

样本

# Set credentials
$Credentials = Get-Credential        # Set your id and secret
$Credentials | Export-Clixml -Path $PSScriptRootAccess.xml -Confirm:$false

# Read the credentials
$Credentials = Import-Clixml -Path $PSScriptRootAccess.xml

相关内容

  • 没有找到相关文章

最新更新