HDFS encryption: User:hdfs not allowed to do 'DECRYPT_EEK' on 'key1'

  • 环境:
    • Ambari 2.7.3 - - HDP 3.1.0
    • Hadoop 3.1.1
    • Ranger 1.1.0
    • RangerKMS 1.1.0
[root@managerhd ~]# su - hdfs

## 作为HDFS管理员,创建一个新的空目录
[hdfs@managerhd ~]$ hdfs dfs -mkdir /zone_encr

## 使用加密密钥,使目录成为加密区域,完成后,NameNode会将该文件夹/zone_encr识别为HDFS加密区域
[hdfs@managerhd ~]$ hdfs crypto -createZone -keyName key1 -path /zone_encr
Added encryption zone /zone_encr

## 查看加密区及密钥
[hdfs@managerhd ~]$ hdfs crypto -listZones
/zone_encr  key1

[hdfs@managerhd ~]$ hdfs dfs -put test.txt /zone_encr/
HDFS encryption: User:hdfs not allowed to do 'DECRYPT_EEK' on 'key1'

  • 问题:

    • hdfs 用户在 Rangerkms 中设置拥有此密钥的所有权限,包括解密 DECRYPT_EEK 权限,但是还是报:hdfs 用户没有 DECRYPT_EEK 权限 ??????
  • 分析:

    • 在 Ranger 中解密操作时,hdfs 用户被默认列入黑名单;

    • 这个黑名单可能覆盖了密钥的 DECRYPT_EEK 权限;

    • RangerKMS ⇒ CONFIGS ⇒ ADVANCED ⇒ Advanced dbks-site
      hadoop.kms.blacklist.DECRYPT_EEK=hdfs
      在这里插入图片描述

  • 解决:

    • 修改 hadoop.kms.blacklist.DECRYPT_EEK=hdfs 在 blacklist 黑名单中剔除 hdfs 用户;
    • 例如修改为:hadoop.kms.blacklist.DECRYPT_EEK=admin admin 用户;

参考:https://stackoverflow.com/questions/42649590/hdfs-encryption-userhdfs-not-allowed-to-do-decrypt-eek-on-hdfskey

发布了153 篇原创文章 · 获赞 122 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/Happy_Sunshine_Boy/article/details/105238697
今日推荐