使用企业安全性套餐管理 HDInsight 群集Manage HDInsight clusters with Enterprise Security Package

了解 HDInsight 企业安全性套餐 (ESP) 中的用户和角色,以及如何管理 ESP 群集。Learn the users and the roles in HDInsight Enterprise Security Package (ESP), and how to manage ESP clusters.

可以使用 Apache Ambari 管理的用户名链接标准群集,还可以使用域用户名(例如:user1@contoso.com)链接安全 Apache Hadoop 群集。You can link a normal cluster by using Apache Ambari managed username, also link a security Apache Hadoop cluster by using domain username (such as: user1@contoso.com).

  1. 打开 Visual Studio CodeOpen Visual Studio Code. 确保已安装 Spark 和 Hive 工具扩展。Ensure the Spark & Hive Tools extension is installed.

  2. 按照 Visual Studio Code 的链接群集中的步骤进行操作。Follow the steps from Link a cluster for Visual Studio Code.

可以使用 Ambari 管理的用户名链接标准群集,还可以使用域用户名(例如:user1@contoso.com)链接安全 hadoop 群集。You can link a normal cluster by using Ambari managed username, also link a security hadoop cluster by using domain username (such as: user1@contoso.com).

  1. 打开 IntelliJ IDEA。Open IntelliJ IDEA. 确保符合所有先决条件Ensure all prerequisites are met.

  2. 按照 IntelliJ 的链接群集中的步骤进行操作。Follow the steps from Link a cluster for IntelliJ.

可以使用 Ambari 管理的用户名链接标准群集,还可以使用域用户名(例如:user1@contoso.com)链接安全 hadoop 群集。You can link a normal cluster by using Ambari managed username, also link a security hadoop cluster by using domain username (such as: user1@contoso.com).

  1. 打开 Eclipse。Open Eclipse. 确保符合所有先决条件Ensure all prerequisites are met.

  2. 按照 Eclipse 的链接群集中的步骤进行操作。Follow the steps from Link a cluster for Eclipse.

使用企业安全性套餐访问群集Access the clusters with Enterprise Security Package

企业安全包(以前称为 HDInsight Premium)提供对群集的多用户访问,其中身份验证通过 Active Directory 以及 Apache Ranger 和存储 ACL (ADLS ACL) 授权来完成。Enterprise Security Package (previously known as HDInsight Premium) provides multi-user access to the cluster, where authentication is done by Active Directory and authorization by Apache Ranger and Storage ACLs (ADLS ACLs). 授权提供多个用户之间的安全边界,并仅允许特权用户根据授权策略访问数据。Authorization provides secure boundaries among multiple users and allows only privileged users to have access to the data based on the authorization policies.

安全和用户隔离对于使用企业安全包的 HDInsight 群集很重要。Security and user isolation are important for a HDInsight cluster with Enterprise Security Package. 为了满足这些要求,将阻止通过 SSH 访问使用企业安全包的群集。To meet these requirements, SSH access to the cluster with Enterprise Security Package is blocked. 下表显示了对于每种群集类型建议的访问方法:The following table shows the recommended access methods for each cluster type:

工作负载Workload 方案Scenario 访问方法Access Method
Apache HadoopApache Hadoop Hive - 交互式作业/查询Hive – Interactive Jobs/Queries
Apache SparkApache Spark 交互式作业/查询,PySpark 交互式环境Interactive Jobs/Queries, PySpark interactive
Apache SparkApache Spark 批处理方案 - Spark 提交,PySparkBatch Scenarios – Spark submit, PySpark
交互式查询 (LLAP)Interactive Query (LLAP) 交互Interactive
任意Any 安装自定义应用程序Install Custom Application

备注

企业安全性套餐中未安装/支持 Jupyter。Jupyter is not installed/supported in Enterprise Security Package.

使用标准 API 从安全角度获得帮助。Using the standard APIs helps from security perspective. 你还可以获得以下优势:You also get the following benefits:

  • 管理 - 可以使用标准 API(Livy、HS2 等)管理代码和自动执行作业。Management – You can manage your code and automate jobs using standard APIs – Livy, HS2 etc.
  • 审核 - 使用 SSH 时,没有办法审核哪些用户已通过 SSH 登录到群集。Audit – With SSH, there's no way to audit, which users SSH'd to the cluster. 通过标准终结点构造作业时就不会出现这种情况,因为这些作业将在用户上下文中执行。This wouldn’t be the case when jobs are constructed via standard endpoints as they would be executed in context of user.

