LDAP 認証を有効にすると、Kyuubi のセキュリティが向上します。これにより、クライアントは Kyuubi Server への接続、Spark セッションの開始、SQL クエリの実行のために、有効なユーザー名とパスワードを提供する必要があります。これにより、機密データや機能への不正アクセスを防ぎます。
前提条件
-
Kyuubi Gateway とトークンを作成します。詳細については、「ゲートウェイ管理」をご参照ください。
以下のエンジンバージョンを推奨します:
-
esr-4.x:esr-4.3.0 以降。
-
esr-3.x:esr-3.3.0 以降。
-
esr-2.x:esr-2.7.0 以降。
-
-
(任意) Alibaba Cloud EMR on ECS クラスターの OpenLDAP サービスを使用する場合は、OpenLDAP サービスを含むクラスターを作成し、ユーザーを追加する必要があります。詳細については、「クラスターの作成」および「OpenLDAP のユーザー管理」をご参照ください。
操作手順
ステップ 1:ネットワークの準備
開始する前に、EMR Serverless Spark とご利用の Virtual Private Cloud (VPC) との間のネットワーク接続を確保してください。これにより、Kyuubi Gateway は認証のためにご利用の LDAP サービスに接続できます。手順については、「EMR Serverless Spark と他の VPC との間のネットワーク接続」をご参照ください。
ステップ 2:Kyuubi Gateway の設定
Kyuubi Gateway の LDAP 認証を有効にするには、まずゲートウェイを停止します。次に、Kyuubi Gateway を編集し、Normal Network Connection ドロップダウンリストから接続名を選択し、Kyuubi Configuration セクションに次のパラメーターを追加します。編集が完了したら、Kyuubi Gateway を再起動して変更を適用します。
kyuubi.authentication LDAP
kyuubi.authentication.ldap.baseDN <ldap_base_dn>
kyuubi.authentication.ldap.userDNPattern <ldap_user_pattern>
kyuubi.authentication.ldap.binddn <ldap_bind_dn>
kyuubi.authentication.ldap.bindpw <ldap_bind_pwd>
kyuubi.authentication.ldap.url ldap://<ldap_url>:<ldap_port>/
次の表にパラメーターを示します。プレースホルダーの値を実際の情報に置き換えてください。
Alibaba Cloud EMR on ECS クラスターの OpenLDAP サービスに接続する場合は、サンプル値を参照できます。
|
パラメーター |
説明 |
例 |
|
|
|
|
|
|
LDAP サービスでの検索のベース識別名 (DN) です。 |
|
|
|
ログインユーザー名を完全な LDAP DN に変換するために使用されるパターンです。 |
たとえば、 |
|
|
LDAP サービスへのバインドに使用される DN です。 |
|
|
|
バインド DN のパスワードです。 |
OpenLDAP サービスの構成で admin_pwd パラメーターの値を見つけます。 |
|
|
LDAP サービスの接続 URL です。フォーマットは |
説明
LDAP が高可用性サービスである場合は、複数の LDAP 接続アドレスをスペースで区切る必要があります。例: |
ステップ 3:Kyuubi Gateway への接続
このセクションでは、2 つの一般的な接続方法について説明します。Kyuubi Gateway に接続する前に、次のプレースホルダーを実際の情報に置き換えてください:
-
<endpoint>:Endpoint (Public) または Endpoint (Internal) の情報を Overview タブから取得します。内部エンドポイントを使用する場合、Kyuubi Gateway へのアクセスは同じ VPC 内のリソースに制限されます。
-
<token>:Tokens タブのトークン情報です。 -
<port>:ポート番号です。ポート番号は、パブリックエンドポイント経由のアクセスの場合は 443、内部の同一リージョンエンドポイント経由のアクセスの場合は 80 です。 -
<username>と<password>:LDAP サービスにログインするためのユーザー名とパスワードです。Alibaba Cloud EMR on ECS クラスターの OpenLDAP サービスに接続する場合は、EMR on ECS の Users ページで追加したユーザー名とパスワードを使用します。
方法 1:kyuubi-beeline CLI の使用
-
ユーザー名とパスワードを直接指定する:コマンドライン引数として認証情報を直接指定できますが、この方法ではパスワードが公開されます。
kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p <password> -
対話形式でパスワードを入力する:セキュリティを向上させるには、-p オプションからパスワードを省略します。これにより、手動で入力するよう求められ、入力文字は表示されません。
kyuubi-beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p
方法 2:JDBC URL の使用
Java プログラムなどの別のアプリケーションから接続する場合、または完全な JDBC URL を構築する場合は、次のフォーマットを使用します。
jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>;user=<username>;password=<password>