Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向Zabbix登录API提供Azure密钥保险库密码_Azure_Zabbix_Azure Keyvault - Fatal编程技术网

向Zabbix登录API提供Azure密钥保险库密码

向Zabbix登录API提供Azure密钥保险库密码,azure,zabbix,azure-keyvault,Azure,Zabbix,Azure Keyvault,如何将密码传递给Zabbix API json登录脚本,因为密码作为机密保存在Azure密钥库中 $json_login = ' { "jsonrpc": "2.0", "method": "user.login", "params": { "user": "ZabbixUser", "passwo

如何将密码传递给Zabbix API json登录脚本,因为密码作为机密保存在Azure密钥库中

$json_login = '
            {
                "jsonrpc": "2.0",
                "method": "user.login",
                "params": {
                    "user": "ZabbixUser",
                    "password": "**Need to getfrom Azure Key Vault secret**"
                },
                "id": 1,
                "auth": null
                }'

$output = Invoke-RestMethod -ContentType application/json -Method Post -Uri $uri -Body $json_login
Write-Output $output
使用以下内容是不安全的,因为它以纯文本形式提供:

$Password = (Get-AzKeyVaultSecret -VaultName "MyVault" -Name "MySecretName").SecretValueText
从powershell调用Zabbix的登录名


谢谢大家!

您可以修改请求正文$json\u登录的格式,如下所示,在运行$Password=Get-AzKeyVaultSecret-VaultName MyVault-Name MySecretName.SecretValueText后,将$Password直接传递给正文,这样就不会出现纯文本,这是安全的,因为只有在您的keyvault的访问策略中具有secret权限的人才能从get-AzKeyVault secret获取权限


有关用法的更多详细信息,请参阅本文中的示例2。

Hmm。。。我担心$password变量result会有一个纯文本,而不是通常从PSCredentials获取的System.Security.SecureString。@Mund如果在请求正文中使用SecureString,我想它将不起作用,从,密码应该是字符串。我认为我的解决方案是安全的,秘密值不会在文本中公开,如果某人在访问策略中没有权限,他无论如何也不会获得秘密。该脚本只适用于有权限的人。
$json_login = @{
                jsonrpc = "2.0"
                method = "user.login"
                params = @{
                    user = "ZabbixUser"
                    password= $Password
                }
                id = "1"
                auth= "null"
                }