前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CDP-DC中部署Knox

CDP-DC中部署Knox

作者头像
大数据杂货铺
发布2020-07-07 10:08:53
3K0
发布2020-07-07 10:08:53
举报
文章被收录于专栏:大数据杂货铺大数据杂货铺

文档编写目的

Apache Knox网关(“ Knox”)是一种在不降低Hadoop安全性的情况下将Apache™Hadoop®服务的覆盖范围扩展到Hadoop群集之外的用户的系统。Knox还为访问群集数据和执行作业的用户简化了Hadoop安全性。Knox网关被设计为反向代理。

本文主要介绍如何在CDP-DC集群上安装部署Knox。

内容概述

1) Knox功能概述

2) CDP-DC集群上部署Knox

3) Knox功能演示

测试环境

1) CM和Cloudera Runtime版本为7.1.1

2) Redhat7.7

3) 拥有Cloudera Manager的管理员账号

4) 集群已启用Kerberos,CM和Ranger已经配置了LDAP认证

Knox功能概述

CDP数据中心群集的防御层

身份验证:Kerberos

CDP使用Kerberos进行身份验证。Kerberos是一种行业标准,用于对Hadoop集群中的用户和资源进行身份验证。CDP还包括Cloudera Manager,可简化Kerberos的设置、配置和维护。

外围层级安全性:Apache Knox

Apache Knox网关用于帮助确保CDP客户的外围安全。使用Knox,企业可以放心地将Hadoop REST API扩展到没有Kerberos复杂性的新用户,同时还可以保持对企业安全策略的遵从性。Knox为Hadoop REST API提供了一个中央网关,这些API具有不同程度的授权,身份验证,SSL和SSO功能,以为Hadoop提供单个访问点。

授权:Ranger

操作系统安全性:数据加密和HDFS

Apache Knox网关概述

Apache Knox网关(反向代理)的概念概述。

总览

Knox与企业中使用的身份管理和SSO系统集成,并允许将这些系统中的身份用于访问Hadoop集群。

Knox网关为多个Hadoop集群提供安全性,具有以下优点:

• 简化访问:通过将Kerberos封装到集群中来扩展Hadoop的REST / HTTP服务。

• 增强安全性:在不公开网络细节的情况下公开Hadoop的REST / HTTP服务,提供现成的SSL。

• 集中控制:集中实施REST API安全,将请求路由到多个Hadoop集群。

• 企业集成:支持LDAP、Active Directory、SSO、SAML和其他身份验证系统。

典型的安全流程:防火墙,通过Knox网关路由

Knox可以与不安全的Hadoop群集和Kerberos安全的群集一起使用。在采用Kerberos安全群集的企业解决方案中,Apache Knox网关提供了企业安全解决方案,该解决方案:

• 与企业身份管理解决方案完美集成

• 保护Hadoop群集部署的详细信息(主机和端口对最终用户隐藏)

• 简化客户端需要与之交互的服务数量

Knox网关部署架构

外部访问Hadoop的用户可以通过Knox,Apache REST API或Hadoop CLI工具进行访问。

Knox支持的服务矩阵

一个支持矩阵,显示Apache Knox对Kerberized和Non-Kerberized集群支持的代理和SSO服务。

Table 1. Knox Supported Components

Component

SSO

Proxy (API)

Proxy (UI)

Cloudera Manager

Ambari Metrics/Grafana

Atlas

HBase

✓1

HDFS

Hive (via JDBC)

Hive (via WebHCat)

Livy

Log Search

MapReduce2

Oozie

Ranger

✓2

✓3

SmartSense

Spark 2/Spark History Server

WebHCat/Templeton

WebHDFS

YARN

Zeppelin

Apache Knox

本文档提供有关如何使用Cloudera Data Platform数据中心安装过程部署Apache Knox的说明。

Apache Knox是用于与REST API和UI进行交互的应用程序网关。Knox网关为Cloudera Data Platform集群中的所有REST和HTTP交互提供了单个访问点。

安装Knox时,必须在群集上启用Kerberos。

安装步骤

1)添加服务

从您的Cloudera Manager主页,转到状态选项卡> 群集名称> ... > 添加服务

2) 添加Knox服务

从服务列表中,选择“ knox”,然后单击“ 继续”。

