Azure HDInsight で Enterprise セキュリティ パッケージ クラスターを作成および構成する

Azure HDInsight の Enterprise セキュリティ パッケージ (ESP) を使用すると、Azure の Apache Hadoop クラスターに対する Active Directory ベースの認証、マルチユーザーのサポート、ロールベースのアクセス制御にアクセスできます。 HDInsight ESP クラスターを使用すると、厳格な企業セキュリティ ポリシーに従っている組織は、機密データを安全に処理できます。

このガイドでは、ESP 対応の Azure HDInsight クラスターを作成する方法について説明します。 また、Windows IaaS VM を作成して、その上で Active Directory とドメイン ネーム システム (DNS) を有効にする方法についても説明します。 このガイドを使用して、オンプレミス ユーザーが ESP 対応の HDInsight クラスターにサインインできるように、必要なリソースを構成してください。

作成するサーバーは、"実際の" オンプレミス環境の代わりとして機能します。 セットアップと構成の手順にそれを使用します。 後で、独自の環境でその手順を繰り返します。

このガイドは、Microsoft Entra ID とのパスワード ハッシュ同期を使用してハイブリッド ID 環境を作成する場合にも役立ちます。 このガイドは、「HDInsight で Enterprise セキュリティ パッケージを使用する」を補完するものです。

独自の環境でこのプロセスを使用する前に:

  • Active Directory と DNS を設定します。
  • Microsoft Entra ID を有効にします。
  • オンプレミス ユーザー アカウントを Microsoft Entra ID と同期します。

Microsoft Entra architecture diagram.

オンプレミス環境を作成する

このセクションでは、Azure クイックスタート デプロイ テンプレートを使用して、新しい VM を作成し、DNS を構成して、新しい AD フォレストを追加します。

  1. 新しい Active Directory フォレストを使用して Azure VM を作成するためのクイックスタート デプロイ テンプレートに移動します。

  2. [Azure に配置する] を選択します。

  3. Azure サブスクリプションにサインインします。

  4. [Create an Azure VM with a new AD Forest](新しい AD フォレストを使用して Azure VM を作成する) ページで、次の情報を指定します。

    プロパティ
    サブスクリプション リソースをデプロイするサブスクリプションを選択します。
    Resource group [新規作成] を選択して OnPremADVRG という名前を入力します。
    場所 場所を選択します。
    管理ユーザー名 HDIFabrikamAdmin
    管理パスワード パスワードを入力します。
    ドメイン名 HDIFabrikam.com
    DNS プレフィックス hdifabrikam

    他の既定値はそのまま使用します。

    Template for Create an Azure VM with a new Microsoft Entra Forest.

  5. [使用条件] を確認してから、 [上記の使用条件に同意する] をオンにします。

  6. [購入] を選択し、デプロイを監視して、それが完了するまで待機します。 デプロイの完了には 30 分程度かかります。

クラスター アクセス用のユーザーとグループを構成する

