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 と同期します。
オンプレミス環境を作成する
このセクションでは、Azure クイックスタート デプロイ テンプレートを使用して、新しい VM を作成し、DNS を構成して、新しい AD フォレストを追加します。
新しい Active Directory フォレストを使用して Azure VM を作成するためのクイックスタート デプロイ テンプレートに移動します。
[Azure に配置する] を選択します。
Azure サブスクリプションにサインインします。
[Create an Azure VM with a new AD Forest](新しい AD フォレストを使用して Azure VM を作成する) ページで、次の情報を指定します。
プロパティ 値 サブスクリプション リソースをデプロイするサブスクリプションを選択します。 Resource group [新規作成] を選択して OnPremADVRG
という名前を入力します。場所 場所を選択します。 管理ユーザー名 HDIFabrikamAdmin
管理パスワード パスワードを入力します。 ドメイン名 HDIFabrikam.com
DNS プレフィックス hdifabrikam
他の既定値はそのまま使用します。
[使用条件] を確認してから、 [上記の使用条件に同意する] をオンにします。
[購入] を選択し、デプロイを監視して、それが完了するまで待機します。 デプロイの完了には 30 分程度かかります。
クラスター アクセス用のユーザーとグループを構成する
このセクションでは、このガイドの最後までに HDInsight クラスターにアクセスできるようになるユーザーを作成します。
リモート デスクトップを使用してドメイン コントローラーに接続します。
- Azure portal から、 [リソース グループ]>[OnPremADVRG]>[adVM]>[接続] の順に移動します。
- [IP アドレス] ドロップダウン リストから、パブリック IP アドレスを選択します。
- [RDP ファイルのダウンロード] を選択して、ファイルを開きます。
- ユーザー名としては、
HDIFabrikam\HDIFabrikamAdmin
を使用します。 - 管理者アカウントに対して選択したパスワードを入力します。
- [OK] を選択します。
ドメイン コントローラーの [サーバー マネージャー] ダッシュボードから、 [ツール]>[Active Directory ユーザーとコンピューター] の順に移動します。
次の 2 人のユーザーを新しく作成します: HDIAdmin と HDIUser。 これら 2 人のユーザーは、HDInsight クラスターにサインインします。
[Active Directory ユーザーとコンピューター] ページで [
HDIFabrikam.com
] を右クリックして、[新規]>[ユーザー] と移動します。[新しいオブジェクト - ユーザー] ページで、 [名] と [ユーザー ログオン名] に「
HDIUser
」と入力します。 その他のフィールドは自動入力されます。 [次へ] を選択します。表示されるポップアップ ウィンドウで、新しいアカウントのパスワードを入力します。 [パスワードを無期限にする] を選択してから、ポップアップ メッセージで [OK] を選択します。
[次へ] を選択してから、 [完了] を選択して新しいアカウントを作成します。
上記の手順を繰り返して、ユーザー
HDIAdmin
を作成します。
セキュリティ グループを作成します。
[Active Directory ユーザーとコンピューター] で [
HDIFabrikam.com
] を右クリックして、[新規]>[グループ] と移動します。[グループ名] テキスト ボックスに「
HDIUserGroup
」と入力します。[OK] を選択します。
[HDIUserGroup] にメンバーを追加します。
HDIUser を右クリックし、 [グループに追加] を選択します。
[選択するオブジェクト名を入力] テキスト ボックスに、「
HDIUserGroup
」と入力します。 次に、 [OK] を選択し、ポップアップでもう一度 [OK] を選択します。HDIAdmin アカウントに対して、前の手順を繰り返します。
これで Active Directory 環境が作成されました。 HDInsight クラスターにアクセスできる 2 人のユーザーとユーザー グループを追加しました。
これらのユーザーを Microsoft Entra ID と同期します。
Microsoft Entra ディレクトリを作成する
Azure portal にサインインします。
[リソースの作成] を選択し、「
directory
」と入力します。 [Microsoft Entra ID]>[作成] の順に選択します。[組織名] に「
HDIFabrikam
」と入力します。[初期ドメイン名] に「
HDIFabrikamoutlook
」と入力します。[作成] を選択します
カスタム ドメインを作成する
新しい [Microsoft Entra ID] で、[管理] の下にある [カスタム ドメイン名] を選択します。
[+ カスタム ドメインの追加] を選択します。
[カスタム ドメイン名] に「
HDIFabrikam.com
」と入力してから、 [ドメインの追加] を選択します。次に、「ドメイン レジストラーに DNS 情報を追加する」を完了します。
グループを作成する
- 新しい [Microsoft Entra ID] で、[管理] の下にある [グループ] を選択します。
- [+ 新しいグループ] を選択します。
- [グループ名] テキスト ボックスに「
AAD DC Administrators
」と入力します。 - [作成] を選択します
Microsoft Entra テナントを構成する
次に、オンプレミスの Active Directory インスタンスからクラウドにユーザーとグループを同期できるように、Microsoft Entra テナントを構成します。
Active Directory テナント管理者を作成します。
Azure portal にサインインし、Microsoft Entra テナント (HDIFabrikam) を選択します。
[管理]>[ユーザー]>[新しいユーザー] の順に移動します。
新しいユーザーについて次の詳細を入力します。
ID
プロパティ 説明 ユーザー名 テキスト ボックスに「 fabrikamazureadmin
」と入力します。 [ドメイン名] ドロップダウン リストから、[hdifabrikam.com
] を選択します。名前 「 fabrikamazureadmin
」と入力します。パスワード
- [自分でパスワードを作成する] を選択します。
- 任意の安全なパスワードを入力します。
グループとロール
[0 個のグループが選択されました] を選択します。
[
AAD DC
Administrators] を選択してから、[選択] を選択します。[ユーザー] を選択します。
[管理者] を選択してから、[選択] を選択します。
[作成] を選択します
次に、新しいユーザーに Azure portal にサインインしてもらいます。そこでは、パスワードの変更を求めるメッセージが表示されます。 これは、Microsoft Entra Connect を構成する前に行う必要があります。
オンプレミス ユーザーを Microsoft Entra ID と同期する
Microsoft Entra Connect を構成する
ドメイン コントローラーから、Microsoft Entra Connect をダウンロードします。
ダウンロードした実行可能ファイルを開き、ライセンス条項に同意します。 [続行] をクリックします。
[簡単設定を使う] を選択します。
[Microsoft Entra ID に接続] ページで、Microsoft Entra ID の管理者のユーザー名とパスワードを入力します。 Active Directory テナントを構成するときに作成したユーザー名
fabrikamazureadmin@hdifabrikam.com
を使用します。 [次へ] を選択します。[Active Directory ドメイン サービスへの接続] ページで、エンタープライズ管理者アカウントのユーザー名とパスワードを入力します。 前に作成したユーザー名
HDIFabrikam\HDIFabrikamAdmin
とそのパスワードを使用します。 [次へ] を選択します。[Microsoft Entra サインインの構成] ページで、[次へ] を選択します。
[構成の準備完了] ページで、 [インストール] を選択します。
[構成が完了しました] ページで、 [終了] を選択します。
同期が完了したら、IaaS ディレクトリで作成したユーザーが Microsoft Entra ID に同期されていることを確認します。
- Azure portal にサインインします。
- [Microsoft Entra ID]>[HDIFabrikam]>[ユーザー] の順に選択します。
ユーザー割り当てマネージド ID を作成する
Microsoft Entra Domain Services の構成に使用できるユーザー割り当てマネージド ID を作成します。 詳しくは、「Azure portal を使用してユーザー割り当てマネージド ID を作成、一覧表示、削除したり、それにロールを割り当てたりする」をご覧ください。
- Azure portal にサインインします。
- [リソースの作成] を選択し、「
managed identity
」と入力します。 [ユーザー割り当てマネージド ID]>[作成] を選択します。 - [リソース名] に、「
HDIFabrikamManagedIdentity
」と入力します。 - サブスクリプションを選択します。
- [リソース グループ] で、 [新規作成] を選択し、「
HDIFabrikam-CentralUS
」と入力します。 - [場所] で [米国中部] を選択します。
- [作成] を選択します
Microsoft Entra Domain Services を有効にする
次の手順に従って Microsoft Entra Domain Services を有効にします。 詳細については、Azure portal を使用した Microsoft Entra Domain Services の有効化に関するページを参照してください。
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
Azure portal にサインインします。
[リソースの作成] を選択し、「
Domain services
」と入力して、[Microsoft Entra Domain Services]>[作成] の順に選択します。[基本] ページで次のようにします。
[ディレクトリ名] で、作成した Microsoft Entra ディレクトリ (HDIFabrikam) を選択します。
[DNS ドメイン名] に「HDIFabrikam.com」と入力します。
サブスクリプションを選択します。
リソース グループ HDIFabrikam-CentralUS を指定します。 [場所] には [米国中部] を選択します。
[ネットワーク] ページで、PowerShell スクリプトを使用して作成したネットワーク (HDIFabrikam-VNET) とサブネット (AADDS-subnet) を選択します。 または、 [新規作成] を選択してここで仮想ネットワークを作成します。
[管理者グループ] ページに、このグループを管理するために
AAD DC
Administrators という名前のグループが既に作成されているという通知が表示されます。 必要に応じてこのグループのメンバーシップを変更できますが、この場合は変更する必要はありません。 [OK] を選択します。[同期] ページで、 [すべて]>[OK] を選択して、完全な同期を有効にします。
[概要] ページで、Microsoft Entra Domain Services の詳細を確認し、[OK] を選択します。
Microsoft Entra Domain Services を有効にすると、Microsoft Entra VM でローカル DNS サーバーが実行されます。
Microsoft Entra Domain Services 仮想ネットワークを構成する
次の手順を使用して、カスタム DNS サーバーを使用するように Microsoft Entra Domain Services 仮想ネットワーク (HDIFabrikam-AADDSVNET) を構成します。
カスタム DNS サーバーの IP アドレスを見つけます。
- Microsoft Entra Domain Services リソース
HDIFabrikam.com
を選択します。 - [管理] の下で、 [プロパティ] を選択します。
- [仮想ネットワーク上の IP アドレス] で IP アドレスを検索します。
- Microsoft Entra Domain Services リソース
カスタム IP アドレス 10.0.0.4 と 10.0.0.5 を使用するように、HDIFabrikam-AADDSVNET を構成します。
- [設定] で、 [DNS サーバー] を選択します。
- [カスタム] を選択します。
- テキスト ボックスに、最初の IP アドレス (10.0.0.4) を入力します。
- [保存] を選択します。
- 手順を繰り返して、他の IP アドレス (10.0.0.5) を追加します。
このシナリオでは、IP アドレス 10.0.0.4 と 10.0.0.5 を使用するように Microsoft Entra Domain Services を構成し、Microsoft Entra Domain Services 仮想ネットワークに同じ IP アドレスを設定しました。
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 要求が作成される任意のユーティリティーまたはアプリケーションを使用できます。
証明書がコンピューターの個人用ストアにインストールされていることを確認します。
Microsoft 管理コンソール (MMC) を起動します。
ローカル コンピューターの証明書を管理する [証明書] スナップインを追加します。
[証明書 (ローカル コンピューター)]>[個人用]>[証明書] を展開します。 新しい証明書が個人用ストアに存在するはずです。 この証明書は完全修飾ホスト名に対して発行されます。
右側のウィンドウで、作成した証明書を右クリックします。 [すべてのタスク] をポイントし、 [エクスポート] を選択します。
[秘密キーのエクスポート] ページで [はい、秘密キーをエクスポートします] を選択します。 キーのインポート先のコンピューターでは、暗号化されたメッセージを読み取るために秘密キーが必要です。
[エクスポート ファイルの形式] ページでは、既定値をそのまま使用し、 [次へ] を選択しますます。
[パスワード] ページで、秘密キーのパスワードを入力します。 [暗号化] では、TripleDES-SHA1 を選択します。 [次へ] を選択します。
[エクスポートするファイル] ページで、エクスポートした証明書ファイルのパスと名前を入力し、 [次へ] を選択します。 ファイル名の拡張子は .pfx である必要があります。 このファイルは、セキュリティで保護された接続を確立するために Azure portal で構成されます。
Microsoft Entra Domain Services マネージド ドメインに対して LDAPS を有効にします。
- Azure portal から、
HDIFabrikam.com
を選択します。 - [管理] で、 [Secure LDAP] を選択します。
- [Secure LDAP] ページの [Secure LDAP] で、 [有効] を選択します。
- コンピューターにエクスポートした .pfx 証明書ファイルを参照します。
- 証明書のパスワードを入力します。
- Azure portal から、
LDAPS を有効にしたので、ポート 636 を有効にして到達可能であることを確認します。
HDIFabrikam-CentralUS リソース グループで、ネットワーク セキュリティ グループ AADDS-HDIFabrikam.com-NSG を選択します。
[設定] で [受信セキュリティ規則]>[追加] を選択します。
[受信セキュリティ規則の追加] ページで、次のプロパティを入力して [追加] を選択します。
プロパティ 値 source [任意] ソース ポート範囲 * 宛先 Any Destination port range 636 Protocol [任意] アクション Allow Priority <必要な数字> 名前 Port_LDAP_636
HDIFabrikamManagedIdentity は、ユーザー割り当てマネージド ID です。 HDInsight ドメイン サービス共同作成者ロールにマネージド ID を割り当てると、この ID でドメイン サービス操作の読み取り、作成、変更、および削除を行うことができるようになります。
ESP 対応の HDInsight クラスターを作成する
この手順には、次の前提条件が必要です。
米国西部の場所に、新しいリソース グループ HDIFabrikam-WestUS を作成します。
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
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')
Hdigen2store という名前の新しい Azure Data Lake Storage Gen2 アカウントを作成します。 ユーザー マネージド ID HDIFabrikamManagedIdentity を使用して、アカウントを構成します。 詳しくは、「Azure HDInsight クラスターで Azure Data Lake Storage Gen2 を使用する」をご覧ください。
HDIFabrikam-AADDSVNET 仮想ネットワーク上にカスタム DNS を設定します。
Azure portal、>[リソース グループ]>[OnPremADVRG]>[HDIFabrikam-AADDSVNET]>[DNS サーバー] の順に移動します。
[カスタム] を選択し、「10.0.0.4」と「10.0.0.5」を入力します。
[保存] を選択します。
ESP 対応の新しい HDInsight Spark クラスターを作成します。
[カスタム (サイズ、設定、アプリ)] を選択します。
[基本] の詳細を入力します (セクション 1)。 [クラスターの種類] が Spark 2.3 (HDI 3.6) であることを確認します。 [リソース グループ] が HDIFabrikam-CentralUS であることを確認します。
[セキュリティとネットワーク] (セクション 2) では、次の詳細を入力します。
[Enterprise セキュリティ パッケージ] で [有効] を選択します。
[クラスター管理者ユーザー] を選択し、オンプレミス管理者ユーザーとして作成した HDIAdmin アカウントを選択します。 [選択] をクリックします。
[クラスター アクセス グループ]>HDIUserGroup を選択します。 以降、このグループに追加したすべてのユーザーは HDInsight クラスターにアクセスできるようになります。
クラスター構成の他の手順を完了し、 [クラスターの概要] で詳細を確認します。 [作成] を選択します
https://CLUSTERNAME.azurehdinsight.net
で新しく作成したクラスターの Ambari UI にサインインします。 管理者ユーザー名hdiadmin@hdifabrikam.com
とそのパスワードを使用します。クラスター ダッシュボードから [Roles](ロール) を選択します。
[Roles](ロール) ページの [Assign roles to these](これらにロールを割り当てる) で、 [Cluster Administrator](クラスター管理者) ロールにグループ hdiusergroup を入力します。
Secure Shell (SSH) クライアントを開き、クラスターにサインインします。 オンプレミスの Active Directory インスタンスで作成した hdiuser を使用します。
このアカウントでサインインできる場合、ESP クラスターはオンプレミスの Active Directory インスタンスと同期するように正しく構成されています。
次のステップ
ESP による Apache Hadoop セキュリティの概要に関する記事をご覧ください。