0 / 0
資料の 英語版 に戻る
アプリケーションによる鍵の管理
最終更新: 2024年10月07日
アプリケーションによる鍵の管理

このトピックでは、アプリケーションで列の暗号鍵を管理する方法について説明します。 マスター鍵を指定する方法と、それらのマスター鍵を使用して暗号化データの書き込み/読み取りを行う方法について説明します。

マスター鍵の指定

マスター鍵を指定するには、次のようにします。

  1. 明示的なマスター鍵を、以下の形式で渡します。

    parameter name: "encryption.key.list"
    parameter value: "<master key ID>:<master key (base64)> , <master key ID>:<master key (base64)>.."
    

    次に例を示します。

    sc.hadoopConfiguration.set("encryption.key.list" , "k1:iKwfmI5rDf7HwVBcqeNE6w== , k2:LjxH/aXxMduX6IQcwQgOlw== , k3:rnZHCxhUHr79Y6zvQnxSEQ==")
    

    Base64 でエンコードする前のマスター鍵の長さは、16、24 または 32 バイト (128、192 または 256 ビット) にすることができます。

暗号化データの書き込み

暗号化データを書き込むには、次のようにします。

  1. 暗号化する列と、使用するマスター鍵を指定します。

    parameter name:  "encryption.column.keys"
    parameter value: "<master key ID>:<column>,<column>;<master key ID>:<column> .."
    
  2. フッター鍵を指定します。

    parameter name:  "encryption.footer.key"
    parameter value:  "<master key ID>"
    

    次に例を示します。

    dataFrame.write
    .option("encryption.footer.key" , "k1")
    .option("encryption.column.keys" , "k2:SSN,Address;k3:CreditCard")
    .parquet("<path to encrypted files>")
    
    注: ` "「/path/to/my_table.parquet.encrypted」のように、URL にストリング「.encrypted」が含まれている必要があります。 「encryption.column.keys」パラメーターまたは「encryption.footer.key」パラメーターのいずれかが設定されていない場合、例外がスローされます。

暗号化データの読み取り

必要なメタデータは、暗号化された Parquet ファイルに格納されています。

暗号化データを読み取るには、次のようにします。

  1. 暗号鍵を指定します。

    sc.hadoopConfiguration.set("encryption.key.list" , "k1:iKwfmI5rDf7HwVBcqeNE6w== , k2:LjxH/aXxMduX6IQcwQgOlw== , k3:rnZHCxhUHr79Y6zvQnxSEQ==")
    
  2. 次のように、通常の Parquet の read コマンドを呼び出します。

    val dataFrame = spark.read.parquet("<path to encrypted files>")
    
    注: ` "「/path/to/my_table.parquet.encrypted」のように、URL にストリング「.encrypted」が含まれている必要があります。

親トピック: Parquet 暗号化

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細