Hiveターゲット コネクタのセキュリティ ガイドライン - Teradata QueryGrid

Teradata® QueryGrid™ インストールとユーザー ガイド

Product
Teradata QueryGrid
Release Number
2.13
Published
2020年8月
Language
日本語
Last Update
2020-09-04
dita:mapPath
ja-JP/oow1591642881502.ditamap
dita:ditavalPath
ft:empty
dita:id
lfq1484661135852
Product Category
Analytical Ecosystem

一般

NVPリンクの組み合わせでHiveターゲット コネクタのパラメータを設定する場合は、Conf ファイルのパス プロパティの設定が正しいパス名の正しい値を使用していることを確認してください。 QueryGridは、データ転送を処理するときに、この設定に大きく依存します。 Hiveコネクタとリンクのプロパティを参照してください。

Kerberos

Hive ターゲット コネクタで Kerberos 認証を使用するようにQueryGridを設定できます。Kerberos では、次の 2 つの形式の認証を使用します。

Username/Password
Hiveターゲット コネクタは、データ ソースにクエリーを送信する前に、Kerberosに対してユーザー名とパスワードの認証を行ないます。
Username/Keytab
Hiveは、Kerberosキータブ認証を有効にするように設定できます。
NVPリンクのペアリングでHiveターゲット コネクタを使用してKerberized Hadoopクラスタにアクセスする場合:
  • 認証メカニズム プロパティに対してKerberosを選択します。
  • HiveServer2のみがセキュリティで保護されている場合は、HS2のみに設定します(LDAP/CUSTOM/PAMなど)。これは一般的な設定ではありません。
  • Teradata QueryGrid(tdqg)ユーザーがkinitを実行する権限を持っていることを確認します。kinitを実行する権限の確認を参照してください。
    CDHでKerberosを使用する場合は、HiveServer2に接続しているユーザーのKerberosプリンシパルではなく、HiveServer2の正しいKerberosプリンシパルにHive KerberosプリンシパルNVPを設定する必要があります。これは、primaryname/instancename@ realmname形式で設定する必要があります。

信頼済みKerberos

Hive コネクタは、単一の Kerberos サービス アカウントを使用して QueryGrid エンドユーザーの偽装を許可するauthentication mechanismの値Trusted Kerberosをサポートします。Kerberos サービス アカウントに、要求されたユーザーを偽装する Hadoop レベルの特権がある場合、QueryGrid クエリーは、要求されたユーザーとしてセッション内で実行されます。

この機能は、Kerberosdhad Hadoop クラスタおよび QueryGrid 2.13 以降でのみサポートされます。Kerberos のセットアップは Kerberos 認証のセットアップと同じですが、いくつかの追加設定があります。

偽装されたユーザーは、JDBC プロパティhive.server2.proxy.userを使用してターゲット システムに渡されます。ソース および ターゲット システムでクエリーを実行するには、偽装されたユーザーがAllowed OS usersである必要があります。偽装ユーザーを定義するには、次の 2 つの方法
オプション 説明
イニシエーション システムのユーザー (既定) Teradataシステムユーザーは、すべての小文字のユーザー名を持つ偽装ユーザーとしてターゲット システムに渡されます。
ユーザー マッピング ユーザー マッピングでは、ターゲット システム上の、そのシステム上の任意のユーザーに対して、大文字と小文字を使用して偽装されたユーザーを定義できます。一般的なユース ケースは、偽装されたユーザー名がすべて小文字ではない場合です。

HiveServer2 でユーザー偽装を構成する場合、サービス ユーザーは要求されたユーザーを偽装できる必要があります。これには、Kerberos サービス アカウントのcore-site.xml ファイルにhadoop.proxyuser.kerberos_service_user.groupsプロパティとhadoop.proxyuser.kerberos_service_user.hostsを構成する必要があります。QueryGridクエリーは、ドライバ ノードから JDBC によってトリガされます。したがって、ドライバ ノードの IP アドレスは、hadoop.proxyuser.kerberos_service_user.hostsプロパティに入力する必要があります。

hadoop.proxyuser.<krb service>.hostsおよびhadoop.proxyuser.<krb service>.groupsプロパティの値としてワイルドカード (*) を使用しないでください。異なるホストによって偽装できるユーザー グループに、意図した制限を適用します。

ノックス(HDPのみ)

Knoxは、有効に設定されていれば、Hiveコネクタ プロパティで構成されているとき、HiveとHiveServer2間のゲートウェイ サービスの役割を果たすセキュリティ オプションです。Hiveコネクタは、HiveServer2に直接接続するのではなくKnoxサービスに接続します。さらに、Hiveコネクタからの要求がKnoxサービスに送信され、Knoxによってその要求がHiveServer2にリダイレクトされます。Knoxの適切な構成方法については、KnoxおよびHortonworks Hadoop(HDP)のドキュメントを参照してください。

SSLが有効になっており、KnoxがSPNEGO認証を使用してHiveServer2に接続している場合、Knoxには制限があります。このシナリオでは、KnoxはHiveで動作しません。

Knoxで保護された Hortonworks Hadoop データベースを使用し、QueryGrid Hive コネクタを Knox 経由で接続する場合は、次の NVP リンク プロパティに正しい値が含まれていることを確認してください。

設定 説明
ノックス接続パスワード Knox接続用のパスワード。Knoxを使用する場合のみに必要です。
ノックス接続ユーザー名 Knox接続用のユーザー名。Knoxを使用する場合のみに必要です。
ノックス コンテキスト パス HS2のKnoxコンテキスト パス(例: gateway/mycluster/hive)Knoxを使用する場合のみに必要です。
ノックス ゲートウェイ ホスト Knoxゲートウェイ ホスト。このプロパティを使用することで、Knoxを使用していることを示します。
ノックス ゲートウェイ ポート Knoxゲートウェイのポート番号。有効なポート番号の値は1024~65535です。
ノックスのトラストストア パス Knoxトラストストア パスKnoxを使用する場合のみに必要です。
ノックスのトラストストア パスワード Knoxトラストストア パスワードKnoxを使用する場合のみに必要です。

詳細については、Hiveコネクタとリンクのプロパティを参照してください。