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/30 12:10:12 UTC

[jira] [Created] (AMBARI-8485) Hive service components should indicate security state

Robert Levas created AMBARI-8485:
------------------------------------

             Summary: Hive service components should indicate security state
                 Key: AMBARI-8485
                 URL: https://issues.apache.org/jira/browse/AMBARI-8485
             Project: Ambari
          Issue Type: Improvement
          Components: ambari-server, stacks
    Affects Versions: 2.0.0
            Reporter: Robert Levas
            Assignee: Robert Levas
             Fix For: 2.0.0


The Hive service components should indicate security state when queried by Ambari Agent via STATUS_COMMAND.  Each component should determine it's state as follows:

h3. HIVE_METASTORE
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled'] 
*** = “true”
* Configuration File: params.hive_client_conf_dir + ‘hive-site.xml’
** hive.server2.authentication
*** = “kerberos”
*** required
** hive.metastore.kerberos.principal
*** not empty
*** required
** hive.metastore.kerberos.keytab.file
*** not empty
*** path exists and is readable
*** required

h4. Pseudocode
{code}
if indicators imply security is on and validate
    if kinit(have metastore principal) succeeds
        state = SECURED_KERBEROS
    else
        state = ERROR 
else
    state = UNSECURED
{code}

h3. HIVE_SERVER
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled'] 
*** = “true”
* Configuration File: params.hive_client_conf_dir + ‘hive-site.xml’
** hive.server2.authentication
*** = “kerberos”
*** required
** hive.server2.authentication.kerberos.principal
*** not empty
*** required
** hive.server2.authentication.kerberos.keytab
*** not empty
*** path exists and is readable
*** required

h4. Pseudocode
{code}
if indicators imply security is on and validate
    if kinit(hive server principal) succeeds
        state = SECURED_KERBEROS
    else
        state = ERROR 
else
    state = UNSECURED
{code}

h3. WEBHCAT_SERVER
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled'] 
*** = “true”
* Configuration File: params.config_dir + ‘webhcat-site.xml’
** templeton.kerberos.secret
*** = “secret”
*** required
** templeton.kerberos.principal
*** not empty
*** required
** templeton.kerberos.keytab
*** not empty
*** path exists and is readable
*** required

h4. Pseudocode
{code}
if indicators imply security is on and validate
    if kinit(webhcat server principal) succeeds
        state = SECURED_KERBEROS
    else
        state = ERROR 
else
    state = UNSECURED
{code}

h3. MYSQL_SERVER
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled'] 
*** = “true”

h4. Pseudocode
{code}
if indicators imply security is on and validate
    state = SECURED_KERBEROS
else
    state = UNSECURED
{code}

h3. HIVE_CLIENT
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled'] 
*** = “true”

h4. Pseudocode
{code}
if indicators imply security is on and validate
    state = SECURED_KERBEROS
else
    state = UNSECURED
{code}

h3. HCAT
h4. Indicators
* Command JSON
** config\['configurations']\['cluster-env']\['security_enabled'] 
*** = “true”

h4. Pseudocode
{code} 
if indicators imply security is on and validate
    state = SECURED_KERBEROS
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.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)