Go to file
Mate Szalay-Beko 9fe62c3ec6
HBASE-25181 Add options for disabling column family encryption and choosing hash algorithm for wrapped encryption keys.
Prior to this patch hbase always used the MD5 hash algorithm to store a hash for encryption keys.
This hash is needed to verify the secret key of the subject. (e.g. making
sure that the same secrey key is used during encrypted HFile read and write).
The MD5 algorithm is considered weak, and can not be used in some
(e.g. FIPS compliant) clusters.

In this patch we:
- add a config parameter to globally enable/disable column family encryption (def enabled)
- introduce a backward compatible way of specifying the hash algorithm.
  This enable us to use newer and more secure hash algorithms like SHA-384
  or SHA-512 (which are FIPS compliant).
- add a config parameter to fail if an hfile is encountered that uses a
  different hash algorithm than the one currently configured to ease validation after
  migrating key hash algorithms (def disabled)

Closes #2539

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Esteban Gutierrez <esteban@apache.org>
(cherry picked from commit 6a5c928539)
2020-11-09 14:15:22 -06:00
.idea HBASE-23707 Add IntelliJ check style plugin configuration (#1064) (#1092) 2020-01-27 10:45:27 -08:00
bin HBASE-14067 bundle ruby files for hbase shell into a jar. 2020-10-13 16:29:55 -05:00
conf HBASE-24343 Document how to configure the http request log 2020-05-29 16:59:35 -07:00
dev-support HBASE-25228 Delete dev-support/jenkins_precommit_jira_yetus.sh (#2611) 2020-11-02 13:18:57 -08:00
hbase-annotations HBASE-24013 Bump branch-2 version to 2.4.0-SNAPSHOT (#1309) 2020-03-19 08:01:43 -07:00
hbase-archetypes HBASE-24309 Avoid introducing log4j and slf4j-log4j dependencies for … (#1697) 2020-05-13 17:59:21 +08:00
hbase-assembly HBASE-14067 bundle ruby files for hbase shell into a jar. 2020-10-13 16:29:55 -05:00
hbase-asyncfs HBASE-24912 Enlarge MemstoreFlusherChore/CompactionChecker period for unit test (#2285) 2020-08-21 12:42:11 +08:00
hbase-build-configuration HBASE-24013 Bump branch-2 version to 2.4.0-SNAPSHOT (#1309) 2020-03-19 08:01:43 -07:00
hbase-checkstyle HBASE-24013 Bump branch-2 version to 2.4.0-SNAPSHOT (#1309) 2020-03-19 08:01:43 -07:00
hbase-client HBASE-25181 Add options for disabling column family encryption and choosing hash algorithm for wrapped encryption keys. 2020-11-09 14:15:22 -06:00
hbase-common HBASE-25181 Add options for disabling column family encryption and choosing hash algorithm for wrapped encryption keys. 2020-11-09 14:15:22 -06:00
hbase-endpoint HBASE-24912 Enlarge MemstoreFlusherChore/CompactionChecker period for unit test (#2285) 2020-08-21 12:42:11 +08:00
hbase-examples HBASE-25037 Lots of thread pool are changed to non daemon after HBASE-24750 which causes trouble when shutting down (#2407) 2020-09-16 22:03:42 +08:00
hbase-external-blockcache HBASE-24013 Bump branch-2 version to 2.4.0-SNAPSHOT (#1309) 2020-03-19 08:01:43 -07:00
hbase-hadoop-compat HBASE-25189 [Metrics] Add checkAndPut and checkAndDelete latency metrics at table level (#2549) 2020-10-25 17:47:58 +08:00
hbase-hadoop2-compat HBASE-25189 [Metrics] Add checkAndPut and checkAndDelete latency metrics at table level (#2549) 2020-10-25 17:47:58 +08:00
hbase-hbtop HBASE-24776 [hbtop] Support Batch mode (#2291) 2020-09-11 10:04:01 +09:00
hbase-http HBASE-24054 To be safe, jetty's version number should be blocked. 2020-10-05 17:37:21 -07:00
hbase-it HBASE-25164 Make ModifyTableProcedure support changing meta replica count (#2513) 2020-10-13 10:13:48 +08:00
hbase-logging HBASE-24309 Avoid introducing log4j and slf4j-log4j dependencies for … (#1697) 2020-05-13 17:59:21 +08:00
hbase-mapreduce HBASE-24859: Optimize in-memory representation of HBase map reduce table splits (#2610) 2020-11-03 07:40:25 -08:00
hbase-metrics HBASE-24663 Add procedure process time statistics UI (#2035) 2020-07-10 15:05:57 +08:00
hbase-metrics-api HBASE-24309 Avoid introducing log4j and slf4j-log4j dependencies for … (#1697) 2020-05-13 17:59:21 +08:00
hbase-procedure HBASE-25048 [HBCK2] Bypassed parent procedures are not updated in store (#2410) 2020-10-04 21:40:26 -07:00
hbase-protocol HBASE-24404 Support flush a single column family of region (#2098) 2020-07-31 09:31:14 +01:00
hbase-protocol-shaded HBASE-25181 Add options for disabling column family encryption and choosing hash algorithm for wrapped encryption keys. 2020-11-09 14:15:22 -06:00
hbase-replication HBASE-25067 Edit of log messages around async WAL Replication; checkstyle fixes; and a bugfix 2020-09-22 10:13:03 -07:00
hbase-resource-bundle HBASE-23834 HBase fails to run on Hadoop 3.3.0/3.2.2/3.1.4 due to jetty version mismatch (#2222) 2020-08-25 15:02:55 +08:00
hbase-rest HBASE-24667 Rename configs that support atypical DNS set ups to put them in hbase.unsafe 2020-11-09 12:41:04 +05:30
hbase-rsgroup HBASE-25093 the RSGroupBasedLoadBalancer#retainAssignment throws NPE (#2534) 2020-10-13 21:25:09 +08:00
hbase-server HBASE-25181 Add options for disabling column family encryption and choosing hash algorithm for wrapped encryption keys. 2020-11-09 14:15:22 -06:00
hbase-shaded HBASE-23834 HBase fails to run on Hadoop 3.3.0/3.2.2/3.1.4 due to jetty version mismatch (#2222) 2020-08-25 15:02:55 +08:00
hbase-shell HBASE-14067 bundle ruby files for hbase shell into a jar. 2020-10-13 16:29:55 -05:00
hbase-testing-util HBASE-24309 Avoid introducing log4j and slf4j-log4j dependencies for … (#1697) 2020-05-13 17:59:21 +08:00
hbase-thrift HBASE-24875 Remove the force param for unassign since it dose not take effect any more (#2254) 2020-10-13 16:29:03 -05:00
hbase-zookeeper HBASE-25103 Remove ZNodePaths.metaReplicaZNodes (#2464) 2020-09-29 15:51:06 +08:00
src HBASE-25169 Update documentation about meta region replica (#2528) 2020-10-13 10:14:05 +08:00
.editorconfig HBASE-23767 Add JDK11 compilation and unit test support to Github precommit 2020-03-05 13:59:01 -08:00
.gitattributes HBASE-6816. [WINDOWS] line endings on checkout for .sh files 2013-01-23 19:30:14 +00:00
.gitignore HBASE-24271 Set values in `conf/hbase-site.xml` that enable running on `LocalFileSystem` out of the box 2020-05-14 14:05:40 -07:00
.pylintrc HBASE-21712 : Make submit-patch.py python3 compatible 2019-01-16 09:28:25 +01:00
.rubocop.yml HBASE-23943 Updated Rubocop configuration to current version 2020-03-18 11:48:36 +01:00
CHANGES.md HBASE-24162 Move CHANGES.txt to CHANGES.md. Add RELEASENOTES.md too on branch-2, branch-2.3, and master 2020-04-10 14:41:02 -07:00
LICENSE.txt HBASE-18548 Move sources of website gen and check jobs into source control 2017-12-19 23:40:46 +08:00
NOTICE.txt HBASE-24417 update copyright notices year to 2020 (#1760) 2020-05-25 13:00:27 +08:00
README.txt HBASE-18548 Move sources of website gen and check jobs into source control 2017-12-19 23:40:46 +08:00
RELEASENOTES.md HBASE-24162 Move CHANGES.txt to CHANGES.md. Add RELEASENOTES.md too on branch-2, branch-2.3, and master 2020-04-10 14:41:02 -07:00
pom.xml HBASE-23959 Fix javadoc for JDK11 (#2500) 2020-10-07 21:44:26 -07:00

README.txt

Apache HBase [1] is an open-source, distributed, versioned, column-oriented
store modeled after Google' Bigtable: A Distributed Storage System for
Structured Data by Chang et al.[2]  Just as Bigtable leverages the distributed
data storage provided by the Google File System, HBase provides Bigtable-like
capabilities on top of Apache Hadoop [3].

To get started using HBase, the full documentation for this release can be
found under the doc/ directory that accompanies this README.  Using a browser,
open the docs/index.html to view the project home page (or browse to [1]).
The hbase 'book' at http://hbase.apache.org/book.html has a 'quick start'
section and is where you should being your exploration of the hbase project.

The latest HBase can be downloaded from an Apache Mirror [4].

The source code can be found at [5]

The HBase issue tracker is at [6]

Apache HBase is made available under the Apache License, version 2.0 [7]

The HBase mailing lists and archives are listed here [8].

The HBase distribution includes cryptographic software. See the export control
notice here [9].

1. http://hbase.apache.org
2. http://research.google.com/archive/bigtable.html
3. http://hadoop.apache.org
4. http://www.apache.org/dyn/closer.cgi/hbase/
5. https://hbase.apache.org/source-repository.html
6. https://hbase.apache.org/issue-tracking.html
7. http://hbase.apache.org/license.html
8. http://hbase.apache.org/mail-lists.html
9. https://hbase.apache.org/export_control.html