更新时间:2024-11-29 GMT+08:00

密钥管理

操作场景

安装KMS服务并对接第三方KMS后,HDFS服务即可使用透明加密功能。

用户可创建密钥后,对HDFS分区进行加密。

前提条件

  • 已安装KMS服务,且服务正常运行。
  • 已创建具有key管理权限的用户,例如“user1”
  • 已安装集群客户端,例如安装目录为“/opt/kmsclient”。
  • 如果要创建HDFS加密分区,需要安装HDFS客户端,例如安装目录为“/opt/hdfsclient”,并且已创建具有HDFS操作权限和key管理权限的用户为“hdfstestuser”。

操作步骤

  1. 登录集群客户端,进入客户端安装目录。

    cd /opt/kmsclient

  2. 导入客户端环境变量,然后执行kinit命令进行用户认证。

    source bigdata_env

    kinit user1

  3. 执行以下命令,创建key。

    hadoop key create <key_name> [-cipher <cipher>] [-size <size>]

    • key_name:密钥名称。
    • cipher:加密算法(可选),默认为“AES/CTR/NoPadding”,可指定为“SM4/CTR/NoPadding”
    • size:密钥长度(可选),默认为128。“AES/CTR/NoPadding”加密算法支持128位和256位密钥,“SM4/CTR/NoPadding”只支持128位密钥。

    例如:

    hadoop key create key1 -cipher SM4/CTR/NoPadding

  4. 密钥创建后,用户可通过HDFS客户端创建HDFS加密分区,分区创建后,存入该分区的数据将会加密存储。

    cd /opt/hdfsclient

    source bigdata_env

    kinit hdfstestuser

    hdfs dfs -mkdir 分区目录 //创建新的分区目录

    hdfs crypto -createZone -keyName key_name -path 分区目录 //加密分区

    hdfs crypto -listZones //查看加密分区

    例如:

    hdfs dfs -mkdir /secure

    hdfs crypto -createZone -keyName key1 -path /secure

其他命令

可执行hadoop key -help命令获取更多命令参数描述。