正解: Get と List。
解説: ASP.NET Core の Azure Key Vault 構成プロバイダー (Azure.Extensions.AspNetCore.Configuration.Secrets) は、Key Vault 上のシークレットを列挙し、それぞれの値を取得して構成のキー/値ペアにマッピングします。シークレットの一覧取得には
List 権限が、各シークレットの値の取得には
Get 権限が必要です。Microsoft のドキュメントでも、本プロバイダーを利用する際は Key Vault のアクセス ポリシーで
Get と
List の両方をアプリケーションに付与するよう明示されています。これが構成プロバイダー利用時の最小権限となります。
各選択肢の検討:
- List のみではシークレットの値が読めず、構成として利用できません。
- Get のみでは構成プロバイダーがシークレット一覧を列挙できず、初期ロードに失敗します。
- Get と List の組み合わせが、構成プロバイダーの動作に必要な最小限の権限であり、最小権限の原則を満たします。
参考: Microsoft Learn:
ASP.NET Core における Azure Key Vault 構成プロバイダー