權限機制
更新時間 2023-05-30 21:13:56
最近更新時間: 2023-05-30 21:13:56
分享文章
本章節主要介紹權限機制。
FusionInsight采用LDAP存儲用戶和用戶組的數據;角色的定義信息保存在關系數據庫中,角色和權限的對應關系則保存在組件側。
FusionInsight使用Kerberos進行統一認證。
用戶權限校驗流程大致如下:
- 客戶端(用戶終端或FusionInsight組件服務)調用FusionInsight認證接口。
- FusionInsight使用登錄用戶名和密碼,到Kerberos進行認證。
- 如果認證成功,客戶端會發起訪問服務端(FusionInsight組件服務)的請求。
- 服務端會根據登錄的用戶,找到其屬于的用戶組和角色。
- 服務端獲得用戶組擁有的所有權限和角色擁有的所有權限的并集。
- 服務端判斷客戶端是否有權限訪問其請求的資源。
示例場景(RBAC ):
HDFS中有三個文件fileA、fileB、fileC。
-
定義角色roleA對fileA有讀和寫權限,角色roleB對fileB有讀權限。
-
定義groupA屬于roleA;groupB屬于roleB。
-
定義userA屬于groupA和roleB,userB屬于GroupB。
當userA登錄成功并訪問HDFS時:
- HDFS獲得useA屬于的所有角色(roleB)。
- HDFS同時還會獲得userA屬于的所有用戶組所屬于的角色(roleA)。
- 此時,userA擁有roleA和roleB對應權限的并集。
- 因此對于fileA,則userA有讀寫權限;對fileB,有讀權限;對于fileC,無任何權限。
同理userB登錄后:
- userB只擁有roleB對應的權限。
- 對于fileA,則userB無權限;對fileB,有讀權限;對于fileC,無任何權限。