ネットワーク セキュリティを実装する
ネットワーク セキュリティは、ネットワーク トラフィックに制御を適用することにより、不正アクセスや攻撃からリソースを保護するプロセスであると定義されています。 制御はさまざまな方法で適用できますが、目標は、正当なトラフィックのみが許可されるようにすることです。
ネットワーク セキュリティを使用してデプロイされた HDInsight クラスターのアーキテクチャ例と、その実現方法についての説明を次の図に示します。 黒い矢印は受信トラフィックを表し、青い矢印は送信トラフィックを表します。
上記の設計の目標は、信頼済みのソースから送信されたネットワーク トラフィックのみが HDInsight クラスターに到達し、HDInsight クラスターからのネットワーク トラフィックが信頼済みの宛先に到達できるようにすることです。 さらに、Storage および Metastore サービスに到達するネットワーク トラフィックは、HDInsight から送信されるトラフィックに制限されます。
上記の設計の詳細については、次の領域を参照してください。
- 受信セキュリティとクラスター アクセス
- 送信セキュリティ
- VNet サービス エンドポイント。
受信セキュリティ
受信ネットワーク セキュリティは、サブネットに割り当てられたネットワーク セキュリティ グループ (NSG) を使用して実現されます。 受信トラフィックを信頼済みのソースに制限するために、NSG には HDInsight サービス タグと IP 範囲が使用されます。
上の図では、2 セットの受信セキュリティ規則がネットワーク セキュリティ グループに作成されています。 1 つ目の受信セキュリティ規則には、HDInsight の正常性と管理サービスからの受信トラフィックを許可するために、HDInsight サービス タグが使用されています。 2 つ目の受信セキュリティ規則は、特定の IP アドレス範囲内のユーザーが HDInsight 上の特定のポート (たとえば SSH ポート 22) にアクセスできるようにする IP 範囲です。
受信ネットワーク セキュリティを達成するには、HDInsight クラスターがデプロイされているサブネットに対する NSG の規則が使用されます。 このような NSG の規則を作成する方法の例を次に示します。
必要に応じて、複数のサブネットを持つ VNet を作成してください。 これらのサブネットの 1 つは、HDInsight クラスターをホストすることを目的としており、NSG に関連付けられます。
ネットワーク セキュリティ グループ (NSG) を作成します。 NSG には、左側の [設定] セクションに [受信] と [送信] という 2 セットのセキュリティ規則があります。 ここでは、[受信セキュリティ規則] セクションを使用し、既存の規則セットに規則を追加します。
HDInsight サービスがデプロイされるリージョンを特定し、そのリージョンに基づいて、使用する必要があるサービス タグを特定します。 制限付きアクセス許可のリージョンとレベルによっては、目的を達成するために適用する必要のあるサービス タグの順列と組み合わせが存在する可能性があります。 [追加] をクリックして、ネットワーク セキュリティ グループに新しい受信セキュリティ規則を作成し、デプロイのリージョンに基づいてサービス タグを割り当てます。
リージョンとサービス タグの組み合わせの例を次に示します。 リージョンとサービス タグの組み合わせの詳細な一覧については、Azure HDInsight のネットワーク セキュリティ グループ (NSG) サービス タグに関するページを参照してください。
サービス タグの種類 | Country | リージョン | サービス タグ | 説明 |
---|---|---|---|---|
グローバル | NA | NA | HDInsight | HDInsight の 1 つのグローバル サービス タグ |
リージョン | United States | 米国西部 2 | HDInsight.WestUS2 | 1 つのサービス タグ |
リージョン | United States | 米国東部 2 | HDInsight.EastUS2 HDInsight.WestUS HDInsight.EastUS | サービス タグの組み合わせ |
リージョン | 中国 | 中国北部 | HDInsight.ChinaNorth HDInsight.ChinaEast | サービス タグの組み合わせ |
- 設計要件に基づいて、他の信頼済みのソースからの受信トラフィックを許可するために、受信規則セクションに規則を追加できるようになりました。
VNet を使用してデプロイされた HDInsight クラスターのアクセス
通常、セキュリティの観点から、HDInsight クラスターへのすべてのパブリック エンドポイントにアクセスすることはできません。この場合、VNet 内の HDInsight クラスターにアクセスする代替方法が複数あります。次のサンプル図を参照してください。 VNet 内に作成された HDInsight クラスターにより、パブリックとプライベートの両方の負荷分散エンドポイントが公開されています。
ネットワーク パス 1 の場合、クラスターへのアクセスは一般的なパブリック インターネット経由ではブロックされます。ただし、https://<クラスター名>.azurehdinsight.net を使用し、ポート 443 経由で https を使用して、Azure の外部にある特定のクライアントから、パブリック エンドポイントを介してクラスターに安全にアクセスできる NSG 規則を作成することができます。
ネットワーク パス 2 の場合、NSG をバイパスするために、HDInsight サブネットが存在する VNet 内にジャンプボックスが作成されます。 ユーザーはこのジャンプボックスに RDP で接続し、https://<クラスター名>.azurehdinsight.net を使用し、ポート 443 経由で <クラスター名> を使用して HDInsight プライベート エンドポイントにアクセスできます。
ネットワーク パス 3 の場合、https://<クラスター名>-ssh.azurehdinsight.net を使用し、ポート 22 経由でパブリック エンドポイントを介してクラスターに ssh でアクセスできるように、Azure の外部にあるクライアント用の NSG 規則が変更されています。
送信セキュリティ
このサービスが正常に機能するには、HDInsight から送信されたトラフィックが複数の宛先に送信されることを許可する必要があります。 ただし、これらの宛先を信頼できることを確認するためにもこの点に注意する必要があります。
HDInsight の送信トラフィックの依存関係は、完全修飾ドメイン名 (FQDN) を使用して定義されており、静的 IP アドレスはありません。 FQDN の IP アドレスは変わる可能性があるため、NSG を使用して HDInsight クラスターからの送信トラフィックを制御することはできません。 そのため、代わりに Azure Firewall サービス - またはお客様がホストするネットワーク仮想アプライアンスを使用して、クラスターから送信される送信トラフィックを制御します。 実際のシナリオでは、HDInsight サブネットから送信されるトラフィックは、ユーザー定義ルート (UDR) を使用してネットワーク仮想アプライアンスまたは Azure Firewall に送信され、HDInsight サービス タグを使用して定義されたセキュリティ規則に基づいて送信トラフィックが許可されます。
次の例では、HDInsight サブネットからの送信トラフィックが Azure Firewall に送信され、そこで HDInsight サービス タグの評価が実行され、送信トラフィックが信頼済みの宛先に向かっていることを確認できます。 メタストア、ストレージ、HDInsight 管理 IP などへのトラフィックは許可されますが、未承認のインターネットの宛先へのトラフィックはブロックされます。 HDInsight サービス タグの宛先は Microsoft によって保守されます。一方、HDInsight サービス タグでは満たされない送信トラフィックについて特定の要件を持つお客様は、HDInsight に登録されている公開 FQDN から独自のサービス タグを作成し、それを保守し、更新することもできます。 ルート テーブルの構成とファイアウォールの設定の詳細については、HDInsight の送信トラフィックの制限に関するページを参照してください。
送信トラフィックの制限を有効にするには、次の手順を実行する必要があります。
- Azure Firewall を作成する
- アプリケーションと送信セキュリティ ネットワーク規則をファイアウォールに追加する
- ユーザー定義のルートを作成する
仮想ネットワーク サービス エンドポイント
仮想ネットワーク サービス エンドポイントにより、VNet の ID が Azure サービスに拡張されます。 サービスで VNet サービス エンドポイントを有効にすると、特定の VNet とサブネットの組み合わせからサービスへのアクセスが許可され、そのサブネットからのトラフィックは最適で安全なパスを介してサービスにルーティングされます。 以下のサンプル アーキテクチャに示すように、HDInsight サービスからアクセスする必要のあるストレージ アカウントや SQL メタストアなどのリソースは、VNET サービス エンドポイントを介して保護できます。
この例で、VNet サービス エンドポイントは、ADLS Gen2 Storage と Hive Metastore Service (Azure SQL Server 上) で構成され、HDInsight VNet からのトラフィックが許可されます。
VNet サービス エンドポイントを作成する手順については、「データ アクセス セキュリティ」セクションを参照してください。