99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

HBase:可見性標簽

2018-04-27 15:04 更新

HBase:可見性標簽

可見性標簽控件可用于僅允許與給定標簽關(guān)聯(lián)的用戶或主體讀取或訪問具有該標簽的單元格。例如,您可以標記一個單元格top-secret,并且只將該標簽的訪問權(quán)授予該managers組??梢娦詷撕炇鞘褂脴撕瀸崿F(xiàn)的,標簽是HFile v3的一個功能,并允許您以每個單元為基礎存儲元數(shù)據(jù)。標簽是一個字符串,可以使用邏輯運算符(&,|或?。撕灲M合為表達式,并使用圓括號進行分組。HBase不能對表達式進行任何形式的驗證,除了基本的良好格式??梢娦詷撕灡旧頉]有意義,可以用來表示敏感度級別、特權(quán)級別或任何其他任意的語義含義。

如果用戶的標簽與單元格的標簽或表達式不匹配,則拒絕用戶訪問該單元格。

在HBase 0.98.6及更高版本中,可見性標簽和表達式支持UTF-8編碼。當使用org.apache.hadoop.hbase.security.visibility.VisibilityClient類提供的addLabels(conf, labels)方法創(chuàng)建標簽并通過掃描或獲取在授權(quán)中傳遞標簽時,標簽可以包含UTF-8字符,以及可見標簽中通常使用的邏輯運算符以及常規(guī)Java符號,而不需要任何轉(zhuǎn)義方法。但是,當通過Mutation傳遞CellVisibility表達式時,如果使用UTF-8字符或邏輯運算符,則必須將該表達式與該CellVisibility.quote()方法一起放入。請參閱TestExpressionParser和源文件hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestScan.java。

用戶在Put操作期間向單元添加可見性表達式。在默認配置中,用戶不需要訪問標簽就可以用它來標記單元格。此行為由配置選項hbase.security.visibility.mutations.checkauths控制。如果您設置此選項為true,則用戶正在修改的標簽必須與用戶關(guān)聯(lián),否則修改將失敗。在獲取或掃描期間確定用戶是否有權(quán)讀取標記的單元格,并且不允許用戶讀取的結(jié)果被過濾掉。這會導致相同的I/O處罰,如同返回結(jié)果一樣,但會減少網(wǎng)絡負載。

可見性標簽也可以在刪除操作中指定。有關(guān)可見性標簽和刪除的詳細信息,請參閱HBASE-10885。

當RegionServer首次收到請求時,將在RPC上下文中生成用戶的有效標簽集。用戶與標簽關(guān)聯(lián)的方式是可插入的。默認插件通過添加到獲取或掃描的授權(quán)中指定的標簽,并檢查針對主叫用戶的已認證標簽列表的標簽。當客戶端傳遞用戶未通過身份驗證的標簽時,默認插件會刪除它們。您可以通過Get#setAuthorizations(Authorizations(String,…?))和Scan#setAuthorizations(Authorizations(String,…?));方法傳遞用戶經(jīng)過身份驗證的標簽的子集。

可以按照與用戶相同的方式向組授予可見性標簽。組前綴為符號@。當檢查用戶的可見性標簽時,服務器將包括用戶所屬的組的可見性標簽以及用戶自己的標簽。當使用API VisibilityClient#getAuths或Shell命令get_auths為用戶檢索可見性標簽時,我們將返回專門為該用戶添加的標簽,而不是組級標簽。

可見性標簽訪問檢查由VisibilityController協(xié)處理器執(zhí)行。您可以使用VisibilityLabelService接口來提供自定義實現(xiàn)或控制可見性標簽與單元格一起存儲的方式。請參閱源文件hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithCustomVisLabService.java。

可見性標簽可以與ACL一起使用,需要注意以下幾點:

  • 標簽必須在可見標簽中使用之前明確定義。請參閱下面的示例來了解如何完成此操作。
  • 目前沒有辦法確定哪些標簽已應用于單元格。有關(guān)詳細信息,請參閱HBASE-12470。
  • 可見性標簽目前不適用于超級用戶(superusers)。

可見性表達式的示例

表達式 解釋
fulltime

允許訪問與fulltime標簽關(guān)聯(lián)的用戶。

!public

允許訪問不與public標簽關(guān)聯(lián)的用戶。

( secret | topsecret ) & !probationary

允許訪問與secret標簽或topsecret標簽相關(guān)聯(lián)的用戶,而不與probationary  標簽關(guān)聯(lián)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號