云服务器内容精选

  • 操作场景 Ranger管理员可通过Ranger为Spark2x用户进行相关的权限设置。 Spark2x开启或关闭Ranger鉴权后,需要重启Spark2x服务。 需要重新下载客户端,或手动刷新客户端配置文件“客户端安装目录/Spark2x/spark/conf/spark-defaults.conf”: 开启Ranger鉴权:spark.ranger.plugin.authorization.enable=true,同时需要修改参数“spark.sql.authorization.enabled”值为“true”。 关闭Ranger鉴权:spark.ranger.plugin.authorization.enable=false Spark2x中,spark-beeline(即连接到JDBCServer的应用)支持Ranger的IP过滤策略(即Ranger权限策略中的Policy Conditions),spark-submit与spark-sql不支持。
  • Hive数据脱敏 Ranger支持对Hive数据进行脱敏处理(Data Masking),可对用户执行的select操作的返回结果进行处理,以屏蔽敏感信息。 登录Ranger WebUI界面,在首页中单击“HADOOP SQL”区域的“Hive” 在“Masking”页签单击“Add New Policy”,添加Hive权限控制策略。 根据业务需求配置相关参数。 表3 Hive数据脱敏参数 参数名称 描述 Policy Name 策略名称,可自定义,不能与本服务内其他策略名称重复。 Policy Conditions IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:192.168.1.10,192.168.1.20或者192.168.1.*。 Policy Label 为当前策略指定一个标签,您可以根据这些标签搜索报告和筛选策略。 Hive Database 配置当前策略适用的Hive中数据库名称。 Hive Table 配置当前策略适用的Hive中的表名称。 Hive Column 可添加列名。 Description 策略描述信息。 Audit Logging 是否审计此策略。 Mask Conditions 在“Select Role”、“Select Group”、“Select User”列选择已创建好的需要授予权限的对象,单击“Add Conditions”,添加策略适用的IP地址范围,然后在单击“Add Permissions”,勾选“select”权限。 单击“Select Masking Option”,选择数据脱敏时的处理策略: Redact:用x屏蔽所有字母字符,用0屏蔽所有数字字符。 Partial mask: show last 4:只显示最后的4个字符,其他用x代替。 Partial mask: show first 4:只显示开始的4个字符,其他用x代替。 Hash:用值的哈希值替换原值,采用的是hive的内置mask_hash函数,只对string、char、varchar类型的字段生效,其他类型的字段会返回NULL值。 Nullify:用NULL值替换原值。 Unmasked(retain original value):原样显示。 Date: show only year:仅显示日期字符串的年份部分,并将月份和日期默认为01/01。 Custom:可使用任何有效返回与被屏蔽的列中的数据类型相同的数据类型来自定义策略。 如需添加多列的脱敏策略,可单击按钮添加。 单击“Add”,在策略列表可查看策略的基本信息。 用户通过Hive客户端对配置了数据脱敏策略的表执行select操作,系统将对数据进行处理后进行展示。 处理数据需要用户同时具有向Yarn队列提交任务的权限。
  • Ranger用户类型 Ranger中的用户可分为Admin、User、Auditor等类型,不同用户具有的Ranger管理界面查看和操作权限不同。 Admin:Ranger安全管理员,可查看Ranger所有管理页面内容,进行服务权限管理插件及权限访问控制策略的管理操作,可查看审计信息内容,可进行用户类型设置。 Auditor:Ranger审计管理员,可查看服务权限管理插件及权限访问控制策略的内容。 User:普通用户,可以被Ranger管理员赋予具体权限。
  • 操作步骤 使用Ranger管理员用户rangeradmin登录Ranger管理页面,具体操作可参考登录Ranger管理界面。 在首页中单击“KAFKA”区域的组件插件名称如“Kafka”。 单击“Add New Policy”,添加Kafka权限控制策略。 根据业务需求配置相关参数。 表1 Kafka权限参数 参数名称 描述 Policy Type Access。 Policy Conditions IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:192.168.1.10,192.168.1.20或者192.168.1.*。 Policy Name 策略名称,可自定义,不能与本服务内其他策略名称重复。 Policy Label 为当前策略指定一个标签,您可以根据这些标签搜索报告和筛选策略。 topic 配置当前策略适用的topic名,可以填写多个值。这里支持通配符,例如:test、test*、*。 “Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。 Description 策略描述信息。 Audit Logging 是否审计此策略。 Allow Conditions 策略允许条件,配置本策略内允许的权限及例外,例外条件优先级高于正常条件。 在“Select Role”、“Select Group”、“Select User”列选择已创建好的需要授予权限的Role、用户组或用户。 单击“Add Conditions”,添加策略适用的IP地址范围,单击“Add Permissions”,添加对应权限。 Publish:生产权限。 Consume:消费权限。 Describe:查询权限。 Create: 创建主题权限。 Delete: 删除主题权限。 Describe Configs:查询配置权限。 Alter:修改topic的partition数量的权限。 Alter Configs:修改配置权限。 Select/Deselect All:全选/取消全选。 如需添加多条权限控制规则,可单击按钮添加。 如需当前条件中的用户或用户组管理本条策略,可勾选“Delegate Admin”,这些用户将成为受委托的管理员。被委托的管理员可以更新、删除本策略,它还可以基于原始策略创建子策略。 Deny Conditions 策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类型,拒绝条件的优先级高于“Allow Conditions”中配置的允许条件。 例如为用户“testuser”添加“test”主题的生产权限,配置如下: 图1 Kafka权限参数 表2 设置权限 任务场景 角色授权操作 设置Kafka管理员权限 在首页中单击“KAFKA”区域的组件插件名称,例如“Kafka”。 选择“Policy Name”为“all - topic”的策略,单击按钮编辑策略。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Select/Deselect All”。 设置用户对Topic的创建权限 在“topic”配置Topic名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Create”。 说明: 目前Kafka内核支持"--zookeeper"和"--bootstrap-server"两种方式创建Topic,社区将会在后续的版本中删掉对"--zookeeper"的支持,所以建议用户使用"--bootstrap-server"的方式创建Topic。 注意:目前Kafka只支持"--bootstrap-server"方式创建Topic行为的鉴权,不支持对"--zookeeper"方式的鉴权 设置用户对Topic的删除权限 在“topic”配置Topic名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Delete”。 说明: 目前Kafka内核支持"--zookeeper"和"--bootstrap-server"两种方式删除Topic,社区将会在后续的版本中删掉对"--zookeeper"的支持,所以建议用户使用"--bootstrap-server"的方式删除Topic。 注意:目前Kafka只支持对"--bootstrap-server"方式删除Topic行为的鉴权,不支持对"--zookeeper"方式的鉴权 设置用户对Topic的查询权限 在“topic”配置Topic名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Describe”和“Describe Configs”。 说明: 目前Kafka内核支持"--zookeeper"和"--bootstrap-server"两种方式查询Topic,社区将会在后续的版本中删掉对"--zookeeper"的支持,所以建议用户使用"--bootstrap-server"的方式查询Topic。 注意:目前Kafka只支持对"--bootstrap-server"方式查询Topic行为的鉴权,不支持对"--zookeeper"方式的鉴权 设置用户对Topic的生产权限 在“topic”配置Topic名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Publish”。 设置用户对Topic的消费权限 在“topic”配置Topic名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Consume”。 说明: 因为消费Topic时,涉及到Offset的管理操作,必须同时开启ConsumerGroup的“Consume”权限,详见“设置用户对ConsumerGroup Offsets 的提交权限” 设置用户对Topic的扩容权限(增加分区) 在“topic”配置Topic名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Alter”。 设置用户对Topic的配置修改权限 当前Kafka内核暂不支持基于“--bootstrap-server”的Topic参数修改行为,故当前Ranger不支持对此行为的鉴权操作。 设置用户对Cluster的所有管理权限 在“cluster”右侧输入并选择集群名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Kafka Admin”。 设置用户对Cluster的创建权限 在首页中单击“KAFKA”区域的组件插件名称,例如“Kafka”。 选择“Policy Name”为“all - cluster”的策略,单击按钮编辑策略。 在“cluster”右侧输入并选择集群名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Create”。 说明: 对于Cluster的Create操作鉴权主要涉及以下两个场景: 集群开启了“auto.create.topics.enable”参数后,客户端向服务的还未创建的Topic发送数据的场景,此时会判断用户是否有集群的Create权限 对于用户创建大量Topic的场景,如果授予用户Cluster Create权限,那么该用户可以在集群内部创建任意Topic 设置用户对Cluster的配置修改权限 在“cluster”右侧输入并选择集群名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Alter Configs”。 说明: 此处的配置修改权限,指的是Broker、Broker Logger的配置权限。 当授予用户配置修改权限后,即使不授予配置查询权限也可查询配置详情(配置修改权限高于且包含配置查询权限)。 设置用户对Cluster的配置查询权限 在“cluster”右侧输入并选择集群名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Describe”和 “Describe Configs”。 说明: 此处查询指的是查询集群内的Broker、Broker Logger信息。该查询不涉及Topic。 设置用户对Cluster的Idempotent Write权限 在“cluster”右侧输入并选择集群名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Idempotent Write”。 说明: 此权限会对用户客户端的Idempotent Produce行为进行鉴权。 设置用户对Cluster的分区迁移权限管理 在“cluster”右侧输入并选择集群名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Alter”。 说明: Cluster的Alter权限可以对以下三种场景进行权限控制: Partition Reassign场景下,迁移副本的存储目录。 集群里各分区内部leader选举。 Acl管理(添加或删除)。 其中1和2都是集群内部Controller与Broker间、Broker与Broker间的操作,创建集群时,默认授予内置kafka用户此权限,普通用户授予此权限没有意义。 3涉及Acl的管理,Acl设计的就是用于鉴权,由于目前kafka鉴权已全部托管给Ranger,所以这个场景也基本不涉及(配置后亦不生效)。 设置用户对Cluster的Cluster Action权限 在“cluster”右侧输入并选择集群名。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Cluster Action”。 说明: 此权限主要对集群内部副本主从同步、节点间通信进行控制,在集群创建时已经授权给内置kakfa用户,普通用户授予此权限没有意义。 设置用户对TransactionalId的权限 在首页中单击“KAFKA”区域的组件插件名称,例如“Kafka”。 选择“Policy Name”为“all - transactionalid”的策略,单击按钮编辑策略。 在“transactionalid”配置事务ID。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Publish”和 "Describe"。 说明: “Publish”权限主要对用户开启了事务特性的客户端请求进行鉴权,例如事务开启、结束、提交offset、事务性数据生产等行为。 “Describe”权限主要对于开启事务特性的客户端与Coordinator的请求进行鉴权。 建议在开启事务特性的场景下,给用户同时授予“Publish”和“Describe”权限。 设置用户对DelegationToken的权限 在首页中单击“KAFKA”区域的组件插件名称,例如“Kafka”。 选择“Policy Name”为“all - delegationtoken”的策略,单击按钮编辑策略。 在“delegationtoken”配置delegationtoken。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“ Describe”。 说明: 当前Ranger对DelegationToken的鉴权控制仅限于对查询的权限控制,不支持对DelegationToken的create、renew、expire操作的权限控制。 设置用户对ConsumerGroup Offsets 的查询权限 在首页中单击“KAFKA”区域的组件插件名称,例如“Kafka”。 选择“Policy Name”为“all - consumergroup”的策略,单击按钮编辑策略。 在“consumergroup”配置需要管理的consumergroup。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Describe”。 设置用户对ConsumerGroup Offsets 的提交权限 在首页中单击“KAFKA”区域的组件插件名称,例如“Kafka”。 选择“Policy Name”为“all - consumergroup”的策略,单击按钮编辑策略。 在“consumergroup”配置需要管理的consumergroup。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Consume”。 说明: 当给用户授予了ConsumerGroup的“Consume”权限后,用户会同时被授予“Describe”权限。 设置用户对ConsumerGroup Offsets 的删除权限 在首页中单击“KAFKA”区域的组件插件名称,例如“Kafka”。 选择“Policy Name”为“all - consumergroup”的策略,单击按钮编辑策略。 在“consumergroup”配置需要管理的consumergroup。 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。 单击“Add Permissions”,勾选“Delete”。 说明: 当给用户授予了ConsumerGroup的“Delete”权限后,用户会同时被授予“Describe”权限。 (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击按钮添加。如需删除策略有效期,可单击按钮删除。 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。 如需禁用某条策略,可单击按钮编辑策略,设置策略开关为“Disabled”。 如果不再使用策略,可单击按钮删除策略。
  • 查看Ranger审计信息内容 使用Ranger管理员用户rangeradmin登录Ranger管理页面,具体操作可参考登录Ranger管理界面。 单击“Audit”,查看相关审计信息,各页签内容说明请参考表1,条目较多时,单击搜索框可根据关键字字段进行筛选。 表1 Audit信息 页签 内容描述 Access 当前MRS不支持在线查看组件资源的审计日志信息,可登录组件安装节点,进入“/var/log/Bigdata/audit”目录下查看各组件的审计日志。 Admin Ranger上操作审计信息,例如安全访问策略的创建/更新/删除、组件权限策略的创建/删除、role的创建/更新/删除等。 Login Sessions 登录Ranger的用户会话审计信息。 Plugins Ranger内组件权限策略信息。 Plugin Status 各组件节点权限策略的同步审计信息。 User Sync Ranger与LDAP用户同步审计信息。