Azure のサービスに繋ぎに行くとき、Managed Identity を使ってセキュアに接続する方法がありますが、ローカルで動かしたいときは、少しややこしいのでメモとして残します
ローカルで Managed Identity に繋ぐ
因みに今回は、Azure Appn Configuration を例に出します。
用意するもの
- Azure のアカウント
- Visual Studio (今回は、2019)
Azure のアカウントに Managed Identity での接続を許可する
まず Azure のアカウントに権限を付与します。 Managed Identity で接続したいサービスの IAM > Role Assaignments > Add role assaignment を選択します。
次に設定するロールを選択します。 App Configuration の場合は、App Configuration Data Reader で大丈夫です
Assign access to は、Azure AD User, group, or service principal を選択します。
Visual Studio を設定する
ローカルから Managed Identity で繋ぐ場合の認証情報は、Visual Studio に設定されている認証情報を使用します。 そのため Visual Studio でログインしている MSアカウント or 組織アカウント に Managed Identity でリソースにアクセスする権限が付与されていれば、そのまま接続されます。
先ほど権限を付与したアカウントで Visual Studio にログイン出来る場合は、これで繋がるようになるはずです。
権限を付与したアカウントと Visual Studio のライセンスを持っているアカウントが異なる場合は、別の方法で設定します。
Visual Studio の Tools > Options > Azure Service Authentication の項目に移動します。
この部分は、デフォルトで Visual Studio のログインに使用しているアカウントが選択されます。 なのでここで先ほど権限付与を行ったアカウントを選択 or 登録すると Visual Studio のログイン用アカウントと Azure との接続に使用するアカウント情報を別々にすることが出来ます。
まとめ
Managed Identity は、かなり便利なので活用してみましょう