Azure Maps では Azure Private Link がサポートされており、仮想ネットワーク内のプライベート エンドポイントを介して Azure Maps サービスに安全にアクセスできます。 プライベート エンドポイントは、仮想ネットワークから Azure Maps サービスにプライベート IP アドレスを割り当てます。そのため、アプリケーションと Azure Maps の間のトラフィックは、パブリック インターネットではなく Microsoft バックボーン ネットワークに残ります。 これにより、セキュリティとネットワークの分離が向上します。 プライベート エンドポイントは、Azure Maps アカウントを作成するとき、または既存のアカウントに追加するときに作成できます。
Azure Maps のプライベート エンドポイントの利点
プライベート エンドポイントには、Azure Maps アカウントに次の利点があります。
- パブリック インターネット露出なし: Azure Maps アカウントをパブリック インターネットから分離して、外部の脅威にさらされるのを減らすことができます。 プライベート ネットワーク内のクライアントのみがアカウントにアクセスできます。 これを行うには、 publicNetworkAccess 機能を介して外部アクセスをブロックします。
- セキュリティで保護された VNet 通信: 仮想ネットワーク内のリソース (VM やコンテナーなど) は 、プライベート IP アドレスを使用して Azure Maps と通信します。 トラフィックは VNet 内に留まるため、 ネットワーク セキュリティが簡素化 され、パブリック ネットワークが回避され、内部のセキュリティとコンプライアンスの要件を満たすのに役立ちます。
注
すべての Azure Maps REST API (レンダリング、検索、ルーティング、天気を含む) は Private Link で完全にサポートされており、機能は失われません。 Private Link で Azure Maps を使用すると、パブリック アクセスと同じように動作し、セキュリティが強化されます。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- Azure Maps アカウント。 最適なパフォーマンスを得るためのマップ アカウントと 同じ Azure リージョン 内の仮想ネットワークを使用します。
- 仮想ネットワークとサブネット: プライベート エンドポイントの Azure サブスクリプション内の仮想ネットワークとサブネット。 サブネットには使用可能な IP アドレスが必要です。
-
必要なアクセス許可
- 自動的に承認されるプライベート エンドポイントを作成するには、次のものが必要です。
- Azure Maps アカウントの Azure Maps 共同作成者
- 仮想ネットワーク上のネットワーク共同作成者
- 手動承認を必要とするプライベート エンドポイントを作成するには、 ネットワーク共同作成者 ロールのみが必要です。
- 自動的に承認されるプライベート エンドポイントを作成するには、次のものが必要です。
- Azure プライベート DNS を使用してプライベート エンドポイントの DNS を自動的に管理するか、DNS を手動で管理するかを選択します。 ほとんどの場合、Azure プライベート DNS は最も簡単なセットアップを提供します。
Azure Maps のプライベート エンドポイントを構成する
Azure Maps アカウントのプライベート接続を有効にするには、プライベート エンドポイントを作成し、仮想ネットワーク経由でトラフィックをルーティングするように DNS を構成します。
1. プライベート エンドポイントを作成する (ポータルまたは CLI)
Azure portal で、[ リソースの作成 ] に移動し、 プライベート エンドポイントを検索します。 Azure Maps リソースの [ネットワーク ] セクションからプライベート エンドポイントを作成することもできます。 [ 作成] を選択してウィザードを開きます。
- 基本: エンドポイント リソースの適切な サブスクリプション と リソース グループ を選択し、名前とリージョンを選択します (VNet と同じリージョンを使用します)。
-
リソース:[接続方法] で、[ディレクトリ内の Azure リソースに接続] を選択します。 次に、次の設定を行います。
-
リソースの種類 =
Microsoft.Maps/accounts。 Azure に、Azure Maps アカウントへのプライベートリンクを希望することを伝えます。 - リソース = Azure Maps アカウント名。 特定の Azure Maps アカウントを選択する
-
ターゲット サブリソース =
mapsAccount。 Azure Maps には、アカウントのデータ プレーンを表す 1 つのプライベート リンク サブリソースがあります。
-
リソースの種類 =
-
構成: プライベート エンドポイントが配置されている 仮想ネットワーク と サブネット を選択します。 サブネットに 1 つの IP 用の領域があることを確認します。 DNS を手動で構成する予定がない限り、 プライベート DNS 統合 は有効のままにします。 DNS 統合を使用すると、Azure は
privatelink.account.maps.azure.com用のプライベート DNS ゾーンを作成し、必要な DNS レコードを自動的に追加します。
作成が完了したら、ポータルで Azure Maps アカウントに移動し、 ネットワーク > プライベート エンドポイント接続に移動します。 新しい接続が一覧表示されます。 プライベート エンドポイント作成者が Azure Maps アカウントを所有しているか、適切なアクセス許可を持っている場合、通常、接続は 自動承認されます (状態は "承認済み" と表示されます)。 "保留中" と表示される場合は、手動による承認が必要な場合があります。 承認後、プライベート リンクが確立されます。
例 - Azure CLI の使用
次の Azure CLI コマンドは、上記のポータルの手順に相当する Azure Maps アカウントのプライベート エンドポイントを作成します。
az network private-endpoint create \
--name <MyPrivateEndpointName> \
--resource-group <MyResourceGroup> \
--vnet-name <MyVNetName> \
--subnet <MySubnetName> \
--private-connection-resource-id "/subscriptions/<SubscriptionID>/resourceGroups/<MyResourceGroup>/providers/Microsoft.Maps/accounts/<MyMapsAccountName>" \
--group-id mapsAccount \
--connection-name <MyConnectionName>
このコマンドは、プライベート エンドポイントに使用される仮想ネットワークとサブネットと共に、Maps アカウントのリソース ID と mapsAccount サブリソースを指定します。
2.プライベート エンドポイントの DNS を構成する
プライベート エンドポイント (既定) の作成時に プライベート DNS 統合 を有効にした場合、Azure はサブスクリプション内の privatelink.account.maps.azure.com のプライベート DNS ゾーンを自動的に作成し、仮想ネットワークにリンクします。
このゾーン内では、DNS レコードによって、Azure Maps アカウントの一意の ID とリージョンがエンドポイントのプライベート IP アドレスにマップされます。 たとえば、Maps アカウントのクライアント ID が abc123 され、リージョンが East USされている場合、DNS レコードはそのホスト名をプライベート エンドポイントの IP アドレスに解決します。
-
レコード名:
abc123.eastus.account.maps.azure.com -
レコード値:
10.x.y.z- エンドポイントに割り当てられたプライベート IP アドレス。
仮想ネットワーク内のクライアントは、プライベート接続のためにホスト名をプライベート IP アドレスに解決しますが、ネットワーク外のクライアントは同じホスト名を Azure Maps パブリック エンドポイントに解決します。 このスプリット ホライズン DNS アプローチでは、仮想ネットワークの内部と外部の両方で単一のエンドポイント URL を使用できます。
自動 DNS 統合を使用しない場合は、Azure Maps アカウントのホスト名を使用するように DNS を手動で構成します
(<maps-account-client-id>.<location>.account.maps.azure.com) は、使用中ネットワーク内のプライベート エンドポイント IP アドレスに解決されます。 詳細については、 Azure プライベート エンドポイントの DNS ドキュメントを参照してください。
3.アプリケーションでプライベート エンドポイントを使用する
プライベート エンドポイントを使用するには、 Azure Maps アカウント固有のエンドポイントを呼び出すアプリケーションを構成します。 このエンドポイントは、Azure Maps アカウントの [概要 ] ページまたは [認証 ] ページ、または DNS 構成 (顧客が参照できる FQDN) のプライベート エンドポイント リソースにあります。
アクセス パターンは次のとおりです。
https://{maps-account-client-id}.{location}.account.maps.azure.com
Important
アプリケーションが既定の Azure Maps エンドポイント ( atlas.microsoft.com など) を引き続き使用する場合、要求はプライベート エンドポイント経由でルーティングされません。 Azure Maps SDK では既定のエンドポイントのオーバーライドがサポートされているため、Azure Maps アカウント固有のホスト名を使用するように SDK または接続コードを構成します。 構成すると、ネットワーク内からの要求が Private Link 経由で自動的にルーティングされます。
4. [省略可能] パブリック ネットワーク アクセスを無効にする
プライベート エンドポイントを作成した後も、Azure Maps アカウントのパブリック エンドポイントは既定でアクティブなままになります。 これにより、仮想ネットワークの外部にある既存のアプリケーションは、意図的に制限されるまで動作を継続できます。 排他的プライベート アクセスが必要な場合は、Maps アカウントのパブリック ネットワーク アクセスを無効にします。
Azure portal で Maps アカウントを開き、[ ネットワーク] に移動します。 [パブリック アクセス] を [無効にして保存] に設定します。 完了すると、Azure Maps はパブリック エンドポイント経由 の 接続試行を拒否します。 これにより、追加の保護レイヤーが追加されます。Maps 認証キーまたは SAS トークンを持っているユーザーであっても、パブリック アクセスがオフになると、インターネットから使用することはできません。
また、プロパティ
publicNetworkAccessをDisabledに設定することで、ARM テンプレートまたは Azure CLI を使用してパブリック アクセスを無効にすることもできます。
パブリック ネットワーク アクセスを無効にした後、各アプリケーションからの接続を検証します。 パブリック エンドポイント ( atlas.microsoft.com など) は設計によってブロックされるため、プライベート DNS エンドポイントを使用するようにすべてのアプリケーションと SDK の構成を更新します。
その他の考慮事項
- DNS 解決: プライベート エンドポイントを介して Azure Maps に接続できない場合は、DNS の問題が接続の問題の一般的な原因になっているので、DNS 構成を確認します。
- 複数のネットワーク: 1 つの Azure Maps アカウントに対して複数のプライベート エンドポイントを作成して、異なる仮想ネットワークから接続できます。 各プライベート エンドポイントは、選択したサブネットから 1 つの IP アドレスを使用します。
Azure Maps で Azure Private Link を使用すると、プライベート ネットワーク上のすべてのアプリケーション トラフィックが保持されます。 これにより、完全な Azure Maps 機能を維持しながら、セキュリティが向上し、エンタープライズ ネットワーク ポリシーがサポートされます。 Azure Maps はプライベート IP アドレスと DNS を介してアクセスされるため、トラフィックは制御されたネットワーク境界内に留まります。
Copilot に質問する