このセクションでは、このガイドの最後までに HDInsight クラスターにアクセスできるようになるユーザーを作成します。

  1. リモート デスクトップを使用してドメイン コントローラーに接続します。

    1. Azure portal から、 [リソース グループ]>[OnPremADVRG]>[adVM]>[接続] の順に移動します。
    2. [IP アドレス] ドロップダウン リストから、パブリック IP アドレスを選択します。
    3. [RDP ファイルのダウンロード] を選択して、ファイルを開きます。
    4. ユーザー名としては、HDIFabrikam\HDIFabrikamAdmin を使用します。
    5. 管理者アカウントに対して選択したパスワードを入力します。
    6. [OK] を選択します。
  2. ドメイン コントローラーの [サーバー マネージャー] ダッシュボードから、 [ツール]>[Active Directory ユーザーとコンピューター] の順に移動します。

    On the Server Manager dashboard, open Active Directory Management.

  3. 次の 2 人のユーザーを新しく作成します: HDIAdminHDIUser。 これら 2 人のユーザーは、HDInsight クラスターにサインインします。

    1. [Active Directory ユーザーとコンピューター] ページで [HDIFabrikam.com] を右クリックして、[新規]>[ユーザー] と移動します。

      Create a new Active Directory user.

    2. [新しいオブジェクト - ユーザー] ページで、 [名][ユーザー ログオン名] に「HDIUser」と入力します。 その他のフィールドは自動入力されます。 [次へ] を選択します。

      Create the first admin user object.

    3. 表示されるポップアップ ウィンドウで、新しいアカウントのパスワードを入力します。 [パスワードを無期限にする] を選択してから、ポップアップ メッセージで [OK] を選択します。

    4. [次へ] を選択してから、 [完了] を選択して新しいアカウントを作成します。

    5. 上記の手順を繰り返して、ユーザー HDIAdmin を作成します。

      Create a second admin user object.

  4. グローバル セキュリティ グループを作成します。

    1. [Active Directory ユーザーとコンピューター] で [HDIFabrikam.com] を右クリックして、[新規]>[グループ] と移動します。

    2. [グループ名] テキスト ボックスに「HDIUserGroup」と入力します。

    3. [OK] を選択します。

    Create a new Active Directory group.

    Create a new object.

  5. [HDIUserGroup] にメンバーを追加します。

    1. HDIUser を右クリックし、 [グループに追加] を選択します。

    2. [選択するオブジェクト名を入力] テキスト ボックスに、「HDIUserGroup」と入力します。 次に、 [OK] を選択し、ポップアップでもう一度 [OK] を選択します。

    3. HDIAdmin アカウントに対して、前の手順を繰り返します。

      Add the member HDIUser to the group HDIUserGroup.

これで Active Directory 環境が作成されました。 HDInsight クラスターにアクセスできる 2 人のユーザーとユーザー グループを追加しました。

これらのユーザーを Microsoft Entra ID と同期します。

Microsoft Entra ディレクトリを作成する

  1. Azure portal にサインインします。

  2. [リソースの作成] を選択し、「directory」と入力します。 [Microsoft Entra ID]>[作成] の順に選択します。

  3. [組織名] に「HDIFabrikam」と入力します。

  4. [初期ドメイン名] に「HDIFabrikamoutlook」と入力します。

  5. [作成] を選択します

    Create a Microsoft Entra directory.

カスタム ドメインを作成する

  1. 新しい [Microsoft Entra ID] で、[管理] の下にある [カスタム ドメイン名] を選択します。

  2. [+ カスタム ドメインの追加] を選択します。

  3. [カスタム ドメイン名] に「HDIFabrikam.com」と入力してから、 [ドメインの追加] を選択します。

  4. 次に、「ドメイン レジストラーに DNS 情報を追加する」を完了します。

    Create a custom domain.

グループを作成する

  1. 新しい [Microsoft Entra ID] で、[管理] の下にある [グループ] を選択します。
  2. [+ 新しいグループ] を選択します。
  3. [グループ名] テキスト ボックスに「AAD DC Administrators」と入力します。
  4. [作成] を選択します

Microsoft Entra テナントを構成する

次に、オンプレミスの Active Directory インスタンスからクラウドにユーザーとグループを同期できるように、Microsoft Entra テナントを構成します。

