Azure Private Endpointは、PaaSのプライベートIPを仮想ネットワークの中に持たせることでPaaSへの接続をセキュアに実現する手段です。
異なるテナント、異なるサブスクリプション間でBlob Storageへのプライベートエンドポイント接続を試したので手順を残します。
構成
事前準備
- Subscription Aの仮想ネットワークと接続確認用VMは事前に作成しておきます。
Blob Storage作成(Subscription B)
プライベートエンドポイント作成(Subscription A)
-
対象サブリソースに[blob]と入力し、要求メッセージに任意のメッセージを入力します。(後ほどSubscription A側でメッセージを確認します)
-
クロステナントのポイントとして、プライベートDNS統合が自動設定できません。後ほど触れますがプライベートDNS設定を手動で行う必要があります。
-
ここまで設定したらプライベートエンドポイントを作成します。作成するとSubscription BのBlobに接続要求が飛びます。
プライベートエンドポイント接続承認(Subscription B)
プライベートDNS設定(Subscription A)
-
このままだとVMは名前解決のときにパブリックIPを引いてきてしまいます。プライベートDNSを作成し、仮想ネットワークとリンクさせることで、プライベートIPを引いてくるようにします。
疎通確認
- VMにアクセスしプライベートIPが引けていることを確認します。
# nslookup [ストレージアカウント名].blob.core.windows.net
- ストレージアカウントのアクセスキーを使ってアクセスできればOKです
# az storage blob list --container-name [コンテナー名] --account-name [ストレージアカウント名] --account-key [アクセスキー]
- クロスアカウントでのマネージドIDは使えないので、アクセスキーかSASでのアクセスになりそうですね。
以上