使用RangerKMS原生UI管理权限及密钥
操作场景
KMS服务安装成功后,用户需要通过FusionInsight Manager创建用户并关联KeyAdmin角色,使该用户具有Key管理权限,进行密钥的管理以及对HDFS分区进行加密。
RangerKMS的UI界面首次使用可以通过rangerkms、keyadmin用户登录。默认场景下keyadmin用户只有key管理权限无操作权限。而rangerkms用户既有key管理权限同时拥有key操作权限。
前提条件
- 已安装Ranger服务且服务运行正常。
- 创建人机用户,可以不用添加权限。
为用户添加KeyAdmin角色
- 使用admin用户登录FusionInsight Manager,选择“集群 > 服务 > Ranger”,进入Ranger服务概览页面。
- 单击“基本信息”区域中的“RangerAdmin”,进入Ranger WebUI界面。
- 在Ranger WebUI界面,单击右上角用户名,选择“Log Out”,退出当前用户。
- 使用rangerkms或者keyadmin用户重新登录,首次登录需要修改用户密码。
用户及默认密码请咨询MRS集群管理员。
- 选择“Settings > Users”,在“User Name”列单击需要赋予KeyAdmin角色权限的用户。
- 在“Select Role”中选择KeyAdmin,在弹窗中单击“ok”。
- 单击“save”,用户添加KeyAdmin角色完成。
key的权限管理
- 使用rangerkms、keyadmin或具有KeyAdmin角色的用户登录Ranger UI。
- 在Access Manager界面单击“kmsdev”。
- 单击右上角的“Add New Policy”按钮可以添加新的策略。
- 根据业务需求配置相关参数。
表1 Add New Policy参数配置 参数名称
描述
Policy Type
Access
Policy Name
策略名称,必填配置。
Policy Label
策略标签,用于对策略进行分类。
Key Name
Key名称,及KMS中存储的EZK名称;该条策略就会对配置的Key生效,另外填*表示所有的key。
Description
描述策略的内容。
Audit Logging
是否开启审计。
Allow Conditions
允许策略,可以对选择的用户、用户组或者角色配置相应的权限。包括
- Create:创建Key
- Delete:删除key
- Rollover:更新key
- Set Key Material:设置密钥密文
- Get:读取某个key
- Get keys:读取所有key (策略中配置的key)
- Get Metadata:获取key的元信息
- Generate EEK:生成EEK
- Decrypt EEK:解密EEK
Exclude from Allow Conditions:配置允许条件之外的例外规则。
Deny All Other Accesses
是否拒绝其它所有访问。
- True:拒绝其它所有访问
- False:设置为False,可配置Deny Conditions。
Deny Conditions
策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类似。
拒绝条件的优先级高于“Allow Conditions”中配置的允许条件。
Exclude from Deny Conditions:配置排除在拒绝条件之外的例外规则。
- 单击“Add”,策略添加完成。该策略中对应的角色、用户组或者用户具有策略中Key相关权限。
原生UI管理密钥
- 使用rangerkms或者keyadmin用户登录Ranger管理界面。
- 单击“Encryption”,进入key管理界面。
- 在“Select Service”下拉列表中选择kmsdev服务。
- 单击右侧的“Add New Key”按钮创建新的密钥。
表2 Add New Key参数描述 参数名称
描述
Key Name
密钥名称。
Cipher
加密算法,默认AES/CTR/NoPadding,不能修改。
Length
密钥长度,128或者256
Description
描述密钥的内容。
Attributes
密钥自定义属性,无需添加。
- 单击图中按钮可以更新密钥。
- 单击图表可以删除密钥。
普通集群权限管理
- 登录Manager界面,进入“集群 > 服务 > Ranger > 配置 > RangerKMS > 自定义”。
- 在参数文件为dbks-site.xml行添加配置:
hadoop.kms.security.authorization.manager值为空。
- 保存配置,重启RangerKMS。
- 如果需要Key的管理权限需要将用户加入rkmsadmin组。