Я хочу получить доступ к секретам в моем хранилище ключей Azure, используя свои учетные данные Azure, не используя проверку подлинности приложения Azure AD. Есть ли возможный способ?
Спасибо
Я хочу получить доступ к секретам в моем хранилище ключей Azure, используя свои учетные данные Azure, не используя проверку подлинности приложения Azure AD. Есть ли возможный способ?
Спасибо
Вам понадобится имя serviceprincipal, чтобы расшифровать ключ. Следовательно, ответ, к сожалению, НЕТ.
Мы можем сделать это с помощью сценария Azure PowerShell в коде C#. Для этого нам потребуется только имя хранилища ключей, имя секрета и учетные данные 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. Это был единственный способ, который я мог придумать.