

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

# 在 Amazon EMR 上使用 LDAP 的示例
<a name="ldap-examples"></a>

[预置使用 LDAP 集成的 EMR 集群](ldap-setup-launch.md)后，您可以通过其内置的用户名和密码身份验证机制向任何[支持的应用程序](ldap-considerations.md#ldap-considerations-apps)提供 LDAP 凭证。本页显示一些示例。

## 在 Apache Hive 上使用 LDAP 身份验证
<a name="ldap-examples-"></a>

**Example ：Apache Hive**  
以下示例命令通过 HiveServer 2 和 Beeline 启动 Apache Hive 会话：  

```
beeline -u "jdbc:hive2://$HOSTNAME:10000/default;ssl=true;sslTrustStore=$TRUSTSTORE_PATH;trustStorePassword=$TRUSTSTORE_PASS"  -n LDAP_USERNAME -p LDAP_PASSWORD
```

## 在 Apache Livy 上使用 LDAP 身份验证
<a name="ldap-examples-livy"></a>

**Example ：Apache Livy**  
以下示例命令通过 cURL 启动 Livy 会话。将 `ENCODED-KEYPAIR` 替换为 `username:password` 的 Base64 编码字符串。  

```
curl -X POST --data '{"proxyUser":"LDAP_USERNAME","kind": "pyspark"}' -H "Content-Type: application/json" -H "Authorization: Basic ENCODED-KEYPAIR" DNS_OF_PRIMARY_NODE:8998/sessions
```

## 在 Presto 上使用 LDAP 身份验证
<a name="ldap-examples-presto"></a>

**Example ：Presto**  
以下示例命令通过 Presto CLI 启动 Presto 会话：  

```
presto-cli --user "LDAP_USERNAME" --password --catalog hive
```
运行此命令后，在系统提示时输入 LDAP 密码。

## 在 Trino 上使用 LDAP 身份验证
<a name="ldap-examples-trino"></a>

**Example Trino**  
以下示例命令通过 Trino CLI 启动 Trino 会话：  

```
trino-cli --user "LDAP_USERNAME" --password --catalog hive
```
运行此命令后，在系统提示时输入 LDAP 密码。

## 在 Hue 上使用 LDAP 身份验证
<a name="ldap-examples-hue"></a>

您可以通过在集群上创建的 SSH 隧道访问 Hue 用户界面，也可以将代理服务器设置为公开广播与 Hue 的连接。由于 Hue 默认不在 HTTPS 模式下运行，因此我们建议您使用额外的加密层，以确保客户端与 Hue 用户界面之间的通信使用 HTTPS 加密。这样可以减少您意外以纯文本形式公开用户凭证的可能性。

要使用 Hue 用户界面，请在浏览器中打开 Hue 用户界面，然后输入您的 LDAP 用户名密码进行登录。如果凭证正确，Hue 会将您登录并使用您的身份在所有支持的应用程序中对您进行身份验证。

## 使用 SSH 进行密码身份验证，对其他应用程序使用 Kerberos 票证
<a name="ldap-examples-ssh"></a>

**重要**  
我们不建议您使用密码身份验证来通过 SSH 访问 EMR 集群。

您可以使用您的 LDAP 凭证通过 SSH 访问 EMR 集群。为此，请在用于启动集群的 Amazon EMR 安全配置中将 `EnableSSHLogin` 配置设置为 `true`。然后，在集群启动后，使用以下命令通过 SSH 连接到集群：

```
ssh username@EMR_PRIMARY_DNS_NAME
```

运行此命令后，在系统提示时输入 LDAP 密码。

Amazon EMR 包含一个集群脚本，允许用户生成 Kerberos keytab 文件和票证，用于不直接接受 LDAP 凭证的受支持应用程序。其中一些应用程序包括 `spark-submit` Spark SQL 和 PySpark。

运行 `ldap-kinit` 并按照提示操作。如果身份验证成功，Kerberos keytab 文件将与有效的 Kerberos 票证一起出现在您的主目录中。使用 Kerberos 票证像在任何使用 Kerberos 的环境中一样运行应用程序。