中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kerberos安全工件是什么

發布時間:2021-11-18 09:28:59 來源:億速云 閱讀:115 作者:iii 欄目:大數據

本篇內容介紹了“Kerberos安全工件是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Kerberos principal
每個需要對Kerberos進行身份驗證的用戶和服務都需要一個   principal  ,即一個實體,該實體在可能有多個Kerberos服務器和相關子系統的上下文中唯一標識該用戶或服務。principal最多包含三段標識信息,以用戶名或服務名(稱為“  主  ”  )開頭 。通常,principal的主要部分由操作系統中的用戶帳戶名組成,例如   jcarlos  用于用戶的Unix帳戶或   hdfs  與主機基礎集群節點上的服務守護程序相關聯的Linux帳戶。  
用戶的principal通常僅由主要名稱和Kerberos  領域名稱組成。領域是與相同的密鑰分發中心(KDC)關聯的principal的邏輯分組,該密鑰分發中心配置有許多相同的屬性,例如受支持的加密算法。大型組織可以使用領域將管理委派給特定用戶或功能組的各個組或團隊,并在多個服務器之間分配身份驗證處理任務。
標準做法是使用組織的域名作為Kerberos領域名稱(所有大寫字符),以輕松地將其區分為Kerberos principal的一部分,如以下用戶principal模式所示:
username@REALM.EXAMPLE.COM
主要名稱和領域名稱的組合可以將一個用戶與另一個用戶區分開。例如,   jcarlos@SOME-REALM.EXAMPLE.COM  并且   jcarlos@ANOTHER-REALM.EXAMPLE.COM  可能是同一組織內的唯一個人。
對于  服務角色實例標識  ,主要名稱是  Hadoop  守護程序(hdfs  , mapred  等)使用的  Unix  帳戶名,后跟一個  實例  名稱,該名稱標識運行該服務的特定主機。例如,   hdfs/hostname.fqdn.example.com@SOME-REALM.EXAMPLE.COM     是  HDFS  服務實例的  principal  的示例。正斜杠(  /  )使用以下基本模式分隔主要名稱和實例名稱:
service-name/hostname.fqdn.example.com@REALM.EXAMPLE.COM
Hadoop Web服務接口所需的HTTP principal為其主要節點沒有Unix本地帳戶,而是   HTTP。
實例名稱還可以標識具有特殊角色的用戶,例如管理員。例如,principal  jcarlos@SOME-REALM.COM和principal   jcarlos/admin@SOME-REALM.COM各自具有自己的密碼和特權,并且它們可以是或不是同一個人。
例如,在具有每個地理位置領域的組織中的集群上運行的HDFS服務角色實例的principal可能如下:
hdfs/hostname.fqdn.example.com@OAKLAND.EXAMPLE.COM
通常,服務名稱是給定服務角色實例使用的Unix帳戶名稱,例如   hdfs或  mapred,如上所示。用于確保對Hadoop服務Web界面進行Web身份驗證的HTTP principal沒有Unix帳戶,因此該principal的principal是   HTTP。
 
Kerberos Keytab
Keytab是包含principal和用于主要的所述加密密鑰的文件。Hadoop守護程序的Keytab文件對于每個主機都是唯一的,因為principal名稱包括主機名。該文件用于在主機上向Kerberos認證principal,而無需人工干預或將密碼存儲在純文本文件中。由于有權訪問principal的keytab文件允許其充當該principal,因此應嚴格保護對keytab文件的訪問。
它們應由最少的一組用戶讀取,應存儲在本地磁盤上,并且不應包含在主機備份中,除非對這些備份的訪問與對本地主機的訪問一樣安全。

