
Explanation:
ボックス1:いいえ
いいえ、このコードではdbPasswordの最新バージョンは取得できません。
その代わりに、文字列「123」で指定された特定のバージョンを明示的に取得します。
シークレットの最新のアクティブバージョンを取得するには、get_secret 関数から version パラメータを完全に省略します。python# この行を変更します:
secret = client.get_secret("dbPassword", version="123")
# この行へ:
secret = client.get_secret("dbPassword")
ボックス2:はい
はい、マネージドIDが有効になっているAzureホスト環境にデプロイした場合、クライアントシークレットを保存することなく、コードはAzure Key Vaultへの認証に成功します。
DefaultAzureCredential の動作: このクラスは、資格情報を順次連結するメカニズムです。
Azure(Azure App Service、Azure VM、Azure Functionsなど)にデプロイされると、アクティブなマネージドID環境エンドポイントを自動的に検索してアクセストークンを取得します。
秘密情報の保存は不要:プラットフォームは基盤となるAzureホストインフラストラクチャを利用してIDトークンを生成するため、アプリケーションコードや構成設定内にクライアントの秘密情報、パスワード、証明書などをハードコーディングする必要はありません。
ボックス3:いいえ
いいえ、このコードを後続で呼び出しても新しいバージョンは取得されません。
get_secret メソッドに version="123" を明示的に含めることで、シークレットの特定の不変バージョンを要求していることになります。
参照:
https://learn.microsoft.com/en-us/azure/key-vault/secrets/quick-create-python