3) 添加依赖项

在“选择依赖项”页面上,选择要Knox设置的依赖项:

HDFS,Ranger,Solr,Zookeeper

对于需要Apache Ranger进行授权的用户。带Ranger的HDFS。HDFS取决于Zookeeper,而Ranger取决于Solr。

HDFS,Zookeeper

HDFS取决于Zookeeper。

没有可选的依赖

对于不希望将Knox与HDFS或Ranger集成的用户。

这里选择对HDFS/Ranger/Solr/Zookeeper的依赖项。

4) 分配角色

在“分配角色”页面上,选择依赖项的角色分配,然后单击“继续”:

Knox服务角色

描述

是否必须?

Knox Gateway

如果安装了Knox,则应至少安装此角色的一个实例。该角色代表Knox网关,该网关为与Apache Hadoop集群的所有REST和HTTP交互提供单个访问点。

必须

KnoxIDBroker *

强烈建议将此角色安装在其自己的专用主机上。顾名思义,该角色将使您能够利用Knox的Identity Broker功能,这是一种身份联合解决方案,可以将群集身份验证交换为临时云凭据。*

可选的*

网关

此角色随CSD框架一起提供。网关结构用于描述安装了网关角色的每个主机上服务的客户端配置。

可选的

*注意:KnoxIDBroker显示在“分配角色”页面中,但CDP-DC当前不支持它。

我们这里先只选择Knox Gateway角色。

5) 参数配置

在“查看更改”页面上,大多数默认值都是可接受的,但是您必须启用Kerberos身份验证并提供Knox主密钥。在“ Knox安装角色参数”中列出了可以指定或更改的其他参数。

a) 单击启用Kerberos身份验证

启用Knox时需要Kerberos。

b) 提供Knox admin的密码,例如BadPass#1

c) 点击继续。

6)查看命令详细信息

“命令详细信息”页面显示了操作状态。完成后,系统管理员可以在stdout下查看安装日志。

回到Cloudera Manager主页,查看Knox服务

使用Apache Knox Gateway UI

可以通过Knox网关UI配置Knox代理。要设置代理,您将首先定义提供者配置和描述符,然后将基于这些设置自动生成拓扑。

登录到网关UI时,Knox期望可以登录操作系统的用户。

Cloudera Manager创建您需要的大多数拓扑。您可以使用Knox Gateway UI创建其他拓扑或修改现有拓扑。

以下步骤显示了如何设置Knox代理的基本工作流程。它涉及到定义提供程序配置和描述符,这些配置程序和描述符用于生成拓扑,可以定义代理(除其他事项外)。您还可以通过手动配置各个拓扑文件来手动设置Knox代理。

步骤

从Cloudera Manager导航到Knox Gateway UI:Cloudera Manager > 集群> Knox > Knox Gateway UI。

将打开Knox Gateway UI,例如 https://ip-10-0-0-214.ap-southeast-1.compute.internal:8443/gateway/homepage/home

登录到网关UI。

使用前面配置页面中设置的密码,提升密码错误。

这是因为开启了LDAP的缘故。

使用admin的LDAP账户登录成功。

可以展开cdp-proxy,看到已经默认配置的proxy

点击配置的proxy,会SSO登录到对应的页面,例如Yarn ResourceManager Web UI V2和Cloudera Manager Admin Console

接着我们使用另外一个LDAP用户superuser登录Knox

从Knox页面上,目前看不到是哪个用户登录的。

点击配置的proxy,会SSO登录到对应的页面,例如Cloudera Manager Admin Console和Ranger。

Ranger退出当前superuser,使用admin用户登录,查看ranger的登录审计记录:

可以看到有Proxy方式登陆的,有用户密码方式登陆的。

如果需要通过API方式使用SSO,可以展开cdp-proxy-api

如果需要去knox的管理员页面配置信息,则通过Admin UI URL挑战到对应的admin UI页面:

在admin UI中可以配置Provider/Descriptors/Service Definitions等信息。

总结

1.通过Knox设置的SSO,可以对外只保留一个端口,减少了网络端口暴露带来的风险。

2.如果CDP-DC集群已经启用LDAP,则Knox需要使用LDAP的用户登录。

3.Knox依赖Kerberos,在部署Knox时需先启用Kerberos。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档