Active Directory テナント管理者を作成します。

  1. Azure portal にサインインし、Microsoft Entra テナント (HDIFabrikam) を選択します。

  2. [管理]>[ユーザー]>[新しいユーザー] の順に移動します。

  3. 新しいユーザーについて次の詳細を入力します。

    ID

    プロパティ 説明
    ユーザー名 テキスト ボックスに「fabrikamazureadmin」と入力します。 [ドメイン名] ドロップダウン リストから、[hdifabrikam.com] を選択します。
    名前 fabrikamazureadmin」と入力します。

    パスワード

    1. [自分でパスワードを作成する] を選択します。
    2. 任意の安全なパスワードを入力します。

    グループとロール

    1. [0 個のグループが選択されました] を選択します。

    2. [AAD DC Administrators] を選択してから、 [選択] を選択します。

      The Microsoft Entra groups dialog box.

    3. [ユーザー] を選択します。

    4. [グローバル管理者] を選択してから、 [選択] を選択します。

      The Microsoft Entra role dialog box.

  4. [作成] を選択します

  5. 次に、新しいユーザーに Azure portal にサインインしてもらいます。そこでは、パスワードの変更を求めるメッセージが表示されます。 これは、Microsoft Entra Connect を構成する前に行う必要があります。

オンプレミス ユーザーを Microsoft Entra ID と同期する

Microsoft Entra Connect を構成する

  1. ドメイン コントローラーから、Microsoft Entra Connect をダウンロードします。

  2. ダウンロードした実行可能ファイルを開き、ライセンス条項に同意します。 [続行] をクリックします。

  3. [簡単設定を使う] を選択します。

  4. [Microsoft Entra ID に接続] ページで、Microsoft Entra ID の全体管理者のユーザー名とパスワードを入力します。 Active Directory テナントを構成するときに作成したユーザー名 fabrikamazureadmin@hdifabrikam.com を使用します。 [次へ] を選択します。

    Connect to Microsoft Entra ID.

  5. [Active Directory ドメイン サービスへの接続] ページで、エンタープライズ管理者アカウントのユーザー名とパスワードを入力します。 前に作成したユーザー名 HDIFabrikam\HDIFabrikamAdmin とそのパスワードを使用します。 [次へ] を選択します。

    Connect to A D D S page.

  6. [Microsoft Entra サインインの構成] ページで、[次へ] を選択します。

    Microsoft Entra sign-in configuration page.

  7. [構成の準備完了] ページで、 [インストール] を選択します。

    Ready to configure page.

  8. [構成が完了しました] ページで、 [終了] を選択します。 Configuration complete page.

  9. 同期が完了したら、IaaS ディレクトリで作成したユーザーが Microsoft Entra ID に同期されていることを確認します。

    1. Azure portal にサインインします。
    2. [Microsoft Entra ID]>[HDIFabrikam]>[ユーザー] の順に選択します。

ユーザー割り当てマネージド ID を作成する

Microsoft Entra Domain Services の構成に使用できるユーザー割り当てマネージド ID を作成します。 詳しくは、「Azure portal を使用してユーザー割り当てマネージド ID を作成、一覧表示、削除したり、それにロールを割り当てたりする」をご覧ください。

  1. Azure portal にサインインします。
  2. [リソースの作成] を選択し、「managed identity」と入力します。 [ユーザー割り当てマネージド ID]>[作成] を選択します。
  3. [リソース名] に、「HDIFabrikamManagedIdentity」と入力します。
  4. サブスクリプションを選択します。
  5. [リソース グループ] で、 [新規作成] を選択し、「HDIFabrikam-CentralUS」と入力します。
  6. [場所][米国中部] を選択します。
  7. [作成] を選択します

Create a new user-assigned managed identity.

Microsoft Entra Domain Services を有効にする

