ネットワークの分離を実装する
Contoso Financial Services は、トランザクション処理用にAzure SQL Databaseを実行し、信用リスク評価用にSQL Managed Instanceします。 現在、両方のサービスがパブリック エンドポイントをインターネットに公開しています。 AI 詐欺検出サービスと内部バンキング アプリケーションは、Azure仮想ネットワーク (VNet) で実行され、オンプレミスの銀行システムは ExpressRoute 経由で接続されます。 セキュリティ チームは、Azureホストされているワークロードとオンプレミス システムへのアクセスを維持しながら、パブリック インターネットの公開を排除する必要があります。
| 実装手法 | 利用シーン |
|---|---|
| プライベート エンドポイント + パブリック アクセスを無効にする | 金融サービス、パブリック エンドポイントの公開を必要としない規制されたワークロード |
| 仮想ネットワーク サービス エンドポイント + ファイアウォール規則 | アクセスが制限された状態でパブリック エンドポイントを受け入れられる開発環境 |
Azure SQL Databaseのプライベート エンドポイントを構成する
プライベート エンドポイントを使用すると、仮想ネットワーク アドレス空間にAzure SQL Databaseが取り込まれるため、パブリック エンドポイントへのアクセスが不要になります。 プライベート エンドポイントをデプロイすると、Azureはサブネットからプライベート IP アドレスを持つネットワーク インターフェイスを作成し、それを SQL サーバーの完全修飾ドメイン名 (FQDN) にマップします。
Contoso のトランザクション処理データベースの場合は、不正検出 AI が実行される仮想ネットワークにプライベート エンドポイントを作成します。 Azure ポータルで、SQL サーバーに移動し、Security>Networking を選択し、Private access を選択します。 プライベート エンドポイントを追加する場合は、ターゲット サブネットを指定し、プライベート DNS ゾーンの自動統合を有効にします。 Azureprivatelink.database.windows.net DNS ゾーンを作成し、サーバー名をプライベート IP アドレスにマップするレコードを追加します。
接続ポリシーは、プライベート エンドポイントのデプロイ後にトラフィックがどのように流れるかを決定します。 プロキシ ポリシーは、すべてのトラフィックをポート 1433 経由でルーティングし、プライベート エンドポイントのデプロイに最も簡単なオプションです。追加のファイアウォールの変更は必要なく、既定のポリシーを使用する既存のプライベート エンドポイントで動作します。 リダイレクト ポリシーは、データベース ノードへの直接接続を確立することで待機時間を短縮しますが、クライアントはプライベート エンドポイントをホストする仮想ネットワーク上の受信と送信の両方の通信のためにポート 1433 から 65535 を開く必要があります。
注
既定の接続ポリシーを使用する既存のプライベート エンドポイントは、クライアント トラフィックの中断を回避するためにプロキシ モード (ポート 1433 のみ) にフォールバックします。 プライベート エンドポイントでリダイレクトを使用するには、エンドポイントのプロビジョニング後に接続ポリシーを [ リダイレクト ] に明示的に設定します。プライベート エンドポイントが作成される前に設定されている場合は、ポリシーを切り替える必要があります。
Azureで実行されている Contoso の AI 詐欺検出サービスの場合、プライベート エンドポイントのプロキシ モードでは、簡単なファイアウォール構成でセキュリティで保護された接続が提供されます。 遅延要件で必要な場合は、後でリダイレクト モードを有効にすることができます。
注
プライベート エンドポイントの作成には、SQL 管理者からの承認が必要です。 ネットワーク管理者がエンドポイントを作成した後、SQL 管理者は、アクティブになる前に、SQL サーバーのプライベート エンドポイント接続の一覧で接続を承認する必要があります。
パブリック ネットワーク アクセスを無効にする
プライベート エンドポイントをデプロイした後、パブリック エンドポイントを無効にして分離を完了します。 プライベート エンドポイントだけではパブリック アクセスは禁止されません。パブリック ネットワーク アクセスを明示的に無効にするまで、両方のエンドポイントはアクティブなままです。
SQL サーバーの [ネットワーク ] ページに移動し、[ パブリック アクセス>Disable] を選択します。 このアクションは、ファイアウォール規則で特定の IP アドレスが許可されている場合でも、インターネットからのすべての接続をブロックします。 パブリック エンドポイントがオフになっているため、Azureの内部 IP 範囲 (0.0.0.0 から 0.0.0.0.0) の特別な規則を作成する [Azure サービスとリソースにこのサーバーへのアクセスを許可する] 設定は適用されなくなります。
パブリック アクセスが無効になっている場合、Contoso のオンプレミスの銀行システムは ExpressRoute プライベート ピアリングを介して接続します。 オンプレミス ネットワークから ExpressRoute 経由でプライベート エンドポイントが存在するAzure仮想ネットワークへのトラフィック ルート。その後、SQL サーバーにルーティングされます。 このパスは、Microsoftのプライベート バックボーン ネットワーク上のすべてのデータベース トラフィックを保持します。
ファイアウォール規則の変更は、Azureのインフラストラクチャ全体に反映されるまでに最大 5 分かかることがあります。 ルールを変更した後すぐに有効にする必要がある場合は、データベースに接続し、次のコマンドを実行します。
DBCC FLUSHAUTHCACHE
このコマンドは、認証キャッシュをクリアし、サーバーにファイアウォール規則を直ちに再読み込みするように強制します。
SQL Managed Instanceにネットワーク分離を適用する
SQL Managed Instanceは、デプロイが最初から仮想ネットワーク内に直接あるため、ネットワーク分離に対して異なるアプローチを取ります。 Azure SQL Databaseとは異なり、SQL MI にはプライベート エンドポイントは必要ありません。これは既に VNet ネイティブです。
Contoso は、信用リスク評価のために SQL MI をデプロイしたときに、専用サブネットを割り当て、Microsoft.Sql/managedInstances に委任しました。 この委任により、そのサブネット内のネットワーク リソースを管理するためのアクセス許可が SQL MI サービスに付与されます。 インスタンスはプライベート IP アドレスを受け取り、仮想ネットワーク内から、またはピアリングされた VNet や ExpressRoute または VPN 経由でリンクされたオンプレミス ネットワークなどの接続されたネットワーク経由でのみアクセスできます。
SQL MI では、ポート 3342 でオプションのパブリック エンドポイントが提供されますが、既定では無効になっています。 Contoso の規制対象の環境では、このエンドポイントを無効のままにします。 VNet 間アクセスが必要な場合は、パブリック エンドポイントを有効にするのではなく、仮想ネットワーク ピアリングを使用します。 仮想ネットワーク ピアリングはプライベート接続を維持しながら、ある仮想ネットワーク内の不正検出 AI が、SQL MI が存在する別の仮想ネットワーク内の信用リスク データベースに対してクエリを実行できるようにします。
主な違い: Azure SQL Databaseでは、プライベート エンドポイントを追加し、パブリック アクセスを個別の手順として無効にする必要があります。一方、SQL Managed Instanceはプライベートのみの接続で始まります。
完全な分離を確認する
ネットワーク分離を実装した後、外部アクセスがブロックされ、承認されたネットワークが正常に接続されることを確認します。 Azure外部の外部ネットワークから、その FQDN を使用して SQL サーバーへの接続を試みます。 パブリック ルートが存在しないため、接続はタイムアウトになります。
プライベート エンドポイントを使用して仮想ネットワークで実行されている不正検出 AI サービスから、同じ FQDN を使用して接続をテストします。
sqlcmd -S contoso-transactions.database.windows.net -U sqladmin -P <password> -Q "SELECT @@VERSION"
DNS が FQDN をプライベート IP アドレスに解決し、仮想ネットワークがトラフィックをデータベースに直接ルーティングするため、接続は成功します。 オンプレミスの銀行システムの場合は、オンプレミスワークステーションから同じテストを実行して、ExpressRoute 経由の接続を確認します。
ネットワークの分離と認証の強化は連携して、完全なセキュリティ体制を構築します。 パブリック エンドポイントを削除すると、承認されていないネットワークがブロックされます。一方、Microsoft Entra の認証およびロールベースのアクセス制御により、どの ID が承認されたネットワークから接続できるかが決定されます。 Contoso のセキュリティ要件を満たすには、両方のコントロールを配置する必要があります。
