每日最新頭條.有趣資訊

CDP-DC中部署Knox

文檔編寫目的

Apache Knox網關(“ Knox”)是一種在不降低Hadoop安全性的情況下將ApacheHadoop服務的覆蓋範圍擴展到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

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的依賴項。

4) 分配角色

在“分配角色”頁面上,選擇依賴項的角色分配,然後單擊“繼續”:

*注意: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。

獲得更多的PTT最新消息
按讚加入粉絲團