Azure Active Directory Domain Services を使用して、Enterprise セキュリティ パッケージで HDInsight クラスターを構成するConfigure a HDInsight cluster with Enterprise Security Package by using Azure Active Directory Domain Services

Enterprise セキュリティ パッケージ (ESP) のクラスターでは、Azure HDInsight クラスターに対するマルチ ユーザー アクセスが可能です。Enterprise Security Package (ESP) clusters provide multi-user access on Azure HDInsight clusters. ESP の HDInsight クラスターはドメインに接続されるので、ドメイン ユーザーは自分のドメイン資格情報を使用してクラスターの認証を受け、ビッグ データ ジョブを実行することができます。HDInsight clusters with ESP are connected to a domain so that domain users can use their domain credentials to authenticate with the clusters and run big data jobs.

この記事では、Azure Active Directory Domain Services (Azure AD-DS) を使って、ESP の HDInsight クラスターを構成する方法について説明します。In this article, you learn how to configure a HDInsight cluster with ESP by using Azure Active Directory Domain Services (Azure AD-DS).

注意

ESP は、HDInsight 3.6 および 4.0 で一般提供となっています。対象となるクラスターの種類は、Apache Spark、Interactive、Apache Hadoop、HBase です。ESP is generally available in HDInsight 3.6 and 4.0 for cluster types: Apache Spark, Interactive, Apache Hadoop and HBase. Apache Kafka クラスター タイプ用の ESP はプレビュー段階です。ESP for Apache Kafka cluster type is in preview.

Azure AD-DS を有効にするEnable Azure AD-DS

注意

Azure AD-DS を有効にする特権が与えられているのはテナント管理者だけです。Only tenant administrators have the privileges to enable Azure AD-DS. クラスター記憶域が Azure Data Lake Storage (ADLS) Gen1 または Gen2 の場合、基本的な Kerberos 認証を使用してクラスターにアクセスする必要があるユーザーに対してのみ、Multi-Factor Authentication (MFA) を無効にする必要があります。If the cluster storage is Azure Data Lake Storage (ADLS) Gen1 or Gen2, you must disable Multi-Factor Authentication (MFA) only for users who will need to access the cluster using basic Kerberos authentications. 信頼済み IP または条件付きアクセスを使用して特定のユーザーの MFA を無効にすることができるのは、HDInsight クラスターの VNET IP 範囲にアクセスしている場合のみです。You can use trusted IPs or Conditional Access to disable MFA for specific users ONLY when they are accessing the HDInsight cluster VNET IP range. 条件付きアクセスを使用している場合は、AD サービス エンドポイントが HDInsight VNET 上で有効になっていることを確認してください。If you are using Conditional Access please make sure that AD service endpoint in enabled on the HDInsight VNET.

クラスター ストレージが Azure Blob Storage (WASB) の場合は、MFA を無効にしないでください。If the cluster storage is Azure Blob Storage (WASB), do not disable MFA.

前提条件として、ESP の HDInsight クラスターを作成する前に Azure AD-DS を有効にします。Enabling AzureAD-DS is a prerequisite before you can create a HDInsight cluster with ESP. 詳細については、「Azure Portal を使用して Azure Active Directory Domain Services を有効にする」を参照してください。For more information, see Enable Azure Active Directory Domain Services using the Azure portal.

Azure AD-DS が有効の場合、すべてのユーザーとオブジェクトについて、Azure Active Directory (AAD) から Azure AD-DS への同期が既定で開始されます。When Azure AD-DS is enabled, all users and objects start synchronizing from Azure Active Directory (AAD) to Azure AD-DS by default. 同期操作の長さは、Azure AD 内のオブジェクトの数によって異なります。The length of the sync operation depends on the number of objects in Azure AD. 数十万のオブジェクトがある場合、同期には数日かかる場合があります。The sync could take a few days for hundreds of thousands of objects.

Azure AD-DS で使用するドメイン名は、HDInsight で動作するように、39 文字以下である必要があります。The domain name that you use with Azure AD-DS must be 39 characters or less, to work with HDInsight.

必要に応じて、アクセスが必要なグループのみを HDInsight クラスターと同期させることができます。You can choose to sync only the groups that need access to the HDInsight clusters. 特定のグループのみを同期するこのオプションは、"範囲指定された同期" と呼ばれます。This option of syncing only certain groups is called scoped synchronization. 手順については、「Configure scoped synchronization from Azure AD to your managed domain (Azure AD からマネージド ドメインまで範囲指定された同期を構成する)」を参照してください。See Configure Scoped Synchronization from Azure AD to your managed domain for instructions.

