Enterprise セキュリティ パッケージを使用して Microsoft Entra 統合用に HDInsight クラスターを構成する

この記事では、Microsoft Entra ID と統合された HDInsight クラスターを作成および構成するプロセスの要約と概要について説明します。 この統合は、Enterprise セキュリティ パッケージ (ESP) と呼ばれる HDInsight 機能、Microsoft Entra Domain Services、および既存のオンプレミス Active Directory に依存しています。

Azure でドメインを設定して構成し、ESP が有効なクラスターを作成して、オンプレミスのユーザーを同期するための詳細な手順については、「Azure HDInsight で Enterprise セキュリティ パッケージ クラスターを作成および構成する」を参照してください。

バックグラウンド

Enterprise セキュリティ パッケージ (ESP) には、Azure HDInsight 向けの Active Directory 統合が用意されています。 この統合により、ドメイン ユーザーは自分のドメイン資格情報を使用して HDInsight クラスターの認証を受け、ビッグ データ ジョブを実行することができます。

Note

ESP は、これらのクラスターの種類 (Apache Spark、Interactive、Hadoop、Apache Kafka、HBase) 用に HDInsight 4.0 および 5.0 で一般提供されています。 ESP GA の日付 (2018 年 10 月 1 日) より前に作成された ESP クラスターはサポートされません。

前提条件

ESP が有効な HDInsight クラスターを作成する前に、いくつかの前提条件を満たす必要があります。

  • 既存のオンプレミス Active Directory と Microsoft Entra ID。
  • Microsoft Entra Domain Services を有効にします。
  • Microsoft Entra Domain Services の正常性状態を確認して、同期が完了していることを確認します。
  • マネージド ID を作成して承認する
  • DNS および関連する問題のネットワーク設定を完了する

これらの各項目については、詳しく説明されています。 これらすべての手順を完了するためのチュートリアルについては、「Azure HDInsight で Enterprise セキュリティ パッケージ クラスターを作成および構成する」を参照してください。

Microsoft Entra Domain Services を有効にする

Microsoft Entra Domain Services を有効にすることは、ESP を使用する HDInsight クラスターを作成するための前提条件です。 詳細については、Azure portal を使用した Microsoft Entra Domain Services の有効化に関するページを参照してください。

Microsoft Entra Domain Services が有効になっている場合、既定では、すべてのユーザーとオブジェクトの Microsoft Entra ID から Microsoft Entra Domain Services への同期が開始されます。 同期操作の長さは、Microsoft Entra ID 内のオブジェクトの数によって異なります。 数十万のオブジェクトがある場合、同期には数日かかることがあります。

Microsoft Entra Domain Services で使用するドメイン名は、HDInsight で動作するように、39 文字以下とする必要があります。

必要に応じて、アクセスが必要なグループのみを HDInsight クラスターと同期させることができます。 特定のグループのみを同期するこのオプションは、"範囲指定された同期" と呼ばれます。 手順については、Microsoft Entra ID からご利用のマネージド ドメインまで範囲指定された同期の構成に関するページを参照してください。

セキュリティで保護された LDAP を有効にする場合は、サブジェクト名にドメイン名を入力します。 およびサブジェクトの別名を証明書に入力します。 ドメイン名が contoso100.onmicrosoft.com の場合は、自分の証明書サブジェクト名とサブジェクトの別名にその正確な名前が存在することを確認します。 詳細については、Microsoft Entra Domain Services のマネージド ドメインに対するセキュリティで保護された LDAP の構成に関する記事を参照してください。

次の例では、自己署名証明書を作成します。 ドメイン名 contoso100.onmicrosoft.com は、Subject (サブジェクト名) と DnsName (サブジェクトの別名) の両方の中にあります。

$lifetime=Get-Date
New-SelfSignedCertificate -Subject contoso100.onmicrosoft.com `
  -NotAfter $lifetime.AddDays(365) -KeyUsage DigitalSignature, KeyEncipherment `
  -Type SSLServerAuthentication -DnsName *.contoso100.onmicrosoft.com, contoso100.onmicrosoft.com

Note

Microsoft Entra Domain Services を有効にする権限が与えられているのはテナント管理者だけです。 クラスター記憶域が Azure Data Lake Storage Gen1 または Gen2 の場合、基本的な Kerberos 認証を使用してクラスターにアクセスする必要があるユーザーに対してのみ、Microsoft Entra 多要素認証を無効にする必要があります。 組織で多要素認証が必要な場合は、HDInsight ID ブローカー機能を使用してみてください。

