繁体   English   中英

使用 Connect-AzAccount 保存 ClientId 和 ClientSecret 以对 Azure 进行身份验证的安全方法

[英]Secure way to save ClientId and ClientSecret to authenticate to Azure using Connect-AzAccount

我正在寻找一种在本地机器上运行脚本并使用 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 密码并将其保存在可以使用密钥解密的文件中。 这样,秘密就永远不会是纯文本。

有没有其他“干净”的方式来做到这一点?

谢谢 !

一次创建一个凭证 object 并使用Export-Clixml为当前用户/机器存储它。

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

样本

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


# Read the credentials
$Credentials = Import-Clixml -Path $PSScriptRoot\Access.xml

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM