有没有办法在不使用AD身份验证的情况下访问azure密钥保管库?

时间:2017-01-10 20:06:01

标签: powershell azure azure-keyvault

我想使用我的azure凭据访问我的azure密钥保管库中的机密,而不使用Azure AD App身份验证。有可能吗?

由于

2 个答案:

答案 0 :(得分:0)

您需要serviceprincipal名称来解密密钥。因此,答案是遗憾的。

答案 1 :(得分:-2)

我们可以使用C#代码中的Azure PowerShell脚本来完成此操作。为此,我们只需要keyvault的名称,秘密名称和想要访问它的用户的Azure凭据。

    static void Main(string[] args)
    {
            Program program = new Program();
            string scriptText = "Login-AzureRmAccount";
            string result = program.RunScript(scriptText);
            Console.WriteLine(result);
            Console.ReadLine();
    }

    private string RunScript(string scriptText)
    {

        Runspace runspace = RunspaceFactory.CreateRunspace();
        runspace.Open();        
        Pipeline pipeline = runspace.CreatePipeline();
        pipeline.Commands.AddScript(scriptText);
        pipeline.Commands.AddScript("$secret = Get-AzureKeyVaultSecret -VaultName '[Name_of_keyVault]' -Name '[Name_of_secret]'");
        pipeline.Commands.AddScript("Write $secret.SecretValueText");
        Collection<PSObject> results = pipeline.Invoke();           
        runspace.Close();            
        StringBuilder stringBuilder = new StringBuilder();
        foreach (PSObject obj in results)
        {
            stringBuilder.AppendLine(obj.ToString());
        }
        return stringBuilder.ToString();
    }

实际上,我想在没有AD应用程序身份验证的情况下访问密钥保管库。这是我能想到的唯一方式。