SecretClient.GetSecret 总是抛出 400 错误
SecretClient.GetSecret always throws 400 error
我正在尝试从旧的“Microsoft.Azure.KeyValut”包转移到新的“Azure.Security.KeyVault.Secrets”
我可以列出我所有的秘密,但是当我尝试获取秘密值时,我得到了 400 Http 状态错误:
Azure.RequestFailedException: 'Service request failed. Status: 400
(Bad Request)
Content: {"error":{"code":"BadParameter","message":"Method GET does
not allow operation 'ChilkatUnlock'"}}
internal SecretClient GetClient() {
var client = new SecretClient(new Uri(cKvUri), new ClientSecretCredential(cAzureTennantId, cAzureClientId, cAzureClientSecret));
return client;
}
internal void ListSecrets() {
var client = GetClient();
Pageable<SecretProperties> allSecrets = client.GetPropertiesOfSecrets();
foreach (SecretProperties secretProperties in allSecrets) {
Console.WriteLine(secretProperties.Name);
var val = client.GetSecret(secretProperties.Name);
Console.WriteLine(val.Value);
}
}
我尝试使用您问题中的代码,它 returns 秘密没有错误。请检查您的 ChilkatUnlock
方法。我终于分享了访问策略。
var client = new SecretClient(new Uri(cKvUri), new ClientSecretCredential(cAzureTennantId, cAzureClientId, cAzureClientSecret));
Pageable<SecretProperties> allSecrets = client.GetPropertiesOfSecrets();
foreach (SecretProperties secretProperties in allSecrets)
{
Console.WriteLine("Secret: " + secretProperties.Name);
var val = client.GetSecret(secretProperties.Name);
Console.WriteLine("Value: " + val.Value);
}
访问策略:
我正在尝试从旧的“Microsoft.Azure.KeyValut”包转移到新的“Azure.Security.KeyVault.Secrets”
我可以列出我所有的秘密,但是当我尝试获取秘密值时,我得到了 400 Http 状态错误:
Azure.RequestFailedException: 'Service request failed. Status: 400 (Bad Request)
Content: {"error":{"code":"BadParameter","message":"Method GET does not allow operation 'ChilkatUnlock'"}}
internal SecretClient GetClient() {
var client = new SecretClient(new Uri(cKvUri), new ClientSecretCredential(cAzureTennantId, cAzureClientId, cAzureClientSecret));
return client;
}
internal void ListSecrets() {
var client = GetClient();
Pageable<SecretProperties> allSecrets = client.GetPropertiesOfSecrets();
foreach (SecretProperties secretProperties in allSecrets) {
Console.WriteLine(secretProperties.Name);
var val = client.GetSecret(secretProperties.Name);
Console.WriteLine(val.Value);
}
}
我尝试使用您问题中的代码,它 returns 秘密没有错误。请检查您的 ChilkatUnlock
方法。我终于分享了访问策略。
var client = new SecretClient(new Uri(cKvUri), new ClientSecretCredential(cAzureTennantId, cAzureClientId, cAzureClientSecret));
Pageable<SecretProperties> allSecrets = client.GetPropertiesOfSecrets();
foreach (SecretProperties secretProperties in allSecrets)
{
Console.WriteLine("Secret: " + secretProperties.Name);
var val = client.GetSecret(secretProperties.Name);
Console.WriteLine("Value: " + val.Value);
}
访问策略: