Details

    • Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: security
    • Labels:
      None

      Description

      Like Thrift, the REST gateway is not currently integrated into the authentication used for HBase RPC. Currently this means the REST gateway cannot even be used when HBase security is active.

      For the REST gateway to be able to interoperate with HBase security:

      1. the REST server needs to be able to login from a keytab on startup with its own server principal
      2. REST clients need to be able to authenticate security with the REST server
      3. the REST server needs to be able to act as a trusted proxy for the original client identities, so that the HBase authorization checks can be performed against the original client request

      Like Thrift, implementing step #1 as a bare minimum would at least allow deploying a REST server configured to login as the application user on startup. Even without authenticating REST clients, this would allow the gateway to work when HBase security is active.

      For step #2, we can make use of SPNEGO to provide Kerberos/GSSAPI authentication of clients over HTTP. The Alfredo library from Cloudera would hopefully make this relatively easy to do:
      http://cloudera.github.com/alfredo/docs/latest/index.html

      1. HBASE-4100.patch
        3 kB
        Gary Helmling

        Issue Links

          Activity

          Hide
          Gary Helmling added a comment -

          This patch implements step #1 for the REST server, allowing it to login from a keytab file on startup. The patch depends on a new method in the Strings class added in HBASE-4099.

          Like the HBASE-4099 patch, this change is necessary for a REST server to work correctly with the SecureRpcEngine from HBASE-2742, when using Kerberos authentication.

          Show
          Gary Helmling added a comment - This patch implements step #1 for the REST server, allowing it to login from a keytab file on startup. The patch depends on a new method in the Strings class added in HBASE-4099 . Like the HBASE-4099 patch, this change is necessary for a REST server to work correctly with the SecureRpcEngine from HBASE-2742 , when using Kerberos authentication.
          Hide
          Andrew Purtell added a comment -

          +1

          Show
          Andrew Purtell added a comment - +1
          Hide
          Lars Hofhansl added a comment -

          What's the status. Can this still be committed?

          Show
          Lars Hofhansl added a comment - What's the status. Can this still be committed?
          Hide
          Gary Helmling added a comment -

          Change was applied as part of HBASE-5062 by stack.

          Show
          Gary Helmling added a comment - Change was applied as part of HBASE-5062 by stack.

            People

            • Assignee:
              stack
              Reporter:
              Gary Helmling
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development