セキュリティで保護された LDAP を有効にする場合は、証明書のサブジェクト名およびサブジェクトの別名にドメイン名を指定します。When enabling secure LDAP, put the domain name in the subject name and the subject alternative name in the certificate. たとえば、お使いのドメイン名が contoso100.onmicrosoft.com の場合は、ご自身の証明書サブジェクト名およびサブジェクトの別名にその正確な名前が存在することを確認します。For example, if your domain name is contoso100.onmicrosoft.com, make sure that exact name exists in your certificate subject name and subject alternative name. 詳細については、「Azure AD-DS のマネージド ドメインに対するセキュリティで保護された LDAP の構成」を参照してください。For more information, see Configure secure LDAP for an Azure AD-DS managed domain. 以下に、自己署名証明書を作成してサブジェクト名と DnsName (サブジェクト代替名) の両方にドメイン名 (contoso100.onmicrosoft.com) を指定する例を示します。Below is an example of creating a self-signed cert and have the domain name (contoso100.onmicrosoft.com) in both Subject name and DnsName (Subject alternate name):

$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

Azure AD-DS 正常性状態の確認Check Azure AD-DS health status

[管理] カテゴリで [正常性] を選択して、Azure Active Directory Domain Services の正常性状態を表示します。View the health status of your Azure Active Directory Domain Services by selecting Health under the Manage category. Azure AD-DS の状態が緑 (実行中) で、同期が完了していることを確認します。Make sure the status of Azure AD-DS is green (running) and the synchronization is complete.

Azure Active Directory Domain Services の正常性

マネージド ID の作成と承認Create and Authorize a managed identity

ユーザー割り当てマネージド ID は、ドメイン サービス操作を簡略化して保護するために使用されます。A user-assigned managed identity is used to simplify and secure domain services operations. HDInsight ドメイン サービス共同作成者ロールをマネージド ID に割り当てると、ドメイン サービス操作を読み取り、作成、変更、および削除できるようになります。When you assign the HDInsight Domain Services Contributor role to the managed identity, it can read, create, modify, and delete domain services operations. OU やサービス プリンシパルの作成など、一部のドメイン サービス操作が HDInsight Enterprise セキュリティ パッケージに必要です。Certain domain services operations such as creating OUs and service principals are needed for the HDInsight Enterprise Security Package. マネージド ID は、どのサブスクリプションでも作成できます。Managed identities can be created in any subscription. 一般的なマネージド ID の詳細については、「Azure リソースのマネージド ID」をご覧ください。For more information on managed identities in general, see Managed identities for Azure resources. Azure HDInsight でマネージド ID がどのように機能するかに関する詳細は、「Managed identities in Azure HDInsight (Azure HDInsight のマネージド ID)」を参照してください。For more information on how managed identities work in Azure HDInsight, see Managed identities in Azure HDInsight.

ESP クラスターを設定するには、まだ作成していない場合は、ユーザー割り当てマネージド ID を作成します。To set up ESP clusters, create a user-assigned managed identity if you don’t have one already. 手順については、「Azure Portal を使用してユーザー割り当てマネージド ID を作成、一覧表示、削除したり、それにロールを割り当てたりする」をご覧ください。See Create, list, delete, or assign a role to a user-assigned managed identity using the Azure portal for instructions. 次に、Azure AD-DS アクセス制御のマネージド ID に HDInsight ドメイン サービス共同作成者ロールを割り当てます (このロールを割り当てるには、AAD-DS 管理者特権が必要です)。Next, assign the HDInsight Domain Services Contributor role to the managed identity in Azure AD-DS Access control (AAD-DS admin privileges are required to make this role assignment).

Azure Active Directory Domain Services のアクセス制御

HDInsight ドメイン サービス共同作成者ロールを割り当てると、AAD-DS ドメインで OU の作成や OU の削除などのドメイン サービス操作を行うための適切な (代理の) アクセスがこの ID に付与されます。Assigning the HDInsight Domain Services Contributor role ensures that this identity has proper (on behalf of) access to perform domain services operations such as creating OUs, deleting OUs, etc. on the AAD-DS domain.

マネージド ID が作成され、適切なロールに割り当てられると、AAD-DS 管理者はこのマネージド ID を使用できるユーザーを設定できます。Once the managed identity is created and given the correct role, the AAD-DS admin can set up who can use this managed identity. マネージド ID のユーザーを設定するには、管理者はポータルでマネージド ID を選択し、 [概要][アクセス制御 (IAM)] をクリックする必要があります。To set up users for the managed identity, the admin should select the managed identity in the portal, then click Access Control (IAM) under Overview. 次に、右側で Managed Identity Operator ロールを、HDInsight ESP クラスターを作成するユーザーまたはグループに割り当てます。Then, on the right, assign the Managed Identity Operator role to the users or groups that want to create HDInsight ESP clusters. たとえば、AAD-DS 管理者は、次の図に示すように sjmsi マネージド ID 用にこのロールを MarketingTeam グループに割り当てることができます。For example, the AAD-DS admin can assign this role to the MarketingTeam group for the sjmsi managed identity as shown in the following image. これにより、組織の適切なユーザーは、ESP クラスターを作成する目的でこのマネージド ID を使用するためのアクセス権を持つようになります。This will ensure that the right people in the organization have access to use this managed identity for the purpose of creating ESP clusters.

