J'utilise Microsoft.Azure.keyVault
pour essayer d'obtenir un secret d'un coffre-fort clé dans Azure. J'ai enregistré une application comme Native et Web API.Obtention d'un certificat non autorisé lors de la tentative d'obtention d'un secret à partir de la clé Azure Vault
La connexion à l'AD est réussie (peut confirmer ceci en obtenant un AccessToken
valide sur AuthenticationContext.AcquireTokenAsync
).
Dans Azure AD, les deux applications ont reçu des stratégies de contrôle d'accès (IAM) et d'accès dans le coffre-fort de clés. Je confirme que la base de Key Vault Url et le nom secret sont corrects, mais lors de l'appel suivant
var sec = kv.GetSecretAsync("https://xxxxxxx.vault.azure.net", "xxsecretnamexx").GetAwaiter().GetResult();
Je continue à obtenir l'erreur
{"Operation returned an invalid status code 'Unauthorized'"} Microsoft.Azure.KeyVault.Models.KeyVaultErrorException
Un sidenote: Toute tentative de le faire en vous connectant en tant qu'utilisateur Le code pour obtenir le jeton est la suivante
.AcquireTokenAsync(resourceUri,clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.SelectAccount))
Nous avons un code de travail en utilisant l'identifiant et secret d'une application AD Azure enregistré qui a des droits sur la voûte clé.
Essayez de faire la même chose sans utiliser l'ID et le secret d'une application Azure AD associée associée, mais d'afficher une invite de connexion lors de l'obtention du jeton d'accès à Azure AD.
Quelle est la valeur pour 'resourceUri'? – juunas