Azure Storage Explorerで再認証を求められたり、接続に失敗したりすることがある

このエントリは2023/07/03現在の情報に基づいています。将来の機能追加や変更に伴い、記載内容からの乖離が発生する可能性があります。

先日類似した問い合わせが立て続けに入った。

問い合わせ

Azure Storage Explorerを使ってBlob storageにアクセスしている。昨日まで問題なく接続できたのに、いきなり再認証が必要、というメッセージが出てきた(下図左)。何度も再認証したが解決しなかった。エラー詳細は下図右の通り。この現象の原因は何か?回避策はあるか?

もしかしたら遭遇したことがある人も多いかもしれない。

原因

プロキシ サーバーやウイルス対策ソフトウェアなどの一部のネットワーク テクノロジが差し込む独自の SSL 証明書を含むレスポンスを、Storage Explorerで利用しているNode.jsネットワークスタックが信頼しないため。Node.jsが応答を信頼しない場合、Storage Explorerがエラーを出す。

ドキュメントに以下の通り記載がある。

By default, Storage Explorer uses the NodeJS networking stack. NodeJS ships with a predefined list of trusted SSL certificates. Some networking technologies, such as proxy servers or anti-virus software, inject their own SSL certificates into network traffic. These certificates are often not present in NodeJS’ certificate list. NodeJS won’t trust responses that contain such a certificate. When NodeJS doesn’t trust a response, then Storage Explorer will receive an error.
“既定では、Storage Explorer では NodeJS ネットワーク スタックが使用されます。 NodeJS には、信頼された SSL 証明書の定義済みの一覧が付属しています。 プロキシ サーバーやウイルス対策ソフトウェアなどの一部のネットワーク テクノロジでは、独自の SSL 証明書がネットワーク トラフィックに挿入されます。 これらの証明書は、多くの場合、NodeJS の証明書の一覧に含まれていません。 NodeJS は、このような証明書が含まれている応答を信頼しません。 NodeJS が応答を信頼しない場合、Storage Explorer はエラーを受信します。

SSL certificates
https://learn.microsoft.com/azure/storage/common/storage-explorer-network#ssl-certificates

回避策

これを回避するためには、上記ドキュメントに記載の通りで、システムプロキシ(OSのプロキシ設定)を使うように構成する。一部のサービスに対応していないものの、一番簡単な回避策である。その他の回避策は以下の通り。

  • プロキシ ソースとしてシステム プロキシを使用する(今回述べているもの)
  • エラーの原因となっている SSL 証明書のコピーをインポートする
  • SSL 証明書を無効化 (非推奨)

システムプロキシを有効化した場合に未サポートの機能もドキュメントに記載がある。

システム プロキシをサポートしていない機能 / Features that do not support system proxy
https://learn.microsoft.com/azure/storage/common/storage-explorer-network#features-that-do-not-support-system-proxy

トラブルシューティングガイドもあるので、こちらも参照するとよい。

SSL 証明書の問題 / SSL certificate issues
https://learn.microsoft.com/troubleshoot/azure/azure-storage/storage-explorer-troubleshooting?tabs=Windows#ssl-certificate-issues

その後

今回はBlob storageへのアクセスだったので、一番簡単なシステムプロキシの利用を説明し、解決した。GitHubのIssueでもシステムプロキシを推奨している場合があるので、Issueもチェックされることを推奨する(以下はその例)。

Subscriptions cannot be retrieved on new storage explorer version 1.29.2
https://github.com/microsoft/AzureStorageExplorer/issues/6944

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください