HadoopでのKerberos認証のサポート

データ処理コンポーネントは、Kerberos認証を有効にしたクラスタで実行するように構成できます。

RFC 1510で定義されているKerberos Network Authentication Serviceバージョン5は、Hadoop環境のプリンシパルのIDを検証する手段を提供します。Hadoopは、Kerberosを使用して、様々なコンポーネントとクライアント間に安全な通信を作成します。Kerberosは、ユーザーとユーザーがアクセスするサービスがKerberosサーバーを利用して相互に認証する認証メカニズムです。Kerberosサーバーはキー配布センター(KDC)と呼ばれます。概要レベルでは、次の3つの部分を持ちます。

プリンシパルはサービス・チケットをTGSから取得します。サービス・チケットにより、プリンシパルは様々なHadoopサービスにアクセスできます。

データ処理ワークフローを安全なHadoopクラスタで実行できるようにするには、次の3つのBDDコンポーネントがKerberosサポートに対して有効になっている必要があります。

3つのすべてのBDDコンポーネントが1つのプリンシパルとキータブを共有します。認可サポートはありません(つまり、これらのコンポーネントはユーザーの権限を検証しません)。

BDDコンポーネントは、インストール時にbdd.confファイルのENABLE_KERBEROSパラメータを介してKerberosサポートに対して有効化されます。bdd.confファイルには、Kerberosプリンシパルの名前と、Kerberosキータブ・ファイルおよびKerberos構成ファイルのパスを指定するパラメータもあります。これらのパラメータの詳細は、『インストレーションおよびデプロイメント・ガイド』を参照してください。

注意: Hadoopクラスタでの認証にSentryを使用する場合は、Hive表へのBDDアクセス権を付与するように構成する必要があります。

DPワークフローでのKerberosのサポート

Kerberos認証のサポートにより、データ処理ワークフローを安全なHadoopクラスタで実行できることが保証されます。Kerberosのサポートには、edp.properties構成ファイルのKerberosプロパティを介したDP CLIが含まれます。

Sparkのbinディレクトリにあるspark-submitスクリプトは、次のようにクラスタでDPアプリケーションを起動するために使用されます。
  1. spark-submitをコールする前に、DPはローカル・キータブを使用してログインします。spark-submitは、ジョブ発行時に資格証明を取得して、YARNおよびSparkを認証します。
  2. Sparkは、spark.yarn.access.namenodesプロパティにリストされている名前ノードのHDFS委任トークンを取得し、ワークフローはHDFSにアクセスできます。
  3. ワークフローが開始すると、DPはクラスタ・キータブを使用してログインします。
  4. DP Hive Clientが初期化されると、SASLクライアントがノード上のKerberos資格証明とともに使用され、Hive Metastoreを認証します。認証されると、DP Hive ClientはHive Metastoreと通信できます。

Hive JDBC接続が使用される場合、資格証明を使用してHiveを認証するため、サービスを使用できます。

Dgraph HDFSエージェントでのKerberosのサポート

BDDでは、Dgraph HDFSエージェントはHDFSでHDFSファイルを読み書きするため、Hadoop HDFSのクライアントです。Kerberosサポートの場合、Dgraph HDFSエージェントは3つのKerberosフラグで開始します。
  • --principalフラグでは、プリンシパルの名前を指定します。
  • --keytabフラグでは、プリンシパルのキータブのパスを指定します。
  • --krb5confフラグでは、krb5.conf構成ファイルのパスを指定します。

フラグ引数の値は、インストール・スクリプトで設定されます。

開始すると、Dgraph HDFSエージェントは指定されたプリンシパルとキータブでログインします。ログインに成功した場合、Dgraph HDFSエージェントがKerberos認証に合格し、正常に起動します。それ以外の場合、HDFSエージェントは起動できません。

StudioでのKerberosのサポート

Studioにも、Hadoop Kerberos環境での次のジョブの実行のサポートがあります。
  • データ・セットの変換
  • ファイルのアップロード
  • データのエクスポート
Kerberosログインは、portal-ext.propertiesで次のプロパティを介して構成されます。
  • kerberos.principal
  • kerberos.keytab
  • kerberos.krb5.location

これらのプロパティの値は、インストール手順中に挿入されます。

bdd-adminコマンドでのKerberosのサポート

前述のコンポーネントのサポートに加えて、次のbdd-adminスクリプト・コマンドがKerberos対応環境で動作します。
  • get-logsコマンド
  • backupコマンド
  • restoreコマンド

これらのコマンドの詳細は、『管理者ガイド』を参照してください。