You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Robert Levas (JIRA)" <ji...@apache.org> on 2014/11/29 12:31:12 UTC
[jira] [Updated] (AMBARI-8482) HBase service components should
indicate security state
[ https://issues.apache.org/jira/browse/AMBARI-8482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Robert Levas updated AMBARI-8482:
---------------------------------
Description:
The HBase service components should indicate security state when queried by Ambari Agent via STATUS_COMMAND. Each component should determine it's state as follows:
h3. HBASE_MASTER
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled']
*** = “true”
* Configuration File: params.hbase_conf_dir + ‘/hbase-site.xml’
** hbase.security.authentication
*** = “kerberos”
*** required
** hbase.security.authorization
*** = “true”
*** required
** hbase.master.keytab.file
*** not empty
*** path exists and is readable
*** required
** hbase.master.kerberos.principal
*** not empty
*** required
h4. Pseudocode
{code}
if indicators imply security is on and validate
if kinit(hbase master principal) succeeds
state = SECURED_KERBEROS
else
state = ERROR
else
state = UNSECURED
{code}
h3. HBASE_REGIONSERVER
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled']
*** = “true”
* Configuration File: params.hbase_conf_dir + ‘hbase-site.xml’
** hbase.security.authentication
*** = “kerberos”
*** required
** hbase.security.authorization
*** = “true”
*** required
** hbase.regionserver.keytab.file
*** not empty
*** path exists and is readable
*** required
** hbase.regionserver.kerberos.principal
*** not empty
*** required
h4. Pseudocode
{code}
if indicators imply security is on and validate
if kinit(hbase region server principal) succeeds
state = SECURED_KERBEROS
else
state = ERROR
else
state = UNSECURED
{code}
h3. HBASE_CLIENT
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled']
*** = “true”
* Configuration File: params.hbase_conf_dir + ‘hbase-site.xml’
** hbase.security.authentication
*** = “kerberos”
*** required
** hbase.thrift.keytab.file
*** not empty
*** path exists and is readable
*** required, if _rest_ credentials are not set
** hbase.thrift.kerberos.principal
*** not empty
*** required, if _rest_ credentials are not set
** hbase.rest.keytab.file
*** not empty
*** path exists and is readable
*** required, if _thrift_ credentials are not set
** hbase.rest.kerberos.principal
*** not empty
*** required, if _thrift_ credentials are not set
h4. Pseudocode
{code}
if indicators imply security is on and validate
if kinit(hbase rest|thrift principal) succeeds
state = SECURED_KERBEROS
else
state = ERROR
else
state = UNSECURED
{code}
_*Note*_: Due to the _cost_ of calling {{kinit}} results should be cached for a period of time before retrying. This may be an issue depending on the frequency of the heartbeat timeout.
_*Note*_: There may be additional work related to _REST gateway impersonation_
was:
The HBase service components should indicate security state when queried by Ambari Agent via STATUS_COMMAND. Each component should determine it's state as follows:
h3. HBASE_MASTER
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled']
*** = “true”
* Configuration File: params.hbase_conf_dir + ‘hbase-site.xml’
** hbase.security.authentication
*** = “kerberos”
*** required
** hbase.security.authorization
*** = “true”
*** required
** hbase.master.keytab.file
*** not empty
*** path exists and is readable
*** required
** hbase.master.kerberos.principal
*** not empty
*** required
h4. Pseudocode
{code}
if indicators imply security is on and validate
if kinit(hbase master principal) succeeds
state = SECURED_KERBEROS
else
state = ERROR
else
state = UNSECURED
{code}
h3. HBASE_REGIONSERVER
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled']
*** = “true”
* Configuration File: params.hbase_conf_dir + ‘hbase-site.xml’
** hbase.security.authentication
*** = “kerberos”
*** required
** hbase.security.authorization
*** = “true”
*** required
** hbase.regionserver.keytab.file
*** not empty
*** path exists and is readable
*** required
** hbase.regionserver.kerberos.principal
*** not empty
*** required
h4. Pseudocode
{code}
if indicators imply security is on and validate
if kinit(hbase region server principal) succeeds
state = SECURED_KERBEROS
else
state = ERROR
else
state = UNSECURED
{code}
h3. HBASE_CLIENT
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled']
*** = “true”
* Configuration File: params.hbase_conf_dir + ‘hbase-site.xml’
** hbase.security.authentication
*** = “kerberos”
*** required
** hbase.thrift.keytab.file
*** not empty
*** path exists and is readable
*** required, if _rest_ credentials are not set
** hbase.thrift.kerberos.principal
*** not empty
*** required, if _rest_ credentials are not set
** hbase.rest.keytab.file
*** not empty
*** path exists and is readable
*** required, if _thrift_ credentials are not set
** hbase.rest.kerberos.principal
*** not empty
*** required, if _thrift_ credentials are not set
h4. Pseudocode
{code}
if indicators imply security is on and validate
if kinit(hbase rest|thrift principal) succeeds
state = SECURED_KERBEROS
else
state = ERROR
else
state = UNSECURED
{code}
_*Note*_: Due to the _cost_ of calling {{kinit}} results should be cached for a period of time before retrying. This may be an issue depending on the frequency of the heartbeat timeout.
_*Note*_: There may be additional work related to _REST gateway impersonation_
> HBase service components should indicate security state
> -------------------------------------------------------
>
> Key: AMBARI-8482
> URL: https://issues.apache.org/jira/browse/AMBARI-8482
> Project: Ambari
> Issue Type: Improvement
> Components: ambari-server, stacks
> Affects Versions: 2.0.0
> Reporter: Robert Levas
> Assignee: Robert Levas
> Labels: hbase, kerberos, security
> Fix For: 2.0.0
>
>
> The HBase service components should indicate security state when queried by Ambari Agent via STATUS_COMMAND. Each component should determine it's state as follows:
> h3. HBASE_MASTER
> h4. Indicators
> * Command JSON
> ** config\['configurations']\['cluster-env']\['security_enabled']
> *** = “true”
> * Configuration File: params.hbase_conf_dir + ‘/hbase-site.xml’
> ** hbase.security.authentication
> *** = “kerberos”
> *** required
> ** hbase.security.authorization
> *** = “true”
> *** required
> ** hbase.master.keytab.file
> *** not empty
> *** path exists and is readable
> *** required
> ** hbase.master.kerberos.principal
> *** not empty
> *** required
> h4. Pseudocode
> {code}
> if indicators imply security is on and validate
> if kinit(hbase master principal) succeeds
> state = SECURED_KERBEROS
> else
> state = ERROR
> else
> state = UNSECURED
> {code}
> h3. HBASE_REGIONSERVER
> h4. Indicators
> * Command JSON
> ** config\['configurations']\['cluster-env']\['security_enabled']
> *** = “true”
> * Configuration File: params.hbase_conf_dir + ‘hbase-site.xml’
> ** hbase.security.authentication
> *** = “kerberos”
> *** required
> ** hbase.security.authorization
> *** = “true”
> *** required
> ** hbase.regionserver.keytab.file
> *** not empty
> *** path exists and is readable
> *** required
> ** hbase.regionserver.kerberos.principal
> *** not empty
> *** required
> h4. Pseudocode
> {code}
> if indicators imply security is on and validate
> if kinit(hbase region server principal) succeeds
> state = SECURED_KERBEROS
> else
> state = ERROR
> else
> state = UNSECURED
> {code}
> h3. HBASE_CLIENT
> h4. Indicators
> * Command JSON
> ** config\['configurations']\['cluster-env']\['security_enabled']
> *** = “true”
> * Configuration File: params.hbase_conf_dir + ‘hbase-site.xml’
> ** hbase.security.authentication
> *** = “kerberos”
> *** required
> ** hbase.thrift.keytab.file
> *** not empty
> *** path exists and is readable
> *** required, if _rest_ credentials are not set
> ** hbase.thrift.kerberos.principal
> *** not empty
> *** required, if _rest_ credentials are not set
> ** hbase.rest.keytab.file
> *** not empty
> *** path exists and is readable
> *** required, if _thrift_ credentials are not set
> ** hbase.rest.kerberos.principal
> *** not empty
> *** required, if _thrift_ credentials are not set
> h4. Pseudocode
> {code}
> if indicators imply security is on and validate
> if kinit(hbase rest|thrift principal) succeeds
> state = SECURED_KERBEROS
> else
> state = ERROR
> else
> state = UNSECURED
> {code}
> _*Note*_: Due to the _cost_ of calling {{kinit}} results should be cached for a period of time before retrying. This may be an issue depending on the frequency of the heartbeat timeout.
> _*Note*_: There may be additional work related to _REST gateway impersonation_
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)