LDAP 認証を有効にすることで、Spark Thrift Server のセキュリティを強化できます。Spark Thrift Server で LDAP 認証が有効になっている場合、クライアントは正しいユーザー名とパスワードの資格情報を提供した後にのみ Spark Thrift Server に接続し、SQL クエリを実行できます。これにより、機密データや機能への不正なアクセスを効果的に防ぐことができます。
制限事項
Serverless Spark のエンジンバージョンは、次の要件を満たす必要があります。
esr-4.x: esr-4.2.0 以降のバージョン。
esr-3.x: esr-3.0.1 以降のバージョン。
esr-2.x: esr-2.4.1 以降のバージョン。
前提条件
Spark Thrift Server セッションが作成されていること。詳細については、「Spark Thrift Server セッションの管理」をご参照ください。
オプション: Alibaba Cloud EMR on ECS クラスターの OpenLDAP サービスを使用する必要がある場合は、OpenLDAP サービスを選択してクラスターを作成し、ユーザーを追加する必要があります。詳細については、「クラスターの作成」および「OpenLDAP ユーザー管理」をご参照ください。
手順
ステップ 1: ネットワークの準備
指定された Spark Thrift Server が LDAP サーバーに接続できるように、Serverless Spark とお使いの VPC 間のネットワーク接続を設定する必要があります。詳細については、「EMR Serverless Spark と他の VPC 間のネットワーク接続」をご参照ください。
ステップ 2: Spark Thrift Server の起動パラメーターを設定する
Spark Thrift Server の LDAP 認証を有効にする前に、Spark Thrift Server を停止する必要があります。作成した接続名を [ネットワーク接続] ドロップダウンリストから選択し、[Spark 設定] に次の設定項目を追加します。設定項目を追加した後、Spark Thrift Server を再起動して設定を有効にする必要があります。
spark.hive.server2.authentication LDAP
spark.hive.server2.authentication.ldap.url ldap://<ldap_url>:<ldap_port>
spark.hive.server2.authentication.ldap.baseDN <ldap_base_dn>ビジネス要件に基づいて、次のパラメーターを設定します。
<ldap_url>および<ldap_port>: LDAP サーバーの URL とポート。Alibaba Cloud EMR on ECS クラスターの OpenLDAP サービスに接続する場合、<ldap_url>にはマスターノードの内部 IP アドレスを、<ldap_port>には 10389 を指定できます。説明LDAP が高可用性 (HA) サービスである場合は、複数の LDAP エンドポイントをスペースで区切ります。例:
ldap://<ldap_url_1>:<ldap_port> ldap://<ldap_url_2>:<ldap_port>。<ldap_base_dn>: LDAP 認証に使用されるベース DN。Alibaba Cloud EMR on ECS クラスターの OpenLDAP サービスに接続する場合、ou=people,o=emrを指定できます。
ステップ 3: LDAP 認証が有効になっている Spark Thrift Server に接続する
このセクションでは、LDAP 認証が有効になっている Spark Thrift Server に接続するための 2 つのメソッドについて説明します。Spark Thrift Server に接続する際は、ビジネス要件に基づいて次の情報を置き換えてください。
<endpoint>: [概要] タブで取得する [エンドポイント (パブリック)] または [エンドポイント (内部)] の情報。内部の同一リージョンエンドポイントを使用する場合、Spark Thrift Server には同じ VPC 内のリソースからのみアクセスできます。
<token>: [トークン管理] タブのトークン情報。<username>および<password>: LDAP サーバーへのログインに使用するユーザー名とパスワード。Alibaba Cloud EMR on ECS クラスターの OpenLDAP サービスに接続する場合は、EMR on ECS の [ユーザー管理] ページで追加したユーザー名とパスワードを指定します。
メソッド 1: Beeline コマンドラインインターフェイスを使用する
beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p <password>メソッド 2: JDBC URL を使用する
Java アプリケーションなどの別のアプリケーションを使用するか、完全な Java Database Connectivity (JDBC) URL を構築して Spark Thrift Server に接続できます。URL は次のフォーマットである必要があります。
jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>;user=<username>;password=<password>