信頼済み IP または条件付きアクセスを使用して特定のユーザーに対して多要素認証を無効にすることができるのは、それらが HDInsight クラスターの仮想ネットワーク用の IP 範囲にアクセスしている場合 "のみ" です。

クラスター記憶域が Azure Blob Storage である場合は、多要素認証を無効にしないでください。

Microsoft Entra Domain Services の正常性状態を確認する

[管理] カテゴリで [正常性] を選択して、Microsoft Entra Domain Services の正常性状態を表示します。 Microsoft Entra Domain Services の状態が緑 (実行中) で、同期が完了していることを確認します。

Microsoft Entra Domain Services health.

マネージド ID の作成と承認

セキュリティで保護されたドメイン サービスの操作を簡略化するには、"ユーザー割り当てマネージド ID" を使用します。 HDInsight ドメイン サービス共同作成者ロールをマネージド ID に割り当てると、ドメイン サービス操作を読み取り、作成、変更、および削除できるようになります。

OU やサービス プリンシパルの作成など、一部のドメイン サービス操作が HDInsight Enterprise セキュリティ パッケージに必要です。 マネージド ID は、どのサブスクリプションでも作成できます。 一般的なマネージド ID の詳細については、「Azure リソースのマネージド ID」をご覧ください。 Azure HDInsight でマネージド ID がどのように機能するかに関する詳細は、「Azure HDInsight のマネージド ID」を参照してください。

ESP クラスターを設定するには、まだ作成していない場合は、ユーザー割り当てマネージド ID を作成します。 以下を参照してください。Create, list, delete, or assign a role to a user-assigned managed identity by using the Azure portal

次に、HDInsight ドメイン サービス共同作成者ロールを、Microsoft Entra Domain Services のアクセス制御でマネージド ID に割り当てます。 このロールの割り当てを行うには、、Microsoft Entra Domain Services 管理特権が必要です。

Microsoft Entra Domain Services Access control.

HDInsight ドメイン サービス共同作成者ロールを割り当てると、、Microsoft Entra Domain Services ドメインに対してドメイン サービス操作を行うための適切な (on behalf of) アクセスがこの ID に確実に付与されます。 これらの操作には、OU の作成と削除が含まれます。

マネージド ID にロールが与えられると、Microsoft Entra Domain Services 管理者がそれを使用するユーザーを管理します。 まず、管理者がポータルでマネージド ID を選択します。 次に、 [概要][アクセス制御 (IAM)] を選択します。 管理者がマネージド ID オペレーター ロールを、ESP クラスターを作成するユーザーまたはグループに割り当てます。

たとえば、、Microsoft Entra Domain Services 管理者は、sjmsi マネージド ID 用にこのロールを MarketingTeam グループに割り当てることができます。 次の図に例を示します。 この割り当てにより、組織内の適切なユーザーがマネージド ID を使用して ESP クラスターを確実に作成できるようになります。

HDInsight Managed Identity Operator Role Assignment.

ネットワーク構成

Note

Microsoft Entra Domain Services は、Azure Resource Manager ベースの仮想ネットワークにデプロイする必要があります。 Microsoft Entra Domain Services では、クラシック仮想ネットワークはサポートされていません。 詳細については、Azure portal を使用した Microsoft Entra Domain Services の有効化に関するページを参照してください。

Microsoft Entra Domain Services を有効にします。 その後、ローカルのドメイン ネーム システム (DNS) サーバーが Active Directory 仮想マシン (VM) 上で実行されます。 ご利用の Microsoft Entra Domain Services 仮想ネットワークを、これらのカスタム DNS サーバーを使用するように構成します。 適切な IP アドレスを見つけるには、 [マネージド] カテゴリで [プロパティ] を選択し、 [仮想ネットワーク上の IP アドレス] の下を確認します。

Locate IP addresses for local DNS servers.

Microsoft Entra Domain Services 仮想ネットワーク内の DNS サーバーの構成を変更します。 これらのカスタム IP アドレスを使用するには、 [設定] カテゴリで [DNS サーバー] を選択します。 次に、 [カスタム] オプションを選択し、テキスト ボックスに最初の IP アドレスを入力して、 [保存] を選択します。 同じ手順に従って、さらに IP アドレスを追加します。

Updating the virtual network DNS configuration.

