

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

# 创建用于 LDAP 集成的 Amazon EMR 安全配置
<a name="ldap-setup-security"></a>

在启动集成了 LDAP 的 EMR 集群之前，请使用 [使用 Amazon EMR 控制台或使用 AWS CLI](emr-create-security-configuration.md) 中的步骤为该集群创建 Amazon EMR 安全配置。在 `AuthenticationConfiguration` 下的 `LDAPConfiguration` 区块中，或在 Amazon EMR 控制台**安全配置**部分中的相应字段中完成以下配置：

**`EnableLDAPAuthentication`**  
控制台选项：**身份验证协议：LDAP**  
要使用 LDAP 集成，请在控制台中创建集群时将此选项设置为 `true` 或选择它作为您的身份验证协议。默认情况下，当您在 Amazon EMR 控制台中创建安全配置时，`EnableLDAPAuthentication` 的值为 `true`。

**`LDAPServerURL`**  
控制台选项：**LDAP 服务器位置**  
LDAP 服务器的位置包括前缀：`ldaps://location_of_server`。

**`BindCertificateARN`**  
控制台选项：**LDAP SSL 证书**  
包含用于签署 LDAP 服务器使用的 SSL 证书的证书的 AWS Secrets Manager ARN。如果您的 LDAP 服务器由公共证书颁发机构 (CA) 签名，则可以为 AWS Secrets Manager ARN 提供一个空白文件。有关如何在 Secrets Manager 中存储证书的更多信息，请参阅 [将 TLS 证书存储在 AWS Secrets Manager](emr-ranger-tls-certificates.md)。

**`BindCredentialsARN`**  
控制台选项：**LDAP 服务器绑定凭证**  
包含 LD AWS Secrets Manager AP 管理员用户绑定凭据的 ARN。凭证存储为 JSON 对象。此密钥中只有一个键值对；键值对中的键是用户名，值是密码。例如 `{"uid=admin,cn=People,dc=example,dc=com": "AdminPassword1"}`。除非您为 EMR 集群启用 SSH 登录，否则此字段为可选字段。在许多配置中，Active Directory 实例需要绑定凭证才能允许 SSSD 同步用户。

**`LDAPAccessFilter`**  
控制台选项：**LDAP 访问筛选条件**  
指定 LDAP 服务器中可以进行身份验证的对象子集。例如，如果您只想向 LDAP 服务器中具有 `posixAccount` 对象类的所有用户授予访问权限，请将访问筛选条件定义为 `(objectClass=posixAccount)`。

**`LDAPUserSearchBase`**  
控制台选项：**LDAP 用户搜索库**  
您的用户在 LDAP 服务器中所属的搜索库。例如 `cn=People,dc=example,dc=com`。

**`LDAPGroupSearchBase`**  
控制台选项：**LDAP 组搜索库**  
您的组在 LDAP 服务器中所属的搜索库。例如 `cn=Groups,dc=example,dc=com`。

**`EnableSSHLogin`**  
控制台选项：**SSH 登录**  
指定是否允许使用 LDAP 凭证进行密码身份验证。我们不建议您保持启用此选项。密钥对允许访问 EMR 集群的更安全的路由。此字段是可选的，默认值为 `false`。

**`LDAPServerType`**  
控制台选项：**LDAP 服务器类型**  
指定 Amazon EMR 连接到的 LDAP 服务器的类型。支持的选项有“Active Directory”和“OpenLDAP”。其他 LDAP 服务器类型可能会起作用，但是 Amazon EMR 不正式支持其他服务器类型。有关更多信息，请参阅 [Amazon EMR 的 LDAP 组件](ldap-components.md)。

**`ActiveDirectoryConfigurations`**  
使用 Active Directory 服务器类型的安全配置的必需子块。

**`ADDomain`**  
控制台选项：**Active Directory 域**  
用于创建用户主体名称（UPN）的域名，用于对使用 Active Directory 服务器类型的安全配置进行用户身份验证。

## 使用 LDAP 和 Amazon EMR 进行安全配置的注意事项
<a name="ldap-setup-security-considerations"></a>
+ 要创建与 Amazon EMR LDAP 集成的安全配置，您必须使用传输中加密。有关传输中加密的信息，请参阅 [使用 Amazon EMR 加密静态数据和传输中数据](emr-data-encryption.md)。
+ 您不能在相同的安全配置中定义 Kerberos 配置。Amazon EMR 会自动预置一个专用的 KDC，并管理此 KDC 的管理员密码。用户无法访问此管理员密码。
+ 您不能在相同的安全配置 AWS Lake Formation 中定义 IAM 运行时角色。
+ `LDAPServerURL` 的值中必须包含 `ldaps://` 协议。
+ `LDAPAccessFilter` 不能为空。

## 将 LDAP 与 Amazon EMR 的 Apache Ranger 集成一起使用
<a name="ldap-setup-ranger"></a>

通过 Amazon EMR 的 LDAP 集成，您可以进一步与 Apache Ranger 集成。当您将您的 LDAP 用户拉取到 Ranger 中时，可以将这些用户与 Apache Ranger 策略服务器关联，以便与 Amazon EMR 和其他应用程序集成。为此，请在与 LDAP 集群一起使用的安全配置中的 `AuthorizationConfiguration` 中定义该 `RangerConfiguration` 字段。有关如何设置安全配置的更多信息，请参阅 [创建 EMR 安全配置](emr-ranger-security-config.md)。

将 LDAP 与 Amazon EMR 配合使用时，您无需为 Apache Ranger 提供带有 Amazon EMR 集成的 `KerberosConfiguration`。