ドメインに参加している独自の資格情報を使用して Azure KeyVault にアクセスするための簡単なアプリケーションを作成しようとしています。資格情報の部分なのか、KeyVault へのアクセス方法なのかはわかりませんが、「無効な URI: URI の形式を特定できませんでした」という例外が引き続き発生します。Azure PowerShell コマンドレットを使用して KeyVault にアクセスできますが、C# を使用することはできません。
ここに私が持っているコードがあります:
class Program
{
const string ClientId = "MY AAD CLIENT ID";
static void Main(string[] args)
{
Console.WriteLine("Hello, KeyVault!");
var client = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetAccessToken));
var secret = client.GetSecretAsync("vaultName", "secretName").Result; // Throws Invalid URI: The format of the URI could not be determined
Console.WriteLine(secret.Value);
Console.ReadLine();
}
private static async Task<string> GetAccessToken(string authority, string resource, string scope)
{
var context = new AuthenticationContext(authority, TokenCache.DefaultShared);
var authResult = await context.AcquireTokenAsync(resource, ClientId, new UserCredential());
return authResult.AccessToken;
}
}
何が原因でしょうか? インターネットを精査しましたが、この方法で KeyVault にアクセスする方法を示すサンプル コードは見つかりませんでした。