次の手順に従って Microsoft Entra Domain Services を有効にします。 詳細については、Azure portal を使用した Microsoft Entra Domain Services の有効化に関するページを参照してください。

  1. Microsoft Entra Domain Services をホストする仮想ネットワークを作成します。 次の PowerShell コードを実行します。

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if(-not($sub))
    {
        Connect-AzAccount
    }
    
    # If you have multiple subscriptions, set the one to use
    # Select-AzSubscription -SubscriptionId "<SUBSCRIPTIONID>"
    
    $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS' -Location 'Central US' -Name 'HDIFabrikam-AADDSVNET' -AddressPrefix 10.1.0.0/16
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name 'AADDS-subnet' -AddressPrefix 10.1.0.0/24 -VirtualNetwork $virtualNetwork
    $virtualNetwork | Set-AzVirtualNetwork
    
  2. Azure portal にサインインします。

  3. [リソースの作成] を選択し、「Domain services」と入力して、[Microsoft Entra Domain Services]>[作成] の順に選択します。

  4. [基本] ページで次のようにします。

    1. [ディレクトリ名] で、作成した Microsoft Entra ディレクトリ (HDIFabrikam) を選択します。

    2. [DNS ドメイン名] に「HDIFabrikam.com」と入力します。

    3. サブスクリプションを選択します。

    4. リソース グループ HDIFabrikam-CentralUS を指定します。 [場所] には [米国中部] を選択します。

      Microsoft Entra Domain Services basic details.

  5. [ネットワーク] ページで、PowerShell スクリプトを使用して作成したネットワーク (HDIFabrikam-VNET) とサブネット (AADDS-subnet) を選択します。 または、 [新規作成] を選択してここで仮想ネットワークを作成します。

    Create virtual network step.

  6. [管理者グループ] ページに、このグループを管理するために AAD DC Administrators という名前のグループが既に作成されているという通知が表示されます。 必要に応じてこのグループのメンバーシップを変更できますが、この場合は変更する必要はありません。 [OK] を選択します。

    View the Microsoft Entra administrator group.

  7. [同期] ページで、 [すべて]>[OK] を選択して、完全な同期を有効にします。

    Enable Microsoft Entra Domain Services synchronization.

  8. [概要] ページで、Microsoft Entra Domain Services の詳細を確認し、[OK] を選択します。

    Enable Microsoft Entra Domain Services.

Microsoft Entra Domain Services を有効にすると、Microsoft Entra VM でローカル DNS サーバーが実行されます。

Microsoft Entra Domain Services 仮想ネットワークを構成する

次の手順を使用して、カスタム DNS サーバーを使用するように Microsoft Entra Domain Services 仮想ネットワーク (HDIFabrikam-AADDSVNET) を構成します。

  1. カスタム DNS サーバーの IP アドレスを見つけます。

    1. Microsoft Entra Domain Services リソース HDIFabrikam.com を選択します。
    2. [管理] の下で、 [プロパティ] を選択します。
    3. [仮想ネットワーク上の IP アドレス] で IP アドレスを検索します。

    Locate custom DNS IP addresses for Microsoft Entra Domain Services.

  2. カスタム IP アドレス 10.0.0.4 と 10.0.0.5 を使用するように、HDIFabrikam-AADDSVNET を構成します。

    1. [設定] で、 [DNS サーバー] を選択します。
    2. [カスタム] を選択します。
    3. テキスト ボックスに、最初の IP アドレス (10.0.0.4) を入力します。
    4. [保存] を選択します。
    5. 手順を繰り返して、他の IP アドレス (10.0.0.5) を追加します。

このシナリオでは、IP アドレス 10.0.0.4 と 10.0.0.5 を使用するように Microsoft Entra Domain Services を構成し、Microsoft Entra Domain Services 仮想ネットワークに同じ IP アドレスを設定しました。

The custom DNS servers page.

LDAP トラフィックをセキュリティで保護する

ライトウェイト ディレクトリ アクセス プロトコル (LDAP) は、Microsoft Entra ID に対する読み書きに使用されます。 Secure Sockets Layer (SSL) または Transport Layer Security (TLS) テクノロジを使用して、LDAP トラフィックを機密情報にしてセキュリティで保護することができます。 適切な形式の証明書をインストールすることで、LDAP over SSL (LDAPS) を有効にすることができます。

Secure LDAP の詳細については、Microsoft Entra Domain Services のマネージド ドメイン用に LDAP を構成する方法に関するページを参照してください。

