[
https://issues.apache.org/jira/browse/AMBARI-8485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14267201#comment-14267201
]
Hudson commented on AMBARI-8485:
--------------------------------
SUCCESS: Integrated in Ambari-trunk-Commit #1413 (See
[https://builds.apache.org/job/Ambari-trunk-Commit/1413/])
AMBARI-8485. Hive service components should indicate security state (rlevas)
(rlevas:
http://git-wip-us.apache.org/repos/asf?p=ambari.git&a=commit&h=db3b306d828994af5e7bc5e4537261536f24e040)
* ambari-server/src/test/python/stacks/2.0.6/HIVE/test_webhcat_server.py
*
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_server.py
* ambari-server/src/test/python/stacks/2.1/HIVE/test_hive_metastore.py
*
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat.py
*
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/status_params.py
*
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/webhcat_server.py
* ambari-server/src/test/python/stacks/2.0.6/configs/secured.json
*
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params.py
* ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py
* ambari-server/src/main/resources/stacks/HDP/2.2/services/HIVE/kerberos.json
*
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_metastore.py
> 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
> Labels: hcatalog, hive, kerberos, metastore, mysql, security
> Fix For: 2.0.0
>
> Attachments: AMBARI-8485_01.patch, AMBARI-8485_02.patch
>
>
> 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.metastore.sasl.enabled"
> *** = "true"
> *** required
> ** hive.server2.authentication
> *** = “kerberos”
> *** required
> ** hive.security.authorization.enabled
> *** = “true”
> *** 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.metastore.sasl.enabled"
> *** = "true"
> *** required
> ** hive.server2.authentication
> *** = “kerberos”
> *** required
> ** hive.security.authorization.enabled
> *** = “true”
> *** required
> ** hive.server2.authentication.kerberos.principal
> *** not empty
> *** required
> ** hive.server2.authentication.kerberos.keytab
> *** not empty
> *** path exists and is readable
> *** required
> ** hive.server2.authentication.spnego.principal
> *** not empty
> *** required
> ** hive.server2.authentication.spnego.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.hive_client_conf_dir + ‘hive-site.xml’
> ** hive.metastore.sasl.enabled"
> *** = "true"
> *** required
> ** hive.server2.authentication
> *** = “kerberos”
> *** required
> ** hive.security.authorization.enabled
> *** = “true”
> *** required
> * 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. 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}
> _*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*_: {{kinit}} calls should specify a _temporary_ cache file which
> should be destroyed after command is executed - BUG-29477
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)