使用 BeelineUse Beeline

在计算机上安装 Beeline,并使用以下参数通过公共 Internet 进行连接:Install Beeline on your machine, and connect over the public internet, use the following parameters:

- Connection string: -u 'jdbc:hive2://<clustername>.azurehdinsight.cn:443/;ssl=true;transportMode=http;httpPath=/hive2'
- Cluster login name: -n admin
- Cluster login password -p 'password'

如果本地安装了 Beeline 并通过 Azure 虚拟网络进行连接,请使用以下参数:If you have Beeline installed locally, and connect over an Azure Virtual Network, use the following parameters:

Connection string: -u 'jdbc:hive2://<headnode-FQDN>:10001/;transportMode=http'

若要查找头节点的完全限定域名,请使用“使用 Ambari REST API 管理 HDInsight”文档中的信息。To find the fully qualified domain name of a headnode, use the information in the Manage HDInsight using the Ambari REST API document.

使用 ESP 的 HDInsight 群集的用户Users of HDInsight clusters with ESP

非 ESP HDInsight 群集具有两个在群集创建期间创建的用户帐户:A non-ESP HDInsight cluster has two user accounts that are created during the cluster creation:

  • Ambari 管理员:此帐户也称为 Hadoop 用户 或 HTTP 用户。Ambari admin: This account is also known as Hadoop user or HTTP user. 此帐户可用于在 https://CLUSTERNAME.azurehdinsight.cn 上登录到 Ambari。This account can be used to sign in to Ambari at https://CLUSTERNAME.azurehdinsight.cn. 也可将其用于在 Ambari 视图上运行查询、通过外部工具(例如 PowerShell、Templeton、Visual Studio)执行作业,以及使用 Hive ODBC 驱动程序和 BI 工具(例如 Excel、Power BI 或 Tableau)进行身份验证。It can also be used to run queries on Ambari views, execute jobs via external tools (for example, PowerShell, Templeton, Visual Studio), and authenticate with the Hive ODBC driver and BI tools (for example, Excel, Power BI, or Tableau).

使用 ESP 的 HDInsight 群集除 Ambari 管理员之外,还有三个新用户。A HDInsight cluster with ESP has three new users in addition to Ambari Admin.

  • Ranger 管理员:此帐户是本地的 Apache Ranger 管理员帐户。Ranger admin: This account is the local Apache Ranger admin account. 它不是 Active Directory 域用户。It isn't an active directory domain user. 此帐户可用于设置策略和让其他用户成为管理员或委托管理员(这些用户则可管理策略)。This account can be used to setup policies and make other users admins or delegated admins (so that those users can manage policies). 默认情况下,则该用户名是 admin ,密码与 Ambari 管理员密码相同。By default, the username is admin and the password is the same as the Ambari admin password. 可以通过 Ranger 中的“设置”页更新密码。The password can be updated from the Settings page in Ranger.

  • 群集管理员域用户:此帐户是指定为 Hadoop 群集管理员的 Active Directory 域用户(包括 Ambari 和 Ranger)。Cluster admin domain user: This account is an active directory domain user designated as the Hadoop cluster admin including Ambari and Ranger. 群集创建过程中必须提供用户的凭据。You must provide this user’s credentials during cluster creation. 此用户具有以下权限:This user has the following privileges:

    • 将计算机加入到域,并将其放入在群集创建期间指定的 OU 中。Join machines to the domain and place them within the OU that you specify during cluster creation.
    • 在群集创建期间指定的 OU 中创建服务主体。Create service principals within the OU that you specify during cluster creation.
    • 创建反向 DNS 条目。Create reverse DNS entries.

    请注意,其他 AD 用户也具有这些权限。Note the other AD users also have these privileges.

    群集内有一些终结点不受 Ranger 管理(如 Templeton),因此不安全。There are some end points within the cluster (for example, Templeton) which are not managed by Ranger, and hence aren't secure. 对于除群集管理员域用户以外的其他所有用户,这些终结点已锁定。These end points are locked down for all users except the cluster admin domain user.

  • 常规:群集创建期间,可提供多个 Active Directory 组。Regular: During cluster creation, you can provide multiple active directory groups. 这些组中的用户将同步到 Ranger 和 Ambari。The users in these groups are synced to Ranger and Ambari. 这些用户为域用户,仅对由 Ranger 管理的终结点(例如,Hiveserver2)具有访问权限。These users are domain users and have access to only Ranger-managed endpoints (for example, Hiveserver2). 所有 RBAC 策略和审核都适用于这些用户。All the RBAC policies and auditing will be applicable to these users.

