データ処理コンポーネントは、Kerberos認証を有効にしたクラスタで実行するように構成できます。
RFC 1510で定義されているKerberos Network Authentication Serviceバージョン5は、Hadoop環境のプリンシパルのIDを検証する手段を提供します。Hadoopは、Kerberosを使用して、様々なコンポーネントとクライアント間に安全な通信を作成します。Kerberosは、ユーザーとユーザーがアクセスするサービスがKerberosサーバーを利用して相互に認証する認証メカニズムです。Kerberosサーバーはキー配布センター(KDC)と呼ばれます。概要レベルでは、次の3つの部分を持ちます。
- ユーザーとサービス(プリンシパルと呼ぶ)のデータベースおよびそれぞれのKerberosパスワード
- 初期認証を実行し、チケット認可チケット(TGT)を発行する認証サーバー(AS)
- 初期TGTに基づいて後続のサービス・チケットを発行するTicket Granting Server (TGS)
プリンシパルはサービス・チケットをTGSから取得します。サービス・チケットにより、プリンシパルは様々なHadoopサービスにアクセスできます。
データ処理ワークフローを安全なHadoopクラスタで実行できるようにするには、次の3つのBDDコンポーネントがKerberosサポートに対して有効になっている必要があります。
- Dgraph HDFSエージェント
- データ処理ワークフロー(StudioまたはDP CLIで開始)
- Studio
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アプリケーションを起動するために使用されます。
- spark-submitをコールする前に、DPはローカル・キータブを使用してログインします。spark-submitは、ジョブ発行時に資格証明を取得して、YARNおよびSparkを認証します。
- Sparkは、spark.yarn.access.namenodesプロパティにリストされている名前ノードのHDFS委任トークンを取得し、ワークフローはHDFSにアクセスできます。
- ワークフローが開始すると、DPはクラスタ・キータブを使用してログインします。
- 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コマンド
これらのコマンドの詳細は、『管理者ガイド』を参照してください。