HDInsight のマネージド ID オペレーター ロールの割り当て

ネットワークに関する考慮事項Networking considerations

注意

Azure AD DS は、Azure Resource Manager (ARM) ベースの vNET にデプロイする必要があります。Azure AD-DS must be deployed in an Azure Resource Manager (ARM) based vNET. Azure AD-DS では、クラシック仮想ネットワークはサポートされません。Classic virtual networks are not supported for Azure AD-DS. 詳しくは、「Azure portal を使用して Azure Active Directory Domain Services を有効にする」をご覧ください。Please refer to Enable Azure Active Directory Domain Services using the Azure portal for more details.

Azure AD-DS を有効にした後、ローカルのドメイン ネーム サービス (DNS) サーバーが AD Virtual Machines (VM) で実行されます。After you enable Azure AD-DS, a local Domain Name Service (DNS) server runs on the AD Virtual Machines (VMs). Azure AD-DS 仮想ネットワーク (VNET) を、これらのカスタム DNS サーバーを使用するように構成します。Configure your Azure AD-DS Virtual Network (VNET) to use these custom DNS servers. 適切な IP アドレスを見つけるには、 [マネージド] カテゴリで [プロパティ] を選択し、 [仮想ネットワーク上の IP アドレス] の下に表示される IP アドレスを参照します。To locate the right IP addresses, select Properties under the Manage category and look at the IP Addresses listed beneath IP Address on Virtual Network.

ローカル DNS サーバーの IP アドレスを見つける

Azure AD-DS VNET の DNS サーバーの構成を変更し、 [設定] カテゴリの下の [DNS サーバー] を選択して、これらのカスタム IP を使用します。Change the configuration of the DNS servers in the Azure AD-DS VNET to use these custom IPs by selecting DNS Servers under the Settings category. 次に、 [カスタム] の横のラジオ ボタンをクリックし、下のテキスト ボックスに最初の IP アドレスを入力して、 [保存] をクリックします。Then click the radio button next to Custom, enter the first IP Address in the text box below, and click Save. 同じ手順に従って、その他の IP アドレスを追加します。Add additional IP Addresses using the same steps.

VNet DNS 構成の更新

Azure AD-DS インスタンスと HDInsight クラスターの両方を同じ Azure 仮想ネットワークに配置する方が簡単です。It's easier to place both the Azure AD-DS instance and the HDInsight cluster in the same Azure virtual network. 別の VNet を使用する場合は、ドメイン コント ローラーが HDI VM に表示されるように、これらの仮想ネットワークをピアリングする必要があります。If you plan to use different VNETs, you must peer those virtual networks so that the domain controller is visible to HDI VMs. 詳細については、「仮想ネットワーク ピアリング」をご覧ください。For more information, see Virtual network peering.

VNET がピアリングされたら、HDInsight VNET を カスタム DNS サーバーを使用するように構成し、Azure AD-DS のプライベート IP を DNS サーバーのアドレスとして入力します。After the VNETs are peered, configure the HDInsight VNET to use a custom DNS server and input the Azure AD-DS private IPs as the DNS server addresses. 両方の VNET が同じ DNS サーバーを使用したとき、カスタム ドメイン名は、正しい IP に解決され、HDInsight から到達可能になります。When both VNETs use the same DNS servers, your custom domain name will resolve to the right IP and will be reachable from HDInsight. たとえば、ドメイン名が contoso.com の場合、この手順の後の ping contoso.com で正しい Azure AD-DS IP に解決されるはずです。For example if your domain name is contoso.com then after this step, ping contoso.com should resolve to the right Azure AD-DS IP.

ピアリングされた VNET のカスタム DNS サーバーを構成する

お客様の HDInsight サブネットでネットワーク セキュリティ グループ (NSG) 規則を使用している場合は、インバウンド トラフィックとアウトバウンド トラフィックの両方に対して必須 IP を許可する必要があります。If you are using Network Security Groups (NSG) rules in your HDInsight subnet, you should allow the required IPs for both Inbound and Outbound traffic.