委托令牌
Hadoop集群中的用戶使用其Kerberos憑據向NameNode進行身份驗證。但是,一旦用戶通過身份驗證,隨后還必須檢查每個提交的作業,以確保它來自經過身份驗證的用戶。由于在提交的作業和執行的作業之間可能存在時間間隙,在此期間用戶可能已經注銷,因此,將使用將來可用于身份驗證的委托令牌將用戶憑據傳遞給NameNode。
委托令牌是與NameNode共享的秘密密鑰,可用于模擬用戶以執行作業。雖然可以更新這些令牌,但是只有客戶端使用Kerberos憑據對NameNode進行身份驗證時,才能獲取新令牌。默認情況下,委托令牌僅在一天內有效。但是,由于作業可以持續一天以上,因此每個令牌都將NodeManager指定為  續訂者,允許該代理每天續訂一次委派令牌,直到作業完成為止,或者最長為7天。作業完成后,NodeManager請求NameNode取消委托令牌。
令牌格式
NameNode使用隨機數  masterKey生成委托令牌。所有有效令牌均以其到期日期(  maxDate)存儲在內存中。委托令牌可以在當前時間超過到期日期時過期,也可以被令牌所有者取消。過期或取消的令牌隨后從內存中刪除。在  sequenceNumber 用作用于令牌的唯一ID。以下部分描述了如何使用委托令牌進行身份驗證。
TokenID = {ownerID, renewerID, issueDate, maxDate, sequenceNumber}
TokenAuthenticator = HMAC-SHA1(masterKey, TokenID)
Delegation Token = {TokenID, TokenAuthenticator}
 
認證過程
為了開始身份驗證過程,客戶端首先將TokenID發送到NameNode。NameNode使用此TokenID和   masterKey再次生成相應的TokenAuthenticator,從而生成委托令牌。如果NameNode發現令牌已經在內存中,并且當前時間小于到期日期(  maxDate),則該令牌被視為有效。如果有效,則客戶端和NameNode將通過使用它們擁有的TokenAuthenticator作為密鑰,并使用MD5作為協議來相互認證。由于客戶端和NameNode在此過程中實際上并不交換TokenAuthenticators,因此即使身份驗證失敗,也不會破壞令牌。
 
令牌續訂
授權令牌必須由指定的續訂者(  renewerID)定期續訂。例如,如果NodeManager是指定的續訂者,則NodeManager將首先向NameNode進行身份驗證。然后,它將要認證的令牌發送到NameNode。在續訂令牌之前,NameNode會驗證以下信息:
? 請求續訂的NodeManager與令牌中由標識的節點管理器相同的  renewerID。
? 由NameNode使用  TokenID 和生成的TokenAuthenticator與NameNode  masterKey先前存儲的TokenAuthenticator匹配。
? 當前時間必須小于所指定的時間   maxDate。
如果令牌續訂請求成功,則NameNode將新的到期日期設置為  min(current    time+renew   period,    maxDate  )。如果NameNode隨時重新啟動,它將失去內存中所有先前的令牌。在這種情況下,令牌將再次保存到內存中,這次具有新的到期日期。因此,指定的續訂者必須在重啟后和重新啟動任何失敗的任務之前,使用NameNode更新所有令牌。
只要當前時間不超過指定的續訂者,也可以恢復已過期或已取消的令牌   maxDate。NameNode無法區分令牌已取消或已過期,以及由于重新啟動而從內存中刪除的令牌之間的區別,因為只有   masterKey持久性存在于內存中。將   masterKey必須定期更新。

“Kerberos安全工件是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

华池县| 姚安县| 九寨沟县| 柘荣县| 商水县| 南乐县| 富阳市| 永和县| 日喀则市| 湟源县| 无为县| 门源| 广水市| 文成县| 宣汉县| 任丘市| 胶州市| 驻马店市| 噶尔县| 云龙县| 前郭尔| 车致| 密山市| 梁山县| 凤城市| 靖州| 阿克| 吉隆县| 城口县| 柳州市| 长泰县| 永清县| 乐山市| 高邮市| 安西县| 齐河县| 沧源| 巢湖市| 绵阳市| 铁岭县| 长顺县|