背景
Azure Samples を会社で動かした際、
ローカルデバッグをしようとしたら FW か何かでブロックされた
調べてみると、json の応答を期待しているところで、HTMLで「禁止されています」とか返してくる為、想定外のエラーで吹っ飛んでいた。
本来、DefaultAzureCredential() で環境に合わせて credential 取得してくれると思ったのに・・と
結論
az / azd コマンドは特に問題なく動いたので、az cli / azd cli 認証を優先することにした。
実際には、ローカルデバッグ時は以下のような感じで繋げた。
認証部分
options = {
"exclude_environment_credential": True,
"exclude_shared_token_cache_credential": True,
"exclude_managed_identity_credential": True,
"exclude_cli_credential": False, # AZ CLI
"exclude_powershell_credential": True,
"exclude_developer_cli_credential": False, # AZD CLI
"exclude_interactive_browser_credential": False,
"logging_enable": True,
}
azure_credential = DefaultAzureCredential(**options)
あとがき
ただ、この場合、自分の Credential になるので、
ManagedID で RBAC やってると、自分を割り当ててなくて動かない、とか嵌まることも
特に、Cosmos DB の RBAC あたり・・