ネットワークが正しく設定されているかどうかをテストするには、Windows VM を HDInsight VNET/サブネットに参加させて、ドメイン名に対して ping を実行し (IP に解決されます)、ldp.exe を実行して、Azure AD-DS ドメインにアクセスします。To test if your networking is set up correctly, join a windows VM to the HDInsight VNET/Subnet and ping the domain name (it should resolve to an IP), then run ldp.exe to access Azure AD-DS domain. 次に、この Windows VM をドメインに参加させて、必要なすべての RPC 呼び出しがクライアントとサーバー間で成功していることを確認します。Then join this windows VM to the domain to confirm that all the required RPC calls succeed between the client and server. nslookup を使って、ストレージ アカウント、または使用する任意の外部 DB (外部の Hive metastore、Ranger DB など) へのネットワーク アクセスを確認することもできます。You can also use nslookup to confirm networking access to your storage account or any external DB you might use (for example, external Hive metastore or Ranger DB). AAD-DS が NSG によって保護されている場合、必須ポートがすべて、AAD-DS サブネット ネットワーク セキュリティ グループ ルールのホワイトリストに含まれていることを確認してください。You should make sure that all of the required ports are whitelisted in the AAD-DS subnet Network Security Group rules, if AAD-DS is secured by an NSG. この Windows VM のドメイン参加に成功した場合、次の手順に進んで ESP クラスターを作成することができます。If the domain joining of this windows VM is successful, then you can proceed to the next step and create ESP clusters.

ESP の HDInsight クラスターの作成Create a HDInsight cluster with ESP

前の手順を正しく設定したら、次の手順は、ESP が有効になった HDInsight クラスターを作成することです。After setting up the previous steps correctly, the next step is to create the HDInsight cluster with ESP enabled. HDInsight クラスターを作成するとき、カスタム タブで Enterprise セキュリティ パッケージを有効にできます。デプロイ用に Azure Resource Manager テンプレートを使用する場合は、ポータルのエクスペリエンスを一度使用して、最後の "概要" ページに後で再利用するために事前入力されたテンプレートをダウンロードします。When you create an HDInsight cluster, you can enable Enterprise Security Package in the custom tab. If you prefer to use an Azure Resource Manager template for deployment, use the portal experience once and download the pre-filled template on the last "Summary" page for future reuse.

注意

ESP クラスター名の最初の 6 文字は、環境内で一意である必要があります。The first six characters of the ESP cluster names must be unique in your environment. たとえば、異なる VNET 内に複数の ESP クラスターがある場合、クラスター名の最初の 6 文字が一意になるように名前付け規則を選択する必要があります。For example, if you have multiple ESP clusters in different VNETs, you should choose a naming convension that ensures the first six characters on the cluster names are unique.

Azure HDInsight Enterprise セキュリティ パッケージのドメインの検証

ESP を有効にすると、Azure AD-DS に関連する一般的な構成ミスが自動的に検出され、検証されます。Once you enable ESP, common misconfigurations related to Azure AD-DS will be automatically detected and validated. これらのエラーを修正した後は、次の手順に進むことができます。After fixing these errors, you can proceed with the next step:

Aazure HDInsight Enterprise セキュリティ パッケージがドメインの検証に失敗しました

ESP で HDInsight クラスターを作成するときは、次のパラメーターを指定する必要があります。When you create a HDInsight cluster with ESP, you must supply the following parameters:

  • クラスター管理者ユーザー: 同期された Azure AD-DS からクラスターの管理者を選択します。Cluster admin user: Choose an admin for your cluster from your synced Azure AD-DS. このドメイン アカウントは同期済みで、Azure AD-DS で使用できなければなりません。This domain account must be already synced and available in Azure AD-DS.

  • クラスターのアクセス グループ: ユーザーをクラスターに同期させてアクセスさせるセキュリティ グループが、Azure AD-DS で使用できる必要があります。Cluster access groups: The security groups whose users you want to sync and have access to the cluster should be available in Azure AD-DS. たとえば、HiveUsers グループです。For example, HiveUsers group. 詳細については、「Azure Active Directory でグループを作成し、メンバーを追加する」を参照してください。For more information, see Create a group and add members in Azure Active Directory.

  • LDAPS URL: 例: ldaps://contoso.com:636LDAPS URL: An example is ldaps://contoso.com:636.

次のスクリーンショットは、Azure portal における適切な構成を示しています。The following screenshot shows a successful configuration in the Azure portal:

Azure HDInsight ESP Active Directory Domain Services の構成.

作成したマネージド ID は、新しいクラスターを作成するときに、ユーザー割り当てマネージド ID ドロップダウンから選択できます。The managed identity you created can be chosen in from the user-assigned managed identity dropdown when creating a new cluster.

Azure HDInsight ESP Active Directory Domain Services の構成.

次の手順Next steps