Kerberos

Kerberosネットワーク認証プロトコルでは、セキュリティ対策が施されていないネットワーク上で通信している場合であっても、クライアント/サーバー・アプリケーションで安全な方法で互いを識別できます。

Kerberos用語では、個々のアプリケーションはプリンシパルと呼ばれます。各プリンシパルにはキータブ・ファイルがあり、これにはそのキーまたはパスワードが含まれています。あるプリンシパルが別のプリンシパルと通信するときには、それは、そのキータブ・ファイルを認証のために提示し、その名前およびキーが認識された場合にのみ他のプリンシパルへのアクセス権が付与されます。キータブ・ファイルは強力な暗号化を使用して保護されているため、このプロセスは、セキュリティで保護されていないネットワーク上でも機能します。

BDDを、Hadoopとの通信にKerberos認証を使用するよう構成できます。これは、KerberosがすでにHadoopクラスタで有効になっている場合に必要となり、一般には、本番環境の場合にお薦めします。BDDでは、Kerberos 5+との統合がサポートされています。
注意: この手順では、すでにHadoopクラスタでKerberosが有効になっていることが前提となります。

Kerberosを有効にするには、次の手順を実行します。

  1. 次のディレクトリをHDFSに作成します。
    • /user/<bdd user>、ここで、<bdd user>bddユーザーの名前です。
    • /user/<HDFS_DP_USER_DIR>(ここでの<HDFS_DP_USER_DIR>は、BDDの構成ファイルのHDFS_DP_USER_DIRの値です)。
    両方のディレクトリの所有者はbddユーザーであり、グループはsupergroupである必要があります。
  2. bddユーザーをhiveグループに追加します。
  3. bddユーザーをすべてのBDDノード上のhdfsグループに追加します。
  4. BDDプリンシパルを作成します。
    プライマリ・コンポーネントはbddユーザーの名前である必要があります。レルムはデフォルト・レルムである必要があります。
  5. BDDプリンシパルのキータブ・ファイルを生成して、インストール・マシンにコピーします。
    このファイルの名前および場所は任意です。インストーラでは、それをbdd.keytabという名前に変更し、すべてのBDDノードにコピーします。
  6. krb5.confファイルをHadoopノードのいずれかからインストール・マシンにコピーします。
    それを配置する場所は任意です。インストーラでは、それをすべてのBDDノード上の/etcにコピーします。
  7. kinitおよびkdestroyユーティリティをすべてのBDDノードにインストールします。
  8. HDPがある場合は、core-site.xml内のhadoop.proxyuser.hive.groupsプロパティを*に設定します。
    これはAmbariで行うことができます。

BDDのインストール後に、手動で変換サービスのためにKerberosを構成する必要もあります。手順については、変換サービスのためのKerberosの有効化を参照してください。