

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon EMR 上 Kerberos 的安全配置和集群设置
<a name="emr-kerberos-configure-settings"></a>

当您创建使用 Kerberos 的集群时，您可以指定安全配置以及特定于集群的 Kerberos 属性。您不能指定一组属性而不指定另一组，否则会发生错误。

本主题提供了在您创建安全配置和集群时可用于 Kerberos 的配置参数概览。此外，针对常见架构提供了创建兼容安全配置和集群的 CLI 示例。

## 安全配置的 Kerberos 设置
<a name="emr-kerberos-security-configuration"></a>

您可以使用 Amazon EMR 控制台、 AWS CLI或 EMR API 创建指定 Kerberos 属性的安全配置。安全配置也可以包含其它安全选项，如加密。有关更多信息，请参阅[使用 Amazon EMR 控制台或使用 AWS CLI](emr-create-security-configuration.md)。

使用以下参考来了解您选择的 Kerberos 架构的可用安全配置设置。此时将显示 Amazon EMR 控制台设置。有关对应的 CLI 选项，请参阅[使用指定 Kerberos 设置 AWS CLI](emr-create-security-configuration.md#emr-kerberos-cli-parameters)或[配置示例](emr-kerberos-config-examples.md)。


<table>
<thead>
  <tr><th colspan="3">参数</th><th>说明</th></tr>
</thead>
<tbody>
  <tr><td colspan="3">**Kerberos**</td><td>指定为使用此安全配置的集群启用 Kerberos。如果集群使用此安全配置，则集群还必须指定 Kerberos 设置，否则会发生错误。</td></tr>
  <tr><td rowspan="2">**Provider**</td><td colspan="2">**Cluster-dedicated KDC**</td><td>指定 Amazon EMR 在使用此安全配置的任何集群的主节点上创建 KDC。您可以在创建集群时指定领域名称和 KDC 管理员密码。<br />如果需要，您可以从其它集群引用此 KDC。使用不同的安全配置创建这些集群，指定外部 KDC，并使用您为集群专用 KDC 指定的领域名称和 KDC 管理员密码。</td></tr>
  <tr><td colspan="2">**外部 KDC**</td><td>仅在 Amazon EMR 5.20.0 版及更高版本中可用。指定使用此安全配置的集群使用集群外部的 KDC 服务器对 Kerberos 主体进行身份验证。未在集群上创建 KDC。创建集群时，您需要为外部 KDC 指定领域名称和 KDC 管理员密码。</td></tr>
  <tr><td colspan="3"> **票证生命周期**</td><td>可选。指定 KDC 颁发的 Kerberos 票证在使用此安全配置的集群上有效的期间。<br />出于安全考虑，限制票证生命周期。集群应用程序和服务在过期后自动续订票证。使用 Kerberos 凭证通过 SSH 连接到集群的用户在票证过期后需要通过主节点命令行运行 `kinit` 来续订。</td></tr>
  <tr><td colspan="3">**Cross-realm 信任**</td><td>指定使用此安全配置的集群上的集群专用 KDC 与不同 Kerberos 领域中的 KDC 之间的跨领域信任。<br />来自另一个领域的委托人（通常是用户）将通过使用此配置的集群进行身份验证。需要在其它 Kerberos 领域中进行其它配置。有关更多信息，请参阅 [教程：配置与 Active Directory 域的跨领域信任](emr-kerberos-cross-realm.md)。</td></tr>
  <tr><td rowspan="4">Cross-realm 信任属性</td><td colspan="2"> **领域**</td><td>指定信任关系中其它领域的 Kerberos 领域名称。按照惯例，Kerberos 领域名称与域名相同，但全部使用大写字母。</td></tr>
  <tr><td colspan="2"> **域**：</td><td>指定信任关系中其它领域的域名。</td></tr>
  <tr><td colspan="2"> **管理服务器**</td><td>指定信任关系的其它领域中的管理服务器的完全限定域名（FQDN）或 IP 地址。管理服务器和 KDC 服务器通常运行在具有相同 FQDN 的同一台计算机上，但通过不同的端口进行通信。<br />如果未指定端口，则使用端口 749，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:749}}`)。</td></tr>
  <tr><td colspan="2"> **KDC 服务器**</td><td>指定信任关系的其它领域中 KDC 服务器的完全限定域名（FQDN）或 IP 地址。KDC 服务器和管理服务器通常运行在具有相同 FQDN 的同一台计算机上，但是使用不同的端口。<br />如果未指定端口，则使用端口 88，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:88}}`)。</td></tr>
  <tr><td colspan="3">**外部 KDC**</td><td>指定集群使用集群外部 KDC。</td></tr>
  <tr><td rowspan="6">外部 KDC 属性</td><td colspan="2">**管理服务器**</td><td>指定外部管理服务器的完全限定域名（FQDN）或 IP 地址。管理服务器和 KDC 服务器通常运行在具有相同 FQDN 的同一台计算机上，但通过不同的端口进行通信。<br />如果未指定端口，则使用端口 749，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:749}}`)。</td></tr>
  <tr><td colspan="2">**KDC 服务器**</td><td>指定外部 KDC 服务器的完全限定域名（FQDN）。KDC 服务器和管理服务器通常运行在具有相同 FQDN 的同一台计算机上，但是使用不同的端口。<br />如果未指定端口，则使用端口 88，这是 Kerberos 默认值。另外，您还可以指定端口 (例如，`domain.example.com{{:88}}`)。</td></tr>
  <tr><td colspan="2">**Active Directory 集成**</td><td>指定 Kerberos 委托人身份验证与 Microsoft Active Directory 域集成。</td></tr>
  <tr><td rowspan="3">Active Directory 集成属性</td><td>**Active Directory 领域**</td><td>指定 Active Directory 域的 Kerberos 领域名称。按照惯例，Kerberos 领域名称通常与域名相同，但全部使用大写字母。</td></tr>
  <tr><td>**Active Directory 域**</td><td>指定 Active Directory 域名。</td></tr>
  <tr><td>**Active Directory 服务器**</td><td>指定 Microsoft Active Directory 域控制器的完全限定域名（FQDN）。</td></tr>
</tbody>
</table>


## 集群的 Kerberos 设置
<a name="emr-kerberos-cluster-configuration"></a>

您可以在使用 Amazon EMR 控制台、 AWS CLI或 EMR API 创建集群时指定 Kerberos 设置。

使用以下参考来了解您选择的 Kerberos 架构的可用集群配置设置。此时将显示 Amazon EMR 控制台设置。有关对应的 CLI 选项，请参阅[配置示例](emr-kerberos-config-examples.md)。


| 参数 | 说明 | 
| --- | --- | 
| 领域 | 集群的 Kerberos 领域名称。Kerberos 约定是将此项设置为与域名相同，但使用大写字母。例如，对于域 `ec2.internal`，使用 `EC2.INTERNAL` 作为领域名称。 | 
| KDC 管理员密码 | 集群中为 `kadmin` 或 `kadmin.local` 使用的密码。这些是 Kerberos V5 管理系统的命令行接口，该系统保存了集群的 Kerberos 委托人、密码策略和 keytab。 | 
| Cross-realm 信任主体密码（可选） | 在建立跨领域信任时是必需的。跨领域主体密码，这必须跨领域相同。使用强密码。 | 
| Active Directory 域加入用户（可选） | 在跨领域信任中使用 Active Directory 时必需。这是 Active Directory 账户的用户登录名，该账户具有将计算机加入域的权限。Amazon EMR 使用此身份将集群加入域。有关更多信息，请参阅[步骤 3：将用户账户添加到 EMR 集群的域中](emr-kerberos-cross-realm.md#emr-kerberos-ad-users)。 | 
| Active Directory 域加入密码（可选） | Active Directory 域加入用户的密码。有关更多信息，请参阅[步骤 3：将用户账户添加到 EMR 集群的域中](emr-kerberos-cross-realm.md#emr-kerberos-ad-users)。 | 