6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

クロステナントのAzure Private Endpoint経由でBlob Storageに接続する

Posted at

Azure Private Endpointは、PaaSのプライベートIPを仮想ネットワークの中に持たせることでPaaSへの接続をセキュアに実現する手段です。
異なるテナント、異なるサブスクリプション間でBlob Storageへのプライベートエンドポイント接続を試したので手順を残します。

構成

  • Subscription Bに作成したBlobへ、Subscription Aのプライベートエンドポイント経由でアクセスできればOKです。Blobはパブリックアクセスは無効にします。
    image.png

事前準備

  • Subscription Aの仮想ネットワークと接続確認用VMは事前に作成しておきます。

Blob Storage作成(Subscription B)

  • 作成手順は割愛しますが、以下2つの設定を入れています。
    • testコンテナーをプライベートアクセスレベルで作成し、配下にファイル配置
      image.png
    • [ネットワーク]から、パブリックネットワークアクセスを無効に設定
      image.png
  • [設定]→[エンドポイント]の順に選択し、[ストレージアカウントリソースID]をメモしておきます。(後ほど使います)
    image.png
    image.png

プライベートエンドポイント作成(Subscription A)

  • Azure Portalから[プライベートリンクサービス]を選択します。
    image.png

  • [プライベートエンドポイント]→[作成]の順に選択します。
    image.png

  • プライベートエンドポイント名を入力します。
    image.png

  • [リソースIDまたはエイリアスを使ってAzureリソースに接続します]を選択します。
    image.png

  • 事前にメモした[ストレージアカウントリソースID]を入力します。
    image.png

  • 対象サブリソースに[blob]と入力し、要求メッセージに任意のメッセージを入力します。(後ほどSubscription A側でメッセージを確認します)
    image.png

  • 仮想ネットワークとサブネットは事前に準備したものを指定します。
    image.png

  • クロステナントのポイントとして、プライベートDNS統合が自動設定できません。後ほど触れますがプライベートDNS設定を手動で行う必要があります。
    image.png

  • ここまで設定したらプライベートエンドポイントを作成します。作成するとSubscription BのBlobに接続要求が飛びます。

  • プライベートエンドポイント画面にいくと、プライベートIPアドレスが割り振られているのでメモしておきます。
    image.png

プライベートエンドポイント接続承認(Subscription B)

  • Blobストレージ左メニューから[ネットワーク]を選択します。
    image.png

  • [プライベートエンドポイント]を選択すると、[保留中]の接続が確認できます。
    image.png

  • 対象の接続にチェックを入れ、[承認]を選択します。
    image.png

  • [承認済み]に変わればOKです。
    image.png

プライベートDNS設定(Subscription A)

  • このままだとVMは名前解決のときにパブリックIPを引いてきてしまいます。プライベートDNSを作成し、仮想ネットワークとリンクさせることで、プライベートIPを引いてくるようにします。

  • Azure Portalから[プライベートDNSゾーン]を選択し、作成します。
    image.png

  • プライベートDNS名を[privatelink.blob.core.windows.net]として作成します。
    image.png

  • プライベートDNSゾーンが作成されたら[レコードセット]を選択します。
    image.png

  • [名前]にはSubscription Bで作成したBlobストレージのアカウント名を入力します。
    image.png

  • Aレコードを選択、TTLは10秒とし、IPアドレスには事前にメモしたプライベートエンドポイントのIPを入力します。
    image.png

  • [仮想ネットワークリンク]を選択し追加します。
    image.png

  • 任意のリンク名を入力します。
    image.png

  • VMが配置された仮想ネットワークを指定します。
    image.png

  • リンクの状態が[完了]になればOKです。
    image.png

疎通確認

  • VMにアクセスしプライベートIPが引けていることを確認します。
# nslookup [ストレージアカウント名].blob.core.windows.net
  • ストレージアカウントのアクセスキーを使ってアクセスできればOKです
# az storage blob list --container-name [コンテナー名] --account-name [ストレージアカウント名] --account-key [アクセスキー]
  • クロスアカウントでのマネージドIDは使えないので、アクセスキーかSASでのアクセスになりそうですね。

以上

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?