このセクションでは、自己署名証明書を作成し、その証明書をダウンロードして、Microsoft Entra Domain Services マネージド ドメイン (HDIFabrikam) 用に LDAPS を構成します。

次のスクリプトでは、HDIFabrikam 用の証明書が作成されます。 証明書は LocalMachine パスに保存されます。

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

注意

TLS/SSL 証明書要求の作成には、有効な公開キー暗号化標準 (PKCS) #10 要求が作成される任意のユーティリティーまたはアプリケーションを使用できます。

証明書がコンピューターの個人用ストアにインストールされていることを確認します。

  1. Microsoft 管理コンソール (MMC) を起動します。

  2. ローカル コンピューターの証明書を管理する [証明書] スナップインを追加します。

  3. [証明書 (ローカル コンピューター)]>[個人用]>[証明書] を展開します。 新しい証明書が個人用ストアに存在するはずです。 この証明書は完全修飾ホスト名に対して発行されます。

    Verify local certificate creation.

  4. 右側のウィンドウで、作成した証明書を右クリックします。 [すべてのタスク] をポイントし、 [エクスポート] を選択します。

  5. [秘密キーのエクスポート] ページで [はい、秘密キーをエクスポートします] を選択します。 キーのインポート先のコンピューターでは、暗号化されたメッセージを読み取るために秘密キーが必要です。

    The Export Private Key page of the Certificate Export Wizard.

  6. [エクスポート ファイルの形式] ページでは、既定値をそのまま使用し、 [次へ] を選択しますます。

  7. [パスワード] ページで、秘密キーのパスワードを入力します。 [暗号化] では、TripleDES-SHA1 を選択します。 [次へ] を選択します。

  8. [エクスポートするファイル] ページで、エクスポートした証明書ファイルのパスと名前を入力し、 [次へ] を選択します。 ファイル名の拡張子は .pfx である必要があります。 このファイルは、セキュリティで保護された接続を確立するために Azure portal で構成されます。

  9. Microsoft Entra Domain Services マネージド ドメインに対して LDAPS を有効にします。

    1. Azure portal から、HDIFabrikam.com を選択します。
    2. [管理] で、 [Secure LDAP] を選択します。
    3. [Secure LDAP] ページの [Secure LDAP] で、 [有効] を選択します。
    4. コンピューターにエクスポートした .pfx 証明書ファイルを参照します。
    5. 証明書のパスワードを入力します。

    Enable secure LDAP.

  10. LDAPS を有効にしたので、ポート 636 を有効にして到達可能であることを確認します。

    1. HDIFabrikam-CentralUS リソース グループで、ネットワーク セキュリティ グループ AADDS-HDIFabrikam.com-NSG を選択します。

    2. [設定][受信セキュリティ規則]>[追加] を選択します。

    3. [受信セキュリティ規則の追加] ページで、次のプロパティを入力して [追加] を選択します。

      プロパティ
      source [任意]
      ソース ポート範囲 *
      宛先 Any
      Destination port range 636
      Protocol [任意]
      アクション Allow
      Priority <必要な数字>
      名前 Port_LDAP_636

      The Add inbound security rule dialog box.

HDIFabrikamManagedIdentity は、ユーザー割り当てマネージド ID です。 HDInsight ドメイン サービス共同作成者ロールにマネージド ID を割り当てると、この ID でドメイン サービス操作の読み取り、作成、変更、および削除を行うことができるようになります。

Create a user-assigned managed identity.

ESP 対応の HDInsight クラスターを作成する