使用 ESP 的 HDInsight 群集的角色Roles of HDInsight clusters with ESP

HDInsight 企业安全性套餐具有以下角色:HDInsight Enterprise Security Package has the following roles:

  • 群集管理员Cluster Administrator
  • 群集操作员Cluster Operator
  • 服务管理员Service Administrator
  • 服务操作员Service Operator
  • 群集用户Cluster User

查看这些角色的权限To see the permissions of these roles

  1. 打开 Ambari 管理 UI。Open the Ambari Management UI. 请参阅 打开 Ambari 管理 UISee Open the Ambari Management UI.

  2. 在左侧菜单中,选择“角色”。From the left menu, select Roles.

  3. 选择蓝色问号以查看权限:Select the blue question mark to see the permissions:

    ESP HDInsight 角色权限

打开 Ambari 管理 UIOpen the Ambari Management UI

  1. 导航到 https://CLUSTERNAME.azurehdinsight.cn/,其中 CLUSTERNAME 是群集的名称。Navigate to https://CLUSTERNAME.azurehdinsight.cn/ where CLUSTERNAME is the name of your cluster.

  2. 使用群集管理员域用户名和密码登录到 Ambari。Sign in to Ambari using the cluster administrator domain user name and password.

  3. 在右上角选择“管理员”下拉菜单,然后选择“管理 Ambari”。Select the admin dropdown menu from the upper right corner, and then select Manage Ambari.

    ESP HDInsight 管理 Apache Ambari

    该 UI 如下所示:The UI looks like:

    ESP HDInsight Apache Ambari 管理 UI

列出从 Active Directory 同步的域用户List the domain users synchronized from your Active Directory

  1. 打开 Ambari 管理 UI。Open the Ambari Management UI. 请参阅 打开 Ambari 管理 UISee Open the Ambari Management UI.

  2. 从左侧菜单中选择“用户”。From the left menu, select Users. 可看到从 Active Directory 同步到 HDInsight 群集的所有用户。You shall see all the users synced from your Active Directory to the HDInsight cluster.

    ESP HDInsight Ambari 管理 UI 列表用户

列出从 Active Directory 同步的域组List the domain groups synchronized from your Active Directory

  1. 打开 Ambari 管理 UI。Open the Ambari Management UI. 请参阅 打开 Ambari 管理 UISee Open the Ambari Management UI.

  2. 从左侧菜单中选择“组”。From the left menu, select Groups. 可看到从 Active Directory 同步到 HDInsight 群集的所有组。You shall see all the groups synced from your Active Directory to the HDInsight cluster.

    ESP HDInsight Ambari 管理 UI 列表组

配置 Hive 视图权限Configure Hive Views permissions

  1. 打开 Ambari 管理 UI。Open the Ambari Management UI. 请参阅 打开 Ambari 管理 UISee Open the Ambari Management UI.

  2. 从左侧菜单中选择“视图”。From the left menu, select Views.

  3. 选择“HIVE”以显示详细信息。Select HIVE to show the details.

    ESP HDInsight Ambari 管理 UI Hive 视图

  4. 选择“Hive 视图”链接以配置 Hive 视图。Select the Hive View link to configure Hive Views.

  5. 向下滚动到“权限”部分 。Scroll down to the Permissions section.

    ESP HDInsight Ambari 管理 UI Hive 视图配置权限

  6. 选择“添加用户”或“添加组”,然后指定可以使用 Hive 视图的用户或组。Select Add User or Add Group, and then specify the users or groups that can use Hive Views.

为角色配置用户Configure users for the roles

若要查看角色及其权限的列表,请参阅“使用 ESP 的 HDInsight 群集的角色”。To see a list of roles and their permissions, see Roles of HDInsight clusters with ESP.

  1. 打开 Ambari 管理 UI。Open the Ambari Management UI. 请参阅 打开 Ambari 管理 UISee Open the Ambari Management UI.
  2. 在左侧菜单中,选择“角色”。From the left menu, select Roles.
  3. 选择“添加用户”或“添加组”,以便将用户和组分配到不同角色。Select Add User or Add Group to assign users and groups to different roles.

后续步骤Next steps