Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
こんにちは、Azure サポートチームの小久保です。
今回は、Azure VM からストレージ アカウントへアクセスする際の挙動ついてご案内します。
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
VM からストレージ アカウントへアクセスを行う場合、両者のリージョンが異なる場合と、同じ場合ではアクセス元の IP アドレスが異なる点に、ご注意ください。
VM とストレージ アカウントが異なるリージョンに存在する場合
VM からストレージ アカウントへアクセスすると、アクセス元 IP は VM のパブリック IP となります。
VM とストレージ アカウントが同一リージョンに存在する場合
VM からストレージ アカウントへアクセスすると、アクセス元 IP は VM のパブリック IP とならず、Azure 内部で使用している仮想 IP アドレスとなります。
また、当該 IP はデータセンターの運用状況に応じて可変となっておりますが、セキュリティの観点から、この IP レンジは公開できません。
補足 : 検証結果
VM (西日本) から、ストレージ アカウント (東日本) に対して AzCopy を実施した結果
[ VM の構成 ]
パブリック IP : 104.215.XX.XX
プライベート IP : 10.1.XX.XX
Azure 内部で使用している仮想 IP : 100.79.XX.XX[ ストレージ アカウントの診断ログ ] ※ 1 、※ 2
1.0;2017-10-23T08:30:29.3043819Z;ListBlobs;Success;200;13;13;authenticated;storagename;storagename;blob;"https://storagename.blob.core.windows.net:443/test?restype=container&comp=list&prefix=test_104_215_XX_XX.txt&maxresults=250&include=snapshots&timeout=300";"/storagename/test";cb2a726a-001e-0014-0dd9-4b34cf000000;0;104.215.XX.XX:49172;2017-04-17;535;0;152;261;0;;;;;;"AzCopy/6.3.0 DataMovement/0.6.2.0 Azure-Storage/8.4.0 (.NET CLR 4.0.30319.42000; Win32NT 6.2.9200.0)";;"2a229c78-96b9-4875-8f96-c8a9a82ab8b8"VM (東日本) から、ストレージ アカウント (東日本) に対して AzCopy を実施した結果
[ VM の構成 ]
パブリック IP : 13.73.XX.XX
プライベート IP : 10.1.XX.XX
Azure 内部で使用している仮想 IP : 100.72.XX.XX[ ストレージ アカウントの診断ログ] ※ 1 、※ 2
1.0;2017-10-23T08:08:57.7965087Z;ListBlobs;Success;200;7;7;authenticated;storagename;storagename;blob;"https://storagename.blob.core.windows.net:443/test?restype=container&comp=list&prefix=test_13_73_XX_XX.txt&maxresults=250&include=snapshots&timeout=300";"/storagename/test";5c8b1a23-001e-0019-64d6-4bdbc3000000;0;100.72.XX.XX:49172;2017-04-17;533;0;152;259;0;;;;;;"AzCopy/6.3.0 DataMovement/0.6.2.0 Azure-Storage/8.4.0 (.NET CLR 4.0.30319.42000; Win32NT 6.2.9200.0)";;"f710840d-8b32-4483-9f54-81df4b73ffdd"
※1 ストレージ アカウントの診断ログは、BLOB コンテナーの $logs 配下に格納されます。
※2 ストレージ アカウントの診断ログ フォーマット
[参考]
Storage Analytics Log Format
/ja-jp/rest/api/storageservices/Storage-Analytics-Log-Format?redirectedfrom=MSDN
まとめ
上記の仕組みにより、SAS (Shared Access Signatures) を使用して、ストレージ アカウントへのアクセスを制限する場合には注意が必要です。
現時点の SAS の機能では、Azure VM とストレージ アカウントが同一リージョンに存在する構成において、当該 VM からのアクセスのみを許可するといった制御が非常に難しく、以下の回避策をご検討ください。
- ストレージ アカウントの診断設定を利用し、アクセス元の IP を確認し、都度 SAS を発行する
- VM と ストレージ アカウントを異なるリージョンに配置する
- 新機能となる 「Azure Storage ファイアウォールおよび仮想ネットワークの構成」 の一般公開まで、しばらくお待ちいただく
[参考]
Azure Storage ファイアウォールおよび仮想ネットワークの構成 (プレビュー)
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-network-security/