開発およびデバッグ中にKeyVaultにアクセスする必要があります。マネージドサービスIDを使用して可能ですか?私のコードは アプリがVMにデプロイされたときにこの資格情報を取得する ことができることがわかりますが、ローカルワークステーションでの開発中にそれらが必要な場合はどうなりますか?
Visual Studio 2017 15.8.somethingの時点で、juunasが言及した拡張機能がVisualStudioに組み込まれています。
ツール->オプション-> Azureサービス認証->アカウントの選択
1つの方法は、 2.0 Azure CLI をインストールし、az login
でログインすることです。次に、az account set -s "My Azure Subscription name or id"
で適切なサブスクリプションが選択されていることを確認します。
次に、サインインしたユーザーアカウントがKeyVaultにアクセスできることを確認する必要があります。
次に、Visual Studioを再起動して、アプリを実行します。正常に認証されるはずです。
もう1つの方法は、CLIの代わりに新しい Visual Studio拡張機能 を使用することです。
これはMicrosoftのサンプルアプリです ( Githubプロジェクト )ReadmeでMSIとKeyVaultを使用してローカル開発者を起動して実行する方法のかなり詳細な手順
重要なのは、ローカルでデバッグしているときは、MSIによって登録されたアプリのサービスプリンシパルとしてではなく、自分自身として実行しているということです。 Azure CLI az login
およびaz account set
コマンドは、デバッグセッションのデフォルトコンテキストを設定します。これらのコマンドを実行してから、Azure IDを使用してポータルにログインし、AzureIDにキーボールトへのアクセスを許可します。