Microsoft Entra Domain Services インスタンスと HDInsight クラスターの両方を同じ Azure 仮想ネットワークに配置する方が簡単です。 別の仮想ネットワークを使用する予定の場合は、ドメイン コント ローラーが HDInsight VM に表示されるように、それらの仮想ネットワークをピアリングする必要があります。 詳細については、「仮想ネットワーク ピアリング」をご覧ください。

仮想ネットワークがピアリングされたら、HDInsight 仮想ネットワークをカスタム DNS サーバーを使用するように構成します。 Microsoft Entra Domain Services のプライベート IP を DNS サーバーのアドレスとして入力します。 両方の仮想ネットワークで同じ DNS サーバーが使用されている場合、ご利用のカスタム ドメイン名は、正しい IP に解決され、HDInsight から到達可能です。 たとえば、ドメイン名が contoso.com の場合、この手順の後の ping contoso.com で正しいMicrosoft Entra Domain Services IP に解決されるはずです。

Configuring custom DNS servers for a peered virtual network.

ご自分の HDInsight サブネット内でネットワーク セキュリティ グループ (NSG) 規則を使用している場合は、インバウンドおよびアウトバウンドの両方のトラフィックに対して必須 IP を許可する必要があります。

ご利用のネットワークが設定されていることをテストするには、Windows VM を HDInsight 仮想ネットワークまたはサブネットに参加させ、ドメイン名に対して ping を実行します (IP に解決されるはずです)。ldp.exe を実行して、Microsoft Entra Domain Services ドメインにアクセスします。 次に、この Windows VM をドメインに参加させて、必要なすべての RPC 呼び出しがクライアントとサーバー間で成功していることを確認します。

nslookup を使用して、自分のストレージ アカウントへのネットワーク アクセスを確認します。 または、使用する可能性のある任意の外部データベース (外部 Hive メタストアや Rangers DB など)。 NSG によって Microsoft Entra Domain Services がセキュリティで保護されている場合は、Microsoft Entra Domain Services サブネットの NSG 規則で必須ポートが許可されていることを確認します。 この Windows VM のドメイン参加に成功した場合、次の手順を続行して ESP クラスターを作成することができます。

ESP を使用する HDInsight クラスターを作成する

前の手順を正しく設定したら、次の手順として、ESP が有効になった HDInsight クラスターを作成します。 HDInsight クラスターを作成するとき、 [セキュリティとネットワーク] タブで Enterprise セキュリティ パッケージを有効にできます。デプロイ用の Azure Resource Manager テンプレートには、ポータル エクスペリエンスを 1 回使用します。 次に、後で再利用するために、 [確認および作成] ページで、事前入力されたテンプレートをダウンロードします。

クラスターの作成時に HDInsight ID ブローカー 機能を有効にすることもできます。 ID ブローカー機能を使用すると、多要素認証を使用して Ambari にサインインし、Microsoft Entra Domain Services でパスワード ハッシュを使用することなく必要な Kerberos チケットを取得できます。

Note

ESP クラスター名の最初の 6 文字は、環境内で一意である必要があります。 たとえば、異なる仮想ネットワーク内に ESP クラスターが複数ある場合、クラスター名の最初の 6 文字が確実に一意になるように名前付け規則を選択する必要があります。

Domain validation for Azure HDInsight Enterprise Security Package.

ESP を有効にすると、Microsoft Entra Domain Services に関連する一般的な構成ミスが自動的に検出され、検証されます。 これらのエラーを修正した後は、次の手順を続行することができます。

Azure HDInsight Enterprise Security Package failed domain validation.

ESP を使用する HDInsight クラスターを作成する場合は、次のパラメーターを指定する必要があります。

  • クラスター管理者ユーザー: 同期済みの Microsoft Entra Domain Services インスタンスからクラスターの管理者を選択します。 このドメイン アカウントは、同期済みであり、Microsoft Entra Domain Services で使用できなければなりません。

  • クラスターのアクセス グループ: ユーザーをクラスターに同期させてアクセスさせるセキュリティ グループが、Microsoft Entra Domain Services で使用できる必要があります。 たとえば、HiveUsers グループです。 詳細については、Microsoft Entra ID でのグループの作成とメンバーの追加に関するページを参照してください。

  • LDAPS URL: たとえば ldaps://contoso.com:636 です。

作成したマネージド ID は、新しいクラスターを作成するときに、 [ユーザー割り当てマネージド ID] ドロップダウン リストから選択することができます。

Azure HDInsight ESP Active Directory Domain Services managed identity.

次のステップ