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

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

Product
Teradata QueryGrid
Release Number
2.16
Release Date
2021年6月
Content Type
インストール
ユーザー ガイド
構成
管理
Publication ID
B035-5991-061K-JPN
Language
日本語 (日本)

一般

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

Kerberos

QueryGridでは、Hiveターゲット コネクタでKerberos認証を使用できます。Kerberosには2つの認証形式があります。

Username/Password
Hiveターゲット コネクタは、データ ソースにクエリーを送信する前に、Kerberosに対してユーザー名とパスワードの認証を行ないます。
Username/Keytab
Hiveは、Kerberosキータブ認証を有効にするように設定されます。
NVPリンク ペアでHiveターゲット コネクタを使用してKerberos対応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コネクタは、authentication mechanismの値としてTrusted Kerberosをサポートします。この値を指定した場合、1つのKerberosサービス アカウントを使用して複数のQueryGridエンド ユーザーを偽装できます。Kerberosサービス アカウントに要求されたユーザーを偽装するためのHadoopレベルの権限がある場合、QueryGridクエリーはセッション内で要求されたユーザーとして実行されます。

この機能は、Kerberos対応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プロパティの値として使用しないでください。目的の制限は、複数ホストによって偽装可能なユーザー グループに適用してください。

Kerberos SSO

Teradata QueryGridでは、Teradata-Hive間のリンクでKerberosシングル サインオン(SSO)認証メカニズムを使用することで、Kerberos SSO機能がサポートされます。QueryGridを構成する前に、イニシエータ システムとターゲット システムでKerberosの設定を完了しておく必要があります。接続を確立するとき、Kerberosトークンがイニシエータからターゲット データベースに伝送されます。Kerberos関連のユーザー名、パスワード/キータブ、レルムなどのプロパティは、コネクタのプロパティまたは許可オブジェクトに指定されている場合は無視されます。

開始Teradataシステムのサービス ユーザー ログオンは、HiveでのQueryGridクエリー実行に使用されるので、許可対象のOSユーザー リストに追加する必要があります。

詳しくはKerberosシングル サインオンを参照してください。

Knox(HDP、CDP、およびDataprocのみ)

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

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

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

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

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