我想使用我的azure凭据访问我的azure密钥保管库中的机密,而不使用Azure AD App身份验证。有可能吗?
由于
答案 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应用程序身份验证的情况下访问密钥保管库。这是我能想到的唯一方式。