この手順には、次の前提条件が必要です。

  1. 米国西部の場所に、新しいリソース グループ HDIFabrikam-WestUS を作成します。

  2. ESP 対応の HDInsight クラスターをホストする仮想ネットワークを作成します。

    $virtualNetwork = New-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS' -Location 'West US' -Name 'HDIFabrikam-HDIVNet' -AddressPrefix 10.1.0.0/16
    $subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name 'SparkSubnet' -AddressPrefix 10.1.0.0/24 -VirtualNetwork $virtualNetwork
    $virtualNetwork | Set-AzVirtualNetwork
    
  3. Microsoft Entra Domain Services がホストされている仮想ネットワーク (HDIFabrikam-AADDSVNET) と ESP 対応の HDInsight クラスターがホストされている仮想ネットワーク (HDIFabrikam-HDIVNet) の間に、ピア関係を作成します。 2 つの仮想ネットワークをピアリングするには、次の PowerShell コードを使用します。

    Add-AzVirtualNetworkPeering -Name 'HDIVNet-AADDSVNet' -RemoteVirtualNetworkId (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS').Id -VirtualNetwork (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS')
    
    Add-AzVirtualNetworkPeering -Name 'AADDSVNet-HDIVNet' -RemoteVirtualNetworkId (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-WestUS').Id -VirtualNetwork (Get-AzVirtualNetwork -ResourceGroupName 'HDIFabrikam-CentralUS')
    
  4. Hdigen2store という名前の新しい Azure Data Lake Storage Gen2 アカウントを作成します。 ユーザー マネージド ID HDIFabrikamManagedIdentity を使用して、アカウントを構成します。 詳しくは、「Azure HDInsight クラスターで Azure Data Lake Storage Gen2 を使用する」をご覧ください。

  5. HDIFabrikam-AADDSVNET 仮想ネットワーク上にカスタム DNS を設定します。

    1. Azure portal、>[リソース グループ]>[OnPremADVRG]>[HDIFabrikam-AADDSVNET]>[DNS サーバー] の順に移動します。

    2. [カスタム] を選択し、「10.0.0.4」と「10.0.0.5」を入力します。

    3. [保存] を選択します。

      Save custom DNS settings for a virtual network.

  6. ESP 対応の新しい HDInsight Spark クラスターを作成します。

    1. [カスタム (サイズ、設定、アプリ)] を選択します。

    2. [基本] の詳細を入力します (セクション 1)。 [クラスターの種類]Spark 2.3 (HDI 3.6) であることを確認します。 [リソース グループ]HDIFabrikam-CentralUS であることを確認します。

    3. [セキュリティとネットワーク] (セクション 2) では、次の詳細を入力します。

      • [Enterprise セキュリティ パッケージ][有効] を選択します。

      • [クラスター管理者ユーザー] を選択し、オンプレミス管理者ユーザーとして作成した HDIAdmin アカウントを選択します。 [選択] をクリックします。

      • [クラスター アクセス グループ]>HDIUserGroup を選択します。 以降、このグループに追加したすべてのユーザーは HDInsight クラスターにアクセスできるようになります。

        Select the cluster access group HDIUserGroup.

    4. クラスター構成の他の手順を完了し、 [クラスターの概要] で詳細を確認します。 [作成] を選択します

  7. https://CLUSTERNAME.azurehdinsight.net で新しく作成したクラスターの Ambari UI にサインインします。 管理者ユーザー名 hdiadmin@hdifabrikam.com とそのパスワードを使用します。

    The Apache Ambari UI sign-in window.

  8. クラスター ダッシュボードから [Roles](ロール) を選択します。

  9. [Roles](ロール) ページの [Assign roles to these](これらにロールを割り当てる) で、 [Cluster Administrator](クラスター管理者) ロールにグループ hdiusergroup を入力します。

    Assign the cluster admin role to hdiusergroup.

  10. Secure Shell (SSH) クライアントを開き、クラスターにサインインします。 オンプレミスの Active Directory インスタンスで作成した hdiuser を使用します。

    Sign in to the cluster by using the SSH client.

このアカウントでサインインできる場合、ESP クラスターはオンプレミスの Active Directory インスタンスと同期するように正しく構成されています。

次のステップ

ESP による Apache Hadoop セキュリティの概要に関する記事をご覧ください。