データ処理コンポーネントは、Kerberos認証を有効にしたHadoopクラスタで実行するように構成できます。
RFC 1510で定義されているKerberosネットワーク認証サービスのバージョン5は、Hadoop環境でプリンシパルのアイデンティティを検証する手段を提供します。 Hadoopは、Kerberosを使用して、様々なコンポーネントおよびクライアント間での安全な通信を作成します。 Kerberosは認証メカニズムで、ユーザーがアクセスする必要があるユーザーとサービスが、相互に認証するためにKerberosサーバーに依存します。 Kerberosサーバーは、キー配布センター(KDC)と呼ばれます。 大まかには、次の3つの部分があります:
プリンシパルは、TGSからサービス・チケットを取得します。 サービス・チケットにより、プリンシパルは様々なHadoopサービスにアクセスできます。
これらのBDDコンポーネントはすべて、1つのプリンシパルとキータブを共有します。 認可サポートがないことに注意してください(つまり、これらのコンポーネントではユーザーの権限が検証されません)。
BDDコンポーネントは、bdd.conf
ファイルのENABLE_KERBEROS
パラメータを介して、インストール時にKerberosサポートに対して有効になります。 bdd.conf
ファイルには、Kerberosプリンシパルの名前を指定するパラメータや、Kerberos keytabファイルおよびKerberos構成ファイルへのパスもあります。 これらのパラメータの詳細は、「インストレーション・ガイド」を参照してください。
注意:
HadoopクラスタでSentryを許可に使用する場合、Hive表へのBDDアクセス権を付与するよう構成する必要があります。DPワークフローでのKerberosサポート
Kerberos認証のサポートにより、セキュアなHadoopクラスタでデータ処理ワークフローを実行できるようになります。 Kerberosのサポートには、edp.properties
構成ファイルのKerberosプロパティを介してDP CLIが含まれます。
bin
ディレクトリのspark-submit
スクリプトは、クラスタでDPアプリケーションを起動するために使用されます:
spark-submit
へのコールの前に、データ処理がローカル・キータブを使用してログインします。 spark-submit
プロセスでは、ジョブ発行時にデータ処理資格証明を取得して、YARNおよびSparkで認証します。
spark.yarn.access.namenodes
プロパティにリストされた名前ノードに対するHDFS委任トークンを取得し、これによりデータ処理ワークフローがHDFSにアクセスできるようになります。
Hive JDBC接続が使用されている場合、資格証明はHiveによる認証に使用されるため、サービスを使用できます。
DgraphおよびDgraph HDFSエージェントでのKerberosサポート
BDDでは、Dgraph HDFSエージェントは、HDFSに対してHDFSファイルの読取りおよび書込みを行うため、Hadoop HDFSのクライアントです。 DgraphデータベースがHDFSに格納されている場合は、DgraphでKerberosを有効にする必要もあります。
bdd.conf
プロパティが正しく設定されていることを確認してください:
KERBEROS_TICKET_REFRESH_INTERVAL
は、Dgraph Kerberosチケットがリフレッシュされる間隔(分単位)を指定します。
KERBEROS_TICKET_LIFETIME
は、Dgraph Kerberosチケットが有効な時間を設定します。
Kerberosサポート用のDgraphの設定手順については、「管理者ガイド」を参照してください。
krb5.conf
構成ファイルへのパスを指定します。
フラグ引数の値はインストール・スクリプトにより設定されます。
開始すると、Dgraph HDFSエージェントは指定されたプリンシパルとキータブでログインします。 ログインに成功すると、Dgraph HDFSエージェントはKerberos認証に合格し、正常に起動します。 それ以外の場合、HDFSエージェントを起動できません。