ApacheはHBase 0.98をリリースした。セルベースのセキュリティを通じてApache Accumuloとの共通化を計ると同時に,230以上のJIRAイシューを解決することを主な目的としている。新たに導入されたセキュリティ機能は,Accumuloをモデルとしたものだ。
HBaseとAccumuloは,ともにApacheのプロジェクトである。いずれもApache Hadoopを稼働するGoogleのBigTableインフラストラクチャをモデルとして,分散型のデータストアを提供する。
セルはHBaseの最小ユニットで,キーを使用してアドレスすることができる。これまでのバージョンでは,セルのアクセス権は列ファミリから継承するようになっていた。そのパーミッションは,さらにテーブルから継承する構造だった。
同様のデータモデルを採用するAccumuloは,一般的なACL(Access Control List)とは違うものの,さらに詳細なセルベースのセキュリティモデルを備えている。Accumuloのキーはラベルから構成され,セルレベルにおける異なるデータ部分へのアクセスに対して,非常に詳細な判断を可能にしている。この方式により,ラベルの内容の参照を通じて,同じデータに対する複数の情報アクセスレベルを設定することができるのだ。
HBase 0.98は,イシューHBASE-8496とHBASE-7663に対処している。セルベースセキュリティの実装にはタグを採用した。タグには任意のメタデータを格納することができる。これによってACLセキュリティモデルをテーブルからカラムファミリ,セルに拡張することが可能になる。さらにタグには,可視性の定義を格納することもできる。さまざまな情報単位へのアクセスに対して,Accumuloのセルと同程度の詳細レベルを提供することが可能だ。
APIの面からは,以下のようなコールを行うことで,セルにuser1のアクセス権を設定することができる。
put.setACL(“user1”, new Permission(Permission.Action.READ))
Intelの主席アーキテクトで,HBaseに長く貢献しているAndrew Purtell氏は,“Apache HBase 0.98のリリースは,エンドユーザの観点によるいくつかのセキュリティ機能を収束したものです。”と述べている。“HBaseではこれまで,ACLをサポートしてきました。今回のリリースではAccumuloスタイルの可視性ラベルもサポートすることで,ユーザに対して,両プロジェクトの機能のスーパーセットを提供します。” Purtell氏によるリリースのプログラム管理については,氏のセルベースのセキュリティに関するブログに概要が紹介されている。