HDFS保存データ暗号化

HDFS保存データ暗号化により、データを暗号化ゾーンと呼ばれる暗号化されたHDFSディレクトリに格納できます。暗号化ゾーン内のすべてのファイルは、クライアント側で透過的に暗号化および暗号化解除されます。つまり、暗号化解除されたデータがHDFSに格納されることはありません。

HadoopクラスタでHDFS保存データ暗号化が有効になっている場合は、BDDに対しても有効化する必要があります。これを行う前に、ご使用のシステムが次の要件を満たしていることを確認してください。
  • Hadoopクラスタにkey trustee KMSおよびkey trustee serverがインストールされ構成されている。HDFS保存データ暗号化の有効化の一部としてこれをすでに実行してある必要があります。
  • KerberosがHadoopとBDDの両方で有効になっている。これは必須ではありませんが強く推奨されていることを覚えておいてください。詳細は、Kerberosを参照してください。
  • TLS/SSLがHadoopとBDDの両方で有効になっている。これは必須ではありませんが強く推奨されていることを覚えておいてください。詳細は、TLS/SSLを参照してください。

BDDのためにHDFS保存データ暗号化を有効にするには、次の手順を実行します。

  1. BDDファイルのために、HDFS内の暗号化ゾーンを作成します。
    手順については、Hadoopディストリビューションのドキュメントを参照してください。
  2. bddユーザーに、暗号化キーおよび復号キーのためのGENERATE_EEKおよびDECRYPT_EEK権限を付与します。
    次のプロパティをKMSサービスのkms-acls.xmlファイルに追加することで、Cloudera Manager、AmbariまたはMCSにおいてこれを実行できます。これらを見つけるための助けが必要な場合、ディストリビューションのドキュメントを参照してください。
    <property>
        <name>key.acl.bdd_key.DECRYPT_EEK</name>
        <value>bdd,hdfs supergroup</value>
        <description>
            ACL for DECRYPT_EEK operations on key 'bdd_key'.
        </description>
    </property>
    <property>
        <name>key.acl.bdd_key.GENERATE_EEK</name>
        <value>bdd supergroup</value>
        <description>
            ACL for GENERATE_EEK operations on key 'bdd_key'.
        </description>
    </property>
    必ず、前述のコード内のbddbddユーザーの名前に置き換えてください。
    また、hdfsユーザーがDECRYPT_EEKプロパティの値に含まれていることに注意してください。これは、DgraphデータベースをHDFSに格納している場合に必要となりますが、そうでない場合には省略できます。詳細は、HDFS NFS Gatewayサービスのインストールを参照してください。