将以下内容添加到每个REST网关的hbase-site.xml文件中:
<code>
<
property
><
name
>hbase.rest.keytab.filename
><
value
>$KEYTABvalue
>property
><
property
><
name
>hbase.rest.kerberos.principalname
><
value
>$USER/_HOST@HADOOP.LOCALDOMAINvalue
>property
>/<code>分别为$ USER和$ KEYTAB替换适当的凭证和密钥表。
REST网关将使用提供的凭证对HBase进行身份验证。
为了使用REST API主体与HBase进行交互,还需要将hbase.rest.kerberos.principal添加到该acl表中。例如,要赋予REST API主体、rest_server、管理访问权限,像以下的命令就足够了:
<code>
grant
'rest_server'
,'RWCA'
/<code>HBase REST网关支持SPNEGO HTTP身份验证,以便客户端访问网关。要为客户端访问启用REST网关Kerberos身份验证,请将以下内容添加到每个REST网关的hbase-site.xml文件中:
<code>
<
property
><
name
>hbase.rest.support.proxyusername
><
value
>truevalue
>property
<
property
><
name
>hbase.rest.authentication.typename
><
value
>kerberosvalue
>property
><
property
><
name
>hbase.rest.authentication.kerberos.principalname
><
value
>HTTP/_HOST@HADOOP.LOCALDOMAINvalue
>property
>
property
><
name
>hbase.rest.authentication.kerberos.keytabname
><
value
>$KEYTABvalue
>property
><
property
><
name
>hbase.rest.dns.interfacename
><
value
>defaultvalue
>property
><
property
><
name
>hbase.rest.dns.nameservername
><
value
>defaultvalue
>property
>/<code>用$ KEYTAB替代HTTP的keytab 。
HBase REST网关支持不同的'hbase.rest.authentication.type':simple、kerberos。您也可以通过实现Hadoop AuthenticationHandler来实现自定义身份验证,然后将完整的类名称指定为'hbase